![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
O__oooh
这个作者很懒,什么都没留下…
展开
-
深入理解java虚拟机(第二版)——第三章:内存分配与回收策略
一、java对象分配策略java中所说的自动内存管理最终可以归结到两个问题:自动分配不存自动回收内存对象的内存分配主要是在堆上进行,堆根据对象不同的存活周期分为不同的区域,新生对象一般分在了Eden区域,如果启动了线程分配缓冲,则优先会分配到TLAB上。有少数情况新生对象会直接分配到老年代区域。实际情况要根据虚拟机模式和收集器组合来确定。以下结论是Client模式下配合Serial和...原创 2020-01-23 16:43:10 · 81 阅读 · 0 评论 -
深入理解java虚拟机(第二版)——第三章:垃圾收集器与内存分配策略
一、对象存活统计算法1.引用计数器法每当对象被引用一次时,计数器的值就加一;当引用失效时,计数器的值就减一。在任何时刻,计数器为0的值时不会被使用的。优点:实现简单,判定效率高。缺点:无法解决对象之间相互调用的问题。public class ReferenceCountingGC{ public Object instance = null; p...原创 2020-01-22 20:37:33 · 89 阅读 · 0 评论 -
深入理解java虚拟机(第二版)——第二章:java内存区域与内存溢出异常
一、运行时数据区域java虚拟机在执行java程序时会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁时间,有些区域随着虚拟机进程的启动而存在,有些区域则依赖用户县城的启动和结束而建立和销毁。根据《java虚拟机规范(javaSE7版)》规定,java虚拟机所管理的内存将会包括以下几个运行时数据区域: ...原创 2020-01-13 21:41:06 · 189 阅读 · 0 评论