首页 > 代码库 > 重读《深入理解Java虚拟机》五、虚拟机如何执行字节码?虚拟机执行引擎的工作机制
重读《深入理解Java虚拟机》五、虚拟机如何执行字节码?虚拟机执行引擎的工作机制
Class文件二进制字符流通过类加载器和虚拟机加载到内存(方法区)完成在内存上的布局和初始化后,虚拟机字节码执行引擎就可以执行相关代码实现程序所定义的功能。虚拟机执行引擎执行的对象是方法(均特指非本地方法),方法是
着一个程序所定义的一个功能的载体,实现预定的业务功能或者特定的功能等。
Java虚拟机内存内针对方法的执行专门划分了一个区域即虚拟机栈。虚拟机栈内通过栈帧结构来存储调用方法和执行方法需要的局部变量,操作数栈、方法返回值等,通过栈帧的出入栈来表示方法的执行顺序。
1、栈帧结构:虚拟机内如何存储方法的内容,方法在虚拟机内的表示
栈帧组成 | 用途、作用、功能 | 特点 | 其他 |
局部变量表 | |||
操作栈 | |||
动态连接 | |||
返回地址 | |||
附加信息 |
2、方法的调用:解析方法的符号引用和确定方法的版本
(1)虚方法和非虚方法
(2)解析
(3)分派
3、虚拟机如何执行方法?虚拟机执行引擎的工作机制
重读《深入理解Java虚拟机》五、虚拟机如何执行字节码?虚拟机执行引擎的工作机制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。