Java虚拟机内存分配

Java内存分配:

内存分为:方法区,堆区,栈(虚拟机栈,本地方法栈),程序计数器。

   方法区和堆区对于线程是共享的,而虚拟机栈和本地方法栈,程序计数器是线程隔离的。

程序计数器:

    记录当前线程所执行的字节码的行号,每个线程需要独立的程序计数器。

Java虚拟机栈:

    每个方法在被执行时都会创建一个栈帧用于存储局部变量表,操作数栈,动态链接,方法出口等信息。虚拟机内存栈是我们通常讲的“栈”

本地方法栈:

   与虚拟机栈类似,区别在于  虚拟机栈为虚拟机执行Java方法服务,本地方法栈为虚拟机使用Native方法服务。

堆区:

    公共内存,在虚拟机启动时创建。存放对象实例。Java物理上可以是不连续的,但是逻辑上连续。

方法区(静态区):

     与堆区相同,在各个线程间共享。存储类信息,常量,静态变量,常量池。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值