java运行时数据区域:
程序计数器:当前线程执行的字节码的行号指令器,用于改变计数器的值来改变需要执行的字节码指令从而实现线程的并发操作(实现不同线程的切换),每个线程都有自己的程序计数器,线程私有
java虚拟机栈:线程私有的在每个方法执行的同时创建一个栈帧,用于存储局部变量表,操作数栈,动态链接,等等呢个,局部变量表包括各种基本数据类型(byte,short,int,char,float,double boolean)等本地方法栈和虚拟机栈类似,不过是为虚拟机的Native方法服务的
java堆:用于存放对象的实例(后优化进行分块处理)是垃圾收集器管理的主要区域(分配的物理空间不必要连续,逻辑上连续即可)
方法区:用于存储类的信息,常量,静态变量等等
运行时常量池:是方法区的一部分,用于在类进入方法是,将编译生成的各种字面量和符号引用加载到常量池中。(用于保存Class文件中描述的符号引用)
|
|