我提前运行了一个java程序,是一个不终止的for循环,然后用阿里的arthas工具来查看我提前运行的程序进程的一些信息,其中内存区域的信息截图如下:
heap:堆。
ps_eden_space:堆内存中新生代的Eden区。
ps_eden_space:堆内存中的survivor区。
ps_old_gen:堆内存的老年代区。
noheap:堆内存之外。
code_cache:JVM在运行时会频繁的调用方法的字节码编译为机器码,这部分代码所占的空间就是code_cache。
metaspace:元数据区。jdk1.8之后将原来堆内存中的方法去转移到了堆外面叫元数据区了。
compressed_class_space:类文件信息区。
下图表示JVM内存的简单的内存模型:
JVM相关博客可以看一下链接:
JVM垃圾回收机制:JVM垃圾回收机制_m0_53611007的博客-CSDN博客