对象在JVM内存中如何分配?如何流转的


prtyaa
prtyaa 2023-12-28 15:38:59 47985 赞同 0 反对 0
分类: 资源
对象到底什么时候进入新生代?然后什么情况下会进入老年代?

1、大部分正常对象都优先在新生代分配内存

类静态变量“fetcher”引用的那个“ReplicaFetcher”对象,是会长期 存活在内存里的,但是哪怕是这种对象,其实刚开始通过“new ReplicaFetcher()”代码来实例化一个对象时,也是分配在新生代里的。包括在“loadReplicasFromDisk()”方法中创建的“ReplicaManager”实例对象,也都是一样分配在新生代里的


2、到底什么情况下会触发新生代的垃圾回收?

现在咱们来假设一个场景,大家应该都知道,一旦“loadReplicasFromDisk()”方法执行完毕之后,这个方法的栈帧出栈,会 导致没有任何局部变量引用那个“ReplicaManager”实例对象了。

此时可能会如下图所示:


3、长期存活的对象会躲过多次垃圾回收


4、老年代会垃圾回收吗?

5、关于新生代和老年代的对象分配,这就完了吗?

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
prtyaaL2
粉丝 1 资源 1949 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  125
统信桌面专业版【全盘安装UOS系统】介绍  120
银河麒麟桌面操作系统安装佳能打印机驱动方法  112
银河麒麟桌面操作系统 V10-SP1用户密码修改  105
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益209.03元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!