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

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

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

1.程序计数器

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

2.java虚拟机栈

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

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

StackOverflowError

 

 

 

    原文作者:java内存模型
    原文地址: https://blog.csdn.net/weixin_40693633/article/details/83513749
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞