首页 > 其他 > 详细

方法区

时间:2020-06-09 17:47:14      阅读:43      评论:0      收藏:0      [点我收藏+]

四、方法区
简介

  1.方法区在Hotspot中又称永久代、元空间(非堆)[这里的永久代、元空间在JVM虚拟机规范中是不等价的] 
  2.在jdk1.7(包含7)以前称为永久代,并且方法区是在JVM中
  3.在jdk1.8以后称为元空间,并将方法区移除JVM的约束
  4.使用垃圾收集器:FullGC
  5.其中内含了常量池、域(Field)信息、已装载类信息、方法信息、JIT代码缓存
  6方法区是直接内存(也就是直接分配在内存上的)
  存储迁移过程

 

为什么要移除堆空间?

顾名思义(永久代)即经常不回被回收的,跟随电脑的内存进行扩展,可以减少gc,提高性能,并减少了内存溢出的风险。
常量池

常量池包含各种字面量和对类型、域和方法的符号引用。

参数设置

初始值 -XX:MetaspaceSize=100m

最大值 -XX:MaxMetaspaceSize=100m

建议不要随意修改设置,因可以跟随本地内存变化而进行扩充变化

经过以上学习类装载子系统、栈、堆、方法区、可延伸面试题:
对象在JVM中是怎么存储的?

 

? 答:创建对象的步骤有六种

判断对象对应的类是否经过类加载子系统加载过
为对象分配内存
处理并发安全的问题(TLAB)(CAS)
初始化分配到空间
设置对象的对象头
执行init方法进行初始化
对象头里面有什么?

类型指针—>指向类源数据,确定对象所属类型
运行时元数据
声明:如果是数组,还需要记录数组的长度。

图解流程–以上两问

 

五、对象访问定位

方法区

原文:https://www.cnblogs.com/lzq210288246/p/13073916.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!