- 博客(3)
- 资源 (4)
- 收藏
- 关注
原创 JVM-垃圾收集算法
标记-清除算法(Mark-Sweep) 最基础的收集算法就是“标记-清除”算法,如同名字一样,算法分两个阶段标记和清除。 首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。 两个不足之处: 效率问题,标记和清除两个过程的效率都不高。 空间问题,标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致以后在程序运行过程中需要分配较大对象时,无法找到足够的连续...
2018-09-03 22:23:31 219
原创 JVM-判断对象死活
Java虚拟机的内存管理机制其实就是在堆和方法区中,对已经“死去”的对象进行内存回收,也可以说是释放这些对象的内存。所谓“死去”的对象,其实就是这些对象没有被其他任意一个对象所引用(这句话对应着引用计数算法,其实说得不是很准确,所以引用计数算法引用不多)。比较准确的说法是,“死去”的对象都跟一个指定区域内的对象没有任何联系(也就是根对象),就是跟这个指定区域里面的对象隔绝。 判断一个对象是否已经...
2018-09-03 20:39:51 213
原创 JVM-垃圾收集器
如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 在了解这些收集器的时候,要了解每一种收集器是单线程还是多线程、采用的是什么算法、优缺点。了解这些特征,就比较好了解这些收集器在相应场景的具体作用。 以下的图是HotSpot虚拟机的垃圾收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。虚拟机所处的区域,则表示它是属于新生代收集器还是老年代收集器。 新...
2018-09-03 18:23:39 178
深入理解Java虚拟机 JVM高级特性与最佳实践
2018-09-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人