Java 栈帧

结构:
1. 局部变量表:一组变量值的存储空间,用于存放方法参数和方法内的局部变量,编译完成后大小确定,最基本的单位slot,而且slot可以进行重用,一旦某个变量超出其存在的域,其他变量可重用其内存
2. 操作数栈:操作栈(运算),局部变量表(存储)
3. 动态链接:
4. 方法返回地址:正常返回或者异常返回
5. 额外附加信息;

方法调用

方法调用不等于方法执行

静态解析(编译时确定):static,final,private,构造函数,父类函数
动态绑定(运行时确定):public

方法表

虚方法表存放着哥哥方法的实际入口:
如果方法没有被重写,入口地址和父类方法的入口地址一致
否则,子类方法入口地址指向子类方法

分派

静态分派(重载,类内方法)
动态分派(重写,父子类方法)

单分派:只能调用本类的方法
多分派:可调用本类和父类的方法

Java属于静态多分派,动态单分派
重载能调用父类和子类的方法,重写只能调用子类的方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值