每日一题 - JVM内存区域是如何划分的?
程序员文章站
2024-02-21 14:36:46
...
随着Java版本的不断更新迭代,目前最新版是 Java13,在Java8及之后的版本,彻底移除了持久代(Permanent Generation),而使用Metaspace来进行替代。但是大体上,比较重要的内存区域是固定的。
JVM内存区域划分如图所示,从图中可以看出:
1. JVM堆中的数据是共享的,是占用内存最大的一块区域。我们常说的垃圾回收,操作的对象就是堆。
2. 可以执行字节码的模块叫作执行引擎。
3. 执行引擎在线切换时怎么恢复?依靠的就是程序计数器。
4. JVM的内存划分与多线程是息息相关的。像我们程序中运行时用到的栈,以及本地方法栈,它们的维度都是线程。
5. 本地内存包含元数据区和一些直接内存。
上一篇: 通过等分三角形近似求π