垃圾收集器与内存分配策略学习笔记(更新中)

博客围绕Java虚拟机展开,探讨了为何在内存动态分配和回收技术成熟时仍要了解GC和内存分配,指出排查内存问题、突破并发瓶颈时需监控调节。还说明了垃圾回收主要关注Java堆和方法区,以及引用计数法存在相互引用对象无法回收的弊端,Java采用可达性算法。

注:该部分对应的是深入了解java虚拟机的第三章(p84)

1:目前奥内存动态分配和内存回收技术已经相当成熟,我们为什么要还要了解GC和内存分配呢?

A:当需要排查各种内存溢出,内存泄漏问题时,当垃圾收集成为系统达到更高的并发量的瓶颈时,我们需要对这些“自动化”的技术实施必要的监控和调节。

2:垃圾回收关注的是虚拟机内存中那部分的?

A:我们知道程序计数器、虚拟机栈、本地方法栈这3个区域随线程而生,随线程而灭,线程结束内存也就跟着回收了;但是java堆和方法区就一样了,堆中存的是实例,方法去中存在类和方法的一些信息,我们有时候只有方法运行时才知道创建多少对象,因此这部分的内存的回收都是动态的,所以垃圾回收关注的也主要是这部分的内存。

3:引用计数法有什么弊端?

A:如果两个对象,如A和B 相互引用,其他对象均没有用到A和B,那么其实A和B这2个对象已经不需要了,但是由于一直相互引用会导致A和B 都无法被回收,java中用的是可达性算法。(p87)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值