垃圾回收
葩_
这个作者很懒,什么都没留下…
展开
-
jvm_垃圾回收学习笔记_3_常见垃圾回收器
1原创 2020-06-03 15:57:27 · 130 阅读 · 0 评论 -
jvm_垃圾回收学习笔记_2_垃圾收集算法(附面试题)
一、扯扯我们所了解JVM堆中的内存区域划分 废话不多说,先上图: 如图可知,堆中有着两个大的区域,分别是新生代和老年代。新生代中又分为一个较大的Eden区和两个较小的Survivor区(也有人叫s0和s1)。那么为什么要这样划分呢?经查资料得知,在目前的垃圾回收器中,大多数都是基于两个假说。弱分带假说:绝大多数对象都是朝生朝灭; 强分带假说:熬过越多垃圾收集过程的对象就越难消亡。正是基于这两个假说,堆中的区域才划分新生代和老年代。其中新生代和老年的比例默认为原创 2020-06-03 13:55:52 · 165 阅读 · 0 评论 -
jvm_垃圾回收学习笔记_1_如何判断对象已死?(附面试题)
一、引用计数法 引用计数法顾名思义就是在对象中添加一个引用计数器,每当有其他对象引用它时计数器就+1。大概就是下图这个结构:在线画图工具:ProcessOn 那么引用计数法有什么优点和缺点呢?我想着就是用一小部分空间换时间吧,这样他的效率高,只要计时器为0就可以回收了。但是仔细想想它也有缺点,就是无法解决循环依赖的问题,如下图所示: 此时A与B互相引用着,就算已经没有其他地方引用着A和B类,但是他们之间互相有引用,垃圾回收器就不能回收它们。 &原创 2020-06-03 13:55:08 · 176 阅读 · 0 评论