![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
垃圾回收
故已似隔几朝梦
这个作者很懒,什么都没留下…
展开
-
java如何判断对象是否死亡
在虚拟机回收对象时首先要判断对象是否死亡,那么如何判断对象是否死亡呢?这里有两种算法实现:引用计数器法和可达性算法。引用计数器法:给对象添加一个引用计数器,每当有一个地方引用它时,计数器就加1;当引用失效时,计数器就减1;任何时刻计数器为0的对象就是不在被使用的。优点: 实现简单,判定效率高,在大部分情况下都是一个不错的算法。缺点: 无法解决对象循环引用的问题。User userA = ...原创 2019-04-29 13:17:35 · 1037 阅读 · 0 评论 -
java新生代和老年代的垃圾回收规则
新生代:java新生代垃圾回收运用的是复制算法。java新生代分为两部分:Eden区和两个Survivor区,它们的比例是8:1:1,两个Survivor区又分为 fromSurvivor区和to Survivor区,其中新生代每次进行Minor GC(新生代的GC)之前,to Survivor区一定是空的。每当新创建一个对象而此时Eden区内存不足的时候,就会进行Minor GC,然后E...原创 2019-05-05 19:45:07 · 3682 阅读 · 0 评论 -
vm总结
java内存管理java虚拟机执行java程序时会将它管理的内存划分为若干个不同的数据区域。程序计数器程序计数器设计是一块较小的内存空间,可以看做当前线程执行字节码的行号指示器,是线程私有的。如果线程正在执行一个java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址,如果是native方法,这个计数器值为空。唯一一个在java虚拟机规范中没有规定OutOfMemoryError...原创 2019-08-17 17:12:03 · 239 阅读 · 0 评论