衔接上篇 , 这篇继续介绍JVM的内存分布
文章插图
方式/
1虚拟机栈(线程私有)
文章插图
文章插图
2堆(Heap线程共享)运行时数据区
文章插图
3方式区/永远代(线程共享)
文章插图
4java堆内存从GC的角度还可以细分为:新生代和老年月 。 下图为堆内存的划分
文章插图
5新生代: 用来存放新生的对象 。 一般占有堆的1/3的空间 。 因为频仍建立对象 , 所以新生代会频仍的触发minorGC进行垃圾收受接管 。 新生代又分为Eden 、Form
survivor、To survivor三个区
Eden 区:java新对象的出生地(若是新建立的对象占用内存很大 , 会直接分派到老年月) 。 当Eden 区内存不敷的时辰会触发Minor GC , 对新生代进行一次垃圾收受接管 。
Form survivor区 :上一次GC的幸存者 , 作为这一次GC的被扫描者 。
To survivor区:保留了一次Minor GC过程中的幸存者 。
文章插图
6老年月:本家儿要存放应用程序中生命周期长的内存对象 。
元数据区(元空间):在JAVA8中 , 永远代已经被移除 , 被元空间所替代 。 元空间的素质和永远代相似 , 元空间和永远代之间的区别在于元空间不在虚拟机中 , 而是利用当地内存 。 是以 , 默认环境下 , 元空间的大小仅受当地内存限制 。
【二 Java面试之JVM复习】类的元数据放入native memory , 字符串池和类的静态变量放入java堆中 , 这样加载几多类的元数据就不再由MaxPermSize节制 , 而由系统的现实可用空间来节制 。
文章插图
以上内容就是二 Java面试之JVM复习的内容啦 , 希望对你有所帮助哦!
推荐阅读
- Windows server 2012 R2 搭建Deskpool云桌面
- be动词后面接什么词性 be后面加什么词性
- 利肠生面茶
- 闲鱼卖家如何关闭交易
- 三 Java面试之JVM复习
- 面试时如何进行自我介绍?应该注意什么?
- 第三产业是什么 第一第二第三产业分别是
- 武夷岩茶茶艺
- 怎么才能把菜心炒得翠绿又整齐
- 手工面条之地瓜面条的做法