首页 > 编程语言 > 详细

重读《深入理解Java虚拟机》五、虚拟机如何执行字节码?虚拟机执行引擎的工作机制

时间:2017-06-22 23:23:45      阅读:353      评论:0      收藏:0      [点我收藏+]

      Class文件二进制字符流通过类加载器和虚拟机加载到内存(方法区)完成在内存上的布局和初始化后,虚拟机字节码执行引擎就可以执行相关代码实现程序所定义的功能。虚拟机执行引擎执行的对象是方法(均特指非本地方法),方法是

着一个程序所定义的一个功能的载体,实现预定的业务功能或者特定的功能等。

      Java虚拟机内存内针对方法的执行专门划分了一个区域即虚拟机栈。虚拟机栈内通过栈帧结构来存储调用方法和执行方法需要的局部变量,操作数栈、方法返回值等,通过栈帧的出入栈来表示方法的执行顺序。

1、栈帧结构:虚拟机内如何存储方法的内容,方法在虚拟机内的表示

 

栈帧组成

用途、作用、功能

特点

其他

局部变量表      
操作栈      
动态连接      
返回地址      
附加信息      

 

 

2、方法的调用:解析方法的符号引用和确定方法的版本

(1)虚方法和非虚方法

 

(2)解析

 

 

(3)分派

 

 

 

 

3、虚拟机如何执行方法?虚拟机执行引擎的工作机制

重读《深入理解Java虚拟机》五、虚拟机如何执行字节码?虚拟机执行引擎的工作机制

原文:http://www.cnblogs.com/wshcn/p/7067609.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!