JVM的内存管理及应用

1.JVM的内存管理本质

JVM的内存管理就是JVM的内存分配和内存回收,内存回收在《JVM入门看着一篇就够了》https://editor.csdn.net/md/?articleId=111412340的博客中已经详细简述了,今天就只讲JVM的内存分配

2.JVM内存分配的场景

1.直接在Eden区分配:
这是对于大部分对象创建时的内存分配
2.大对象,直接分配在老年代
(1)何为大对象?
需要连续内存空间的Java对象,比如长字符串、数组。
(2)为什么这些直接到老年代
因为对象比较大,放在年青代,容易引起Monior GC
3.相同年龄占Suvivor区一半,直接进入老年代。
(1)Survivor区的一半,其实就是From区或者To区满了!
(2)默认值是15,就是年龄15时,进行移到老年代

3.JVM内存回收类型及触发时机

1.JVM的内存回收分为MinorGC 和Full GC
(1)MinorGC触发条件:
Eden区+Survior一个区(From/To区)已满
(2)影响的范围:
年青代
(3)Full GC触发条件:
老年代的连续内存空间是否大于新生代所有对象总空间
(a)//TODO

4.日常代码的启示

1.尽量避免朝生夕灭的短命大对象:否则经常触发GC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值