Java的运行时区

基础回答:

共享区:方法区,堆

私有区:程序计数器,虚拟机栈,本地方法栈

解释各区域的作用:

程序计数器:又称pc计数器,是程序运行时的行号指示器,主要用于字节码的分钟,循环,跳转,异常处理等逻辑的处理,是java执行过程种唯一没有outofmemoryerror的区域

虚拟机栈:是局部变量表,操作数栈,动态链接,方法出口等的存储区域。如果存入区域大于栈的深度,则抛出outofmemoryerror;同时如果栈扩展过程种无法申请到足够的内存,则抛出outofmemoryerror

本地方法栈:是native方法区域,错误可能同虚拟机栈

堆:java虚拟机种最大的一块区域,重要用于创建对象,也是垃圾收集的重要区域。一般区分为新生代和老年代,比例默认1:2;新生代又可以分为eden,From survivor,To survivor,比例一般是8:1:1

方法区:是常量,静态变量,即时编译的代码等存放的区域

在jdk8之后,增加了本地内存:元数据区,直接内存

用元数据区代替永久代

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值