jvm内存结构

68 阅读1分钟

JVM内存结构

一、线程私有

虚拟机栈:用于存放每个线程独立的栈帧,栈帧中存放着引用类型变量、基本类型的数据。

本地方法栈:与虚拟机相同,只是提供给 native 修饰的方法使用。

程序计数器:记录当前线程执行到了哪里。

二、线程共享

元空间:存放类信息、字符串常量池...
堆:存放引用类型对象,具体又划分为年轻代与老年代。
年轻代:新生对象直接进入年轻代的伊甸区
    伊甸区:所有 new 的对象大部分都存在伊甸区
    幸存区:当进行GC时,如果该对象还没有被标识为垃圾对象,就会进入幸存区的from区,之后每次GC都会在 from -> to 之间进行轮回,每轮回一次,对象年龄 + 1,默认JVM配置对象年龄超过 15 就进入老年代。
    
老年代:对于老年对象、大对象等对象的存储。