当你凝视深渊,深渊也在凝视你。
06
29
23
深入理解Java虚拟机(2)之七-垃圾收集算法 深入理解Java虚拟机(2)之七-垃圾收集算法
1.标记-清除算法(Mark-Sweep) 算法分为两个阶段:首先标记出需要回收的对象,在标记完成后统一回收所有被标记的对象。 该算法主要有两个不足: 一个是效率问题,标记和清除两个效率都不高。 另一个是空间问题,标记清除之后会产生大量不
2019-06-23
21
深入理解Java虚拟机(2)之六-HotSpot的算法实现 深入理解Java虚拟机(2)之六-HotSpot的算法实现
1、枚举根节点从可达性分析中从GC Roots节点找引用链这个操作为例,可作为GC Roots的节点主要在全局的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)中,现在很多应用仅仅方法就数百兆,如果逐个检查这里面的引用,必
2019-06-21
20
深入理解Java虚拟机(2)之五-对象的死亡判定 深入理解Java虚拟机(2)之五-对象的死亡判定
对象存活判定算法1.引用计数算法给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。 引用计数算法的实现简单,判定效率也很高,在大部分情况下都是一个不
2019-06-20
17
15
深入理解Java虚拟机(2)之三-HotSpot虚拟机对象探秘 深入理解Java虚拟机(2)之三-HotSpot虚拟机对象探秘
对象的创建 虚拟机在遇到一条new指令时,首先去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,则执行相应的类加载机制。 在类加载检查通过之后,虚拟机将为新生对
2019-06-15
12
10