![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
Sersph
Golang 小白一枚
展开
-
JVM GC机制 (简述)
jvm GC 一般情况只对线程共享(方法区(常量池、元空间)、堆内存)区域进行垃圾回收、每个区域都有自己的回收机制,特性不同、回收的算法也不一样。 gc 要做的三件事: 1、确定哪些内存回收 (对象是否可以被回收的两种经典算法: 引用计数法 和 可达性分析算法) 引用计数法:如果对象的关联引用为0了,就可以被当作垃圾进行收集 可达性分析算法:可达性分析算法是通过判断对象的引用链是否可达来决定对象是否可以被回收。(不可达就代表找不到) 2、什么时候回收,回收的区域(堆的新生...原创 2020-05-20 09:54:00 · 350 阅读 · 0 评论 -
JVM 运行时内存(简述)
JavaGC 还分为 永久代、新生代、老年代,永久代是存在与方法区里面的,新生代和老年代存在于堆里 新生代: 新生代占堆内存的1/3空间,是用来存放新创建的对象那个,如果创建的对象过大、就直接放入老年代,因为新生代的对象频繁的创建所以会触发MinorGC(新生代的GC)。新生代分为Eden、ServivorFrom、ServivorTo三个区(分别是:Java新对象的出生地(1)、上次GC的幸存者(2)、保留一次GC的幸存者(3)) MinorGC的过程:复制、清空、互换 采用复制算法 过程:先吧1、2原创 2020-05-18 18:19:04 · 351 阅读 · 0 评论