运行时数据区域
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域
Java 最引以为豪的就是它的自动内存管理机制。相比于C++ 的手动内存管理、复杂难以理解的指针等,Java程序写起来就方便简单许多,所以要深入理解JVM 必须理解内存虚拟化的概念
在JVM中,JVM 内存主要分为堆、程序计数器、方法区、虚拟机栈和本地方法区等,同时按照与线程的关系也可以这么划分区域:
- 线程私有区域:一个线程拥有单独的一份内存区域”
- 线程共享区域:被所有线程共享,但只有一份
- 还有一个直接内存,这个虽然不是运行时数据区的一部分,但是也会被频繁使用,可以理解成没有虚拟机化的的操作系统上的其他内存(比如操作系统上有8G内存,被JVM虚拟化了3G,那么还剩余5G,JVM是借助一些工具使用者5G内存的,这个内存部分称之为直接内存)
最后修改于 2020-07-17 14:58:20
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

