java 程序性能优化3(gc策略)

本文详细介绍了JVM的内存模型,包括程序计数器、虚拟机栈、本地方法栈、Java堆和方法区。同时,对垃圾回收算法进行了深入探讨,包括引用计数法、复制法、标记-清除法、标记-压缩法和增量法,并解释了它们的应用环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jvm内存模型

程序计数器,虚拟机栈,本地方法栈,java堆,方法区


1-引用计数法

优点:计数器为0时直接可以回收,效率高

缺点:不能循环引用,每多/少一个引用就要计数器+1,-1.

2-复制法

优点:没有内存碎片,

缺点:分为两个内存区域使得使用率方面不够友好,存活对象多的时候移动量太大影响效率。

应用环境:回收的对象多的时候。

3-标记-清楚法

优点:不需要移动对象

缺点:因为空间不连续,内存分配效率底,有内存碎片

应用环境:

4-标记-压缩法

优点:没有内存碎片

缺点:需要移动对象,

应用环境:回收的对象少的时候

5-增量法

优点:线程交替回收垃圾,程序挂起时间不是连续的,有间隔的

缺点:优点也就是缺点,线程交替越多,资源耗得也多,时间上加起来也更多。

应用环境:程序不能挂起太久

6-分代

使用结合,复制,压缩。对应区域适合哪种gc算法就用哪种。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值