
首先jvm虚拟机内存分为两大块堆和栈
栈中每一块分为栈帧。每一个栈帧就是执行的一个Java方法块。还有一块内存是程序计数器,程序计数器的作用是记录每个线程执行到了方法的哪一步。native的方法(本地方法栈)中的永远是0因为无法监控到执行情况。还有一块内存是方法区(存放的是类信息,常量信息)(元数据区metaspace)在jdk1.8之前是堆内存中一片连续的区域,1.8之后改成了元数据区(方法区),现在被移到了操作系统内存中。还有一块内存是DirectBuffer,因为jdk1.4中的NIO有一些操作需要操作操作系统内存,这一块内存就是DirectBuffer。
Comments NOTHING