- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 Java引用
引用通过上一章讲述了对象是否判断“死亡”算法讲述了对象的一生。但是这里要特别提醒,无论通过“引用计算算法”还是通过“可行性分析算法”,判断对象是否存活都与引用有关系。在JDK1.2之前,定义类是否被引用了是很简单的,就是判断是否有“reference”的存在,如果存在就表示该类被引用着。 但是对于有一些类,虽然他们没有被引用,但是当内存足够时我们还是想把他们保存在虚拟机里,不被GC掉。于是在JDK
2017-03-29 08:14:30 458
原创 对象存活判定算法-判断对象是否活着
对象被JVM收集的前提是该对象已经被JVM标记为了“死去”的对象。判断对象是否活着的算法引用计数法引用计数法的基本概念是:给对象添加一个引用计数器,每当有一个地方引用了该对象,计数器就加1;当引用失效,计数器就减1;任何时刻的计数器为0的对象就是不可能在被使用的对象。虽然是一个实现简单有效的算法,但是JVM已经很少使用这种算法了。可行性分析算法现在主流的JVM都是采用“可行性分析”的算法来标记“死去
2017-03-28 08:24:06 925
原创 虚拟机创建对象的过程探索
对象的创建Java是面向对象的语言,一般情况下创建对象都是通过new来创建的(少数情况是通过克隆和反射来发生的)。那么虚拟机中,对new创建出来的对象时,是要走什么过程的呢?首先是寻找类类型的过程: 1.到一个地方寻找这个类的符号引用。 2.检查符号引用的对应的类是否已经被加载了、解析、初始化。 3.如果没有加载,就需要经过加载器来加载该类的过程。对象内存细节分布说明接下来是以类为基础创建对象
2017-03-24 07:50:00 554
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人