Java的运行时数据区

JVM体系结构分为类加载器、运行时数据区、执行引擎、本地方法接口。其中,Java的运行时数据区主要由程序计数器、虚拟机栈、本地方法栈、堆以及方法区组成。
1.程序计数器:是将Java文件转化为字节码文件的区域。每条线程都对应一个独立的程序计数器,各个线程之间的程序计数器相互独立、互不影响。程序计数器记录的是正在执行的虚拟机字节码指令的地址。
2.java虚拟机栈:每个方法在执行的同时,都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接以及方法出口等信息。
3. java堆: 是Java运行时数据区管理的内存最大的区域,也是线程数据共享的区域,该区域存储了大部分对象实例及数组。其大小由-Xms(最小)和-Xmx(最大)参数设置。
4. 本地方法栈:和java虚拟机栈类似,区别在于本地方法栈存储的是由native修饰的方法。
5. 方法区:用于存储Java虚拟机加载的类信息、常量、静态变量。是各个线程共享的数据区域。
6. 运行时常量池:是方法区的一部分。用于存放编译器生成的各种符号引用。

你可能感兴趣的:(笔记)