1.JVM内存模型

•程序计数器:当前线程字所执行节码的行号指示器,用于记录正在执行的虚拟机字节指令地址,线程私有。

•Java虚拟机栈:存放基本数据类型,对象的引用,方法出口等,线程私有。

•本地方法栈:和虚拟栈类似,不过它服务于本地方法,线程私有。

•Java堆:Java内存中最大的一块,所有对象的实例,数组都存放在Java堆,GC回收的地方,线程共享。

•方法区:存放已被加载的类信息,常量,静态变量,即时编译器编译后的代码数据等。(即永久带),回收目标主要是常量池的回收和类型的卸载,各线程共享。