Java虚拟机内存数据区域

Jvm运行时内存区域主要分为:程序计数器,jvm栈,本地方法栈,堆,方法区。如图(图片来自网络)

1:程序计数器:

      在Java程序中,每一条线程,都会有独立的程序计数器,用于保证线程在切换的时候,能够正常运行。程序计数器是一块很很小的空间,它记录着当前线程运行的字节码行号,字节码解释器就是通过改变程序计数器的值,来实现运行要运行的下一行指令。如果Java执行的是Native方法,则指示器的值为undefined。

2:虚拟机栈:

        Java虚拟机栈也是线程私有的,方法在执行的时候,会创建一个栈帧,用用于存储 局部变量表,操作数栈,方法出口相关信息。局部变量表存储了各种基本数据类型,引用类型,返回值类型。

3:本地方法栈,月虚拟机栈相似,不同的是,虚拟机栈是执行的Java方法,本地方法栈是Java调用的本地方法栈

4:堆,是Java的最大一块内存,存放着几乎所有的对象实例,细分的话,分为 新生代和老年代,在细致一点分为Eden From Survivor 、To Survivor 可以通过-Xms -Xmx 设置大小。

5:方法区,主要存储类信息,常量、静态变量、等类的信息




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值