jvm内存回收原理

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ldqchat/article/details/79783276

 

1. 在堆中创建的对象分为: 年青代,年老代,方法区中的静态文件(类或方法)是持久代,
它们使用的回收的算法也不相同。


2. 年轻代又分Eden区,两个survivor区,大部分对象在Eden区中生成,当Eden区满时,还存活的对象将被复制
到其中一个survivor区,当这个survivor区满时,此区的存活对象会被复制到另外一个survivor区;当这个区也
满时,会把这个区的还存活的对象复制到年老区


3. 老年代存放的是从年轻代存活下来的对象,生命周期长


4. 持久代用于存放静态文件,垃圾回收器不会回收持久代的数据


如何对jvm内存进行管理呢?

1. 手动将无用的对象设置为null, 可以回忆内存回收

2. 利用对象池技术,生成较少的对象 放在对象池中,如果有空闲的对象就从对象池中取了使用,没有再生成新的对象,提高 对象的利用率

3. 通过配置jvm参数来提高垃圾回收的速度 

 

展开阅读全文

没有更多推荐了,返回首页