JVM调优--------理解java虚拟机内存模型

 2019-12-10 16:00  阅读(986)
文章分类:Java Core

java虚拟机内存模型是java程序运行的基础,为了能使Java应用程序正常运行,JVM虚拟机将内存数据分为程序计数器,虚拟机栈,本地方法栈,Java堆和方法区

程序计数器用于存放下一条运行的指令;虚拟机栈和本地方法栈用于存放函数调用堆栈信息;java堆用于存放Java程序运行时所需的对象等数据;方法区用于存放程序的类元数据信息

1.程序计数器

程序计数器是一块很小的内存空间,由于线程之间根据时间片轮询抢夺CPU资源,每一个线程必须用一个独立的程序计数器,用于记录下一条要执行的命令。如果当前线程正在执行一个java方法,程序计数器记录正在执行的java字节码地址,如果当前线程正在执行一个Native方法,程序计数器为空。

2.java虚拟机栈

java虚拟机栈也是线程私有的内存空间,它和java线程同一时间创建,保存方法的局部变量,部分结果,参与方法的调用和返回。

在java虚拟机规范中,定义了两种异常和占空间有关,

StackOverflowError

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> JVM调优--------理解java虚拟机内存模型

相关推荐