
Java虚拟机内存的五个区域
Java与Java虚拟机的支持密不可分。今天,我将与您讨论Java虚拟机的一些基本知识。

JVM内存区域分为五个部分,分别是堆,方法区域,虚拟机堆栈,本地方法堆栈和程序计数器。
JVM内存区域


1.堆。堆是Java对象的存储区域。分配有新字段的所有Java对象实例和数组都分配在堆上。 Java堆可以使用-Xms -Xmx进行内存控制。值得一提的是,从JDK 1. 7版本开始,运行时常量池已从方法区域移至堆。

2.方法区域。它用于存储虚拟机已加载的数据,例如类信息,常量,静态变量和由即时编译器编译的代码。方法区域在JDK 1.版本7中称为永久生成,在此之前,从JDK 1.版本中删除了8个永久生成。
3.虚拟机堆栈。在虚拟机堆栈中执行每种方法时,将创建一个堆栈框架来存储局部变量表,操作数堆栈,动态链接,方法退出和其他信息。

4.本机方法堆栈。与服务Java方法的虚拟机堆栈相比,类似于虚拟机堆栈所扮演的角色,服务于虚拟机使用的本机方法的本地方法堆栈。执行每个局部方法时,将创建一个堆栈框架来存储局部变量。表,操作数堆栈,动态链接,方法退出和其他信息。
5.程序计数器。指示要由Java虚拟机执行的下一个字节码指令。
以上五个区域是Java虚拟机的内存划分。方法区域和堆由JVM中的多个线程共享。例如,类的静态常量存储在方法区域中,以在类对象之间共享。虚拟机堆栈,本地方法堆栈,pc寄存器由每个线程独立拥有,并且不会与其他线程共享。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-337620-1.html
特工在我国从事反华活动吗