Class文件二进制字符流通过类加载器和虚拟机加载到内存(方法区)完成在内存上的布局和初始化后,虚拟机字节码执行引擎就可以执行相关代码实现程序所定义的功能。虚拟机执行引擎执行的对象是方法(均特指非本地方法),方法是
着一个程序所定义的一个功能的载体,实现预定的业务功能或者特定的功能等。
Java虚拟机内存内针对方法的执行专门划分了一个区域即虚拟机栈。虚拟机栈内通过栈帧结构来存储调用方法和执行方法需要的局部变量,操作数栈、方法返回值等,通过栈帧的出入栈来表示方法的执行顺序。
1、栈帧结构:虚拟机内如何存储方法的内容,方法在虚拟机内的表示
栈帧组成 |
用途、作用、功能 |
特点 |
其他 |
局部变量表 | |||
操作栈 | |||
动态连接 | |||
返回地址 | |||
附加信息 |
2、方法的调用:解析方法的符号引用和确定方法的版本
(1)虚方法和非虚方法
(2)解析
(3)分派
3、虚拟机如何执行方法?虚拟机执行引擎的工作机制
时间: 2024-10-25 22:59:50