JVM学习笔记1—JVM运行机制

JVM的基本结构


对于PC寄存器有个注意点,当执行本地方法时,pc的值为undefined

方法区

保存类的信息

java堆

对象保存在堆中,new 出来的,是gc的主要工作区间

java栈

线程独有的

栈由一系列帧组成,栈只进行帧的入栈出栈操作

栈保存一个方法的局部变量,操作数栈,常量指针

每一次的方法调用都进行一次要栈操作

局部变量表包含参数和局部变量


注意:非static方法的局部变量表有一个指向所在类的引用

栈上分配

对于堆上分配,每次都需要清理空间,栈上分配函数调用完成自动清理

所以有时间为了优化,会将本应该分配在堆上的对象分配在栈上,但是必须注意,栈的空间比较小

栈、堆、方法区交互



1个线程会有两个内存区,本地内存和主内存,本地内存是私有的,主内存是全局的,volatile关键词是用来解决本地内存与主内存不一致的。voatile关键字修饰的变量直接与主存打交道

volatile关键字 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值