jre:Java运行环境 jdk:Java开发工具(包含jre) java两大机制:JVM (java虚拟机) 垃圾回收 变量的分类: 1.按数据类型分: 1)基本数据类型:8种 整型:byte short int long 浮点型:double float 字符型:char 布尔型:boolean ...
分类:
编程语言 时间:
2016-09-01 11:14:23
阅读次数:
275
本文内容来源于《深入理解Java虚拟机》一书,非常推荐大家去看一下这本书。本系列其他文章:【深入理解Java虚拟机】Java内存区域模型、对象创建过程、常见OOM【深入理解Java虚拟机】垃圾回收机制1、类加载机制概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。在java中,类型的加载、连...
分类:
编程语言 时间:
2016-06-27 09:09:57
阅读次数:
368
本文内容来源于《深入理解Java虚拟机》一书,非常推荐大家去看一下这本书。本系列其他文章:【深入理解Java虚拟机】Java内存区域模型、对象创建过程、常见OOM1、垃圾回收要解决的问题垃圾收集(Garbage Collection,GC),要设计一个GC,需要考虑解决下面三件事情:(1)哪些内存需要回收?(2)什么时候回收?(3)如何回收?哪些内存需要回收?根据《Java内存区域模型、对象创建过...
分类:
编程语言 时间:
2016-06-24 10:55:31
阅读次数:
282
除了释放不再被引用的对象外,垃圾收集器还要处理堆碎块。新的对象分配了空间,不再被引用的对象被释放,所以堆内存的空闲位置介于活动的对象之间。请求分配新对象时可能不得不增大堆空间的大小,虽然可以使用的总空闲空间是足够的。这是因为,堆中没有连续的空闲空间放得下新的对象。 垃圾收集器算法 任何垃圾回收算法都 ...
分类:
编程语言 时间:
2016-04-28 00:05:46
阅读次数:
220
JVM堆中几乎放着Java世界中所有的对象实例,垃圾收集器在对堆内存进行回收前,第一件事情就是要确定这些对象有哪些还存活着,哪些已经死去(即不可能再被任何途径使用的对象)。
在主流的商业程序语言中,Java和c#等都是使用根搜索算法(GC Roots Tracing)判定对象是否存活的。这个算法的基本思路就是通过一系列的名为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过...
分类:
编程语言 时间:
2015-08-18 14:14:08
阅读次数:
189
Java语言从出现到现在,一直占据编程语言前列,他很大的一个原因就是由于java应用程序所运行的平台有关。我们大家都知道java应用程序运行在java虚拟机上。这样就大大减少了java应用程序和底层操作系统打交道的频率...
分类:
编程语言 时间:
2015-08-07 01:58:02
阅读次数:
232
1、标记清除算法:首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。缺点是效率问题和产生大量不连续的内存碎片,导致程序后期需要分配大对象时无法找到足够的连续内存而不得不提前出发另一次垃圾收集动作。
2、复制算法:将可用内存划分为大小相等的两块,每次只使用其中的一块,当这一块的内存用完了,就将还存活着的对象复制到另一块上面,然后再把已使用过的内存空间一次清理掉。
3、标记整理...
分类:
编程语言 时间:
2015-07-31 22:04:39
阅读次数:
170
1、JAVA的三大体系:JME(微缩版),JSE(标准版),JEE(企业版);2、JAVA的三大核心机制:JAVA虚拟机,垃圾回收机制,代码安全性检测3、java开发集JDK4、java编译器javac5、java解释器java6、java应用程序编程接口API7、java文档化工具javadoc8...
分类:
编程语言 时间:
2015-07-19 14:43:24
阅读次数:
153
对Java垃圾回收最大的误解是什么?它实际又是什么样的呢?
当 我还是小孩的时候,父母常说如果你不好好学习,就只能去扫大街了。但他们不知道的是,清理垃圾实际上是很棒的一件事。可能这也是即使在Java的世界中, 同样有很多开发者对GC算法产生误解的原因——包括它们怎样工作、GC是如何影响程序运行和你能对它做些什么。因此我们找到了Java性能调优专家Haim
Yadid,并把名为Java
p...
分类:
编程语言 时间:
2015-04-22 11:51:11
阅读次数:
159
垃圾回收器如何确定哪些对象要回收: 引用计数法 很多教科书判断对象是否存活的算法是这样的:给对象添加一个引用计数器,每当有一个地发引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器都...
分类:
编程语言 时间:
2015-04-08 21:40:27
阅读次数:
141