程序计数器:当前线程所执行的字节码的行动指示器
本地方法栈:为虚拟机使用的native方法服务
java虚拟机栈:描述java方法执行的内存模型,每个方法被执行时都会创建一个栈桢,用于存储局部变量,操作栈,动态链接,方法出口等信息。
每个方法方法创建一个栈桢,栈桢存储了当前方法的数据信息(局部变量),方法调用完毕,该栈桢就会被销毁。
java堆:被所有线程所共享的一块内存区域,在java虚拟机启动时创建,所有对象及数组都要在堆上分配,(使用new关键字就表示要在堆中开辟一块新的内存空间)。
方法区:线程共享的一块内存区域,存储已被虚拟机加载的类信息,常量,静态变量,即编译后的代码数据等(这个区域的内存回收目标主要是针对常量池的回收和对类型的卸载)。
GC(Garbage Collection):垃圾回收器。:Java的自动垃圾回收机制:简单理解为, 程序员就不需要再手动的去控制内存的释放。当JVM发觉内存资源紧张的时候,就会自动地去清理无用对象(没有被引用到的对象)所占用的内存空间。