JVM虚拟机调优---------垃圾收集器算法

java虚拟机调优就是指垃圾回收机制

标记-清除法:

      算法分为标记和清除两个阶段,首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。之所以说它是最基础的收集算法,是因为后续的收集算法都是基于这种思路并对其不足进行改进而得到的,他主要有两个不足:一个是效率问题,标记和清除两个过程的效率都不高,另一个是空间问题,标记清楚后会产生大量不连续的内存碎片,空间碎片太多可能会导致以后再程序运行过程中需要分配较大的对象时,无法找到足够的连续的内存空间而不得不提前出发另一次垃圾收集动作,

复制算法:

      为了解决效率问题,一种称为“复制”算法的收集器出现了,他将可用的内存按容量划分为大小相等的两块,每次只用其中的一块,当这一块的内存用完了,就将还存活的对象复制到另外一块上边,然后再把已使用过的内存空间一次清除掉,这样使得每次都是对整个半区域进行内存回收,内存分配时也就不用考虑内存碎片等复杂情况,只要移动堆顶指针,按顺序分配内存即可,实现简单,运行高效,只是这种算法的代价是将内存缩小为了原来的一半,未免太高了一点。

标记整理法:

      复制收集算法在对象存活率较高的时就要进行较多的复制操作,效率会变低,更关键的是,如果不想浪费百分之五十的空间,就需要有额外的空间进行分配担保,以应对被使用的内存中所有对象都100%存活的极端情况,所以老年代一般不能直接选用这种算法。

      根据老年代的特点,有人提出了另外一种“标记-整理”算法,标记过程仍然与标记-清除算法一样,但后续步骤不是直接对可回收对象进行清理,而是让所有存活的对象都向一端移动,然后直接清理掉端便捷以外的内存。

分代收集算法:

      当前商业虚拟机的垃圾收集器都采用分代收集算法,这种算法并没有什么新的思路,只是根据对象存活周期的不同将内存划分为几块,一般是把java堆分为新生代和老生代,这样就可以根据各个年代的特点采用最适当的收集算法,在新生代中,每次垃圾收集时都会有大批对象死去,只有少量存活,那就选用复制算法,只需要付出少量存活对象的复制成本就可以完成收集,而老年代中因为对象存活率高,没有额外的空间对他进行分配担保,就必须使用标记清除或者标记整理算法来进行回收。



是否可以主动通知JVM进行垃圾回收?

      由于垃圾回收器的存在,java语言本身没有给开发人员提供显式释放已分配内存的方法,也就是说,开发人员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。但是开发人员可以通过调用System.gc()方法来“通知”垃圾回收器进行,当然,JVM也并不会保证垃圾回收器马上就会运行,由于System.gc()方法的执行会停止所有的响应,去检查内存中是否有可回收的对象,这会对程序的正常运行以及性能造成极大的威胁,因此,实际编程时,不推荐频繁使用这一方法。


尽量减少临时对象的调用


Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值