深入理解java虚拟机 新生代_深入理解JAVA虚拟机-笔记

1. 线程私有

1.1. 程序计数器-pc 寄存器

每个jvm线程都有?己的pc 计数器

线程执?到的字节码的行号指示器,只要不是native方法, ?于执行过程中的循环、跳转、分?支、异常处理理线程恢复等。

?命周期与线程相同

1.2. 虚拟机栈- stack

描述的是?法执行的内存模型,?法的执行过程就是虚拟机栈的入栈与出栈

用于存储局部变量和部分过程结果(些尚未算好的结果)的数据结构。

也被用来处理动态链接、方法返回值和异常分派。

生命周期与JVM线程相同,?法执?时都会创建?个栈帧。

随着?法调?而创建,随着方法结束(?论正常还是异常完成)而销毁。

局部变量表和操作数栈都是在编译期确定,在方法的code属性中。

1.2.1. 局部变量表

存放在编译时已经确定的8种基本类型、对象引用等。空间?小是确定的,

在运行期间不会改变。

?法参数和局部变量

局部变量 没有 初始化阶段,即不会被赋零值。

1.2.2.操作数栈

类似于数据寄存器

方法开始执行时是空的, 运算过程中会有出栈入栈操作。

1.3. 本地方法栈?

用来?持native?法执?

native关键字说明其修的?法是一个原?态方法,方法对应的实现不是在当前文件,?是在?其他语?(如C和C++)实现的文件中

2. 线程共享

2.1. 方法区

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值