JVM学习

:主要是存放栈帧,每个方法都有一个独有的栈帧,每个栈帧都存放着每个方法的局部变量,栈的储存规则,先进后出,后进先出,
栈帧:栈帧中又有局部变量表,操作数栈,动态链接,方法出口
局部变量表:变量信息储存位,存储变量,包括对象类型的变量
操作数栈:把常量压入操作数栈 #当一个常量赋值给一个变量的时候,操作数栈会把栈内的常量压入局部变量表中,与之相对应的变量赋值
程序计数器:是指当程序运行时,执行JVM命令的地址,也可以说成指针,每当程序计数器执行一行代码,指令,JVM的执行引擎会修改程序计数器的值,地址

当再次用到某一个被赋值的变量时,会把这个变量的值从局部变量表中抽取出来到操作数栈中,但变量不会动,操作数栈,还负责将被抽取到的常量进行一一临时运算,最后将新算出的值从新压入到局部变量表中,与对应的变量进行关联,

方法出口:当方法结束后,返回到主方法中,并告诉程序执行结束

动态链接:什么是动态链接呢,动态链接就是我们创造一个对象时,当我们调用此方法时,对象指针会将此方法从方法区中取出的地址放入动态链接的空间中,动态链接可以说就是储存对象内方法的地址,当new一个对象时,每一个对象都会指向一个类,每个类中的方法叫做密码


主要存放的是对象的地址,类似于C语言的指针,由栈中的对象类型的变量指向堆中的地址

本地方法栈
java的本地代码,底层由c语言实现的,当运行到本地方法时,会进入系统内部的软件包中着执行.dll文件,执行方法

GC root根
表示一个引用一失效,或指针断开,没有指向的地址的指针,是一种没有赋值的变量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值