8 虚拟机字节码执行引擎

本篇及相关的几篇文章是《深入理解 Java 虚拟机:JVM 高级特性与最佳实践(第 2 版)》(周志明,机械工业出版社)这本书的读书笔记,文章中多使用思维导图列出一些章节中的知识点。感谢原书作者的精彩撰写,欢迎对 Java 虚拟机感兴趣的读者阅读原书。
本人从事 Android 开发多年,读这本书,作为对过去所学相关知识的系统梳理和总结。个人感觉这本书是一些表面代码的深入解释,以及解决一些问题或运用一些技术的行动指南。读完这本书,对一些东西的看法犹如从黑盒子中跃入光明世界。
如果本篇文章的读者发现有错误或不足的地方,欢迎评论区指出。

8.1 概述

执行引擎是 Java 虚拟机最核心的组成部分之一。“虚拟机” 是一个相对于 “物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而虚拟机的执行引擎是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,而且能够执行那些不被硬件直接支持的指令集格式。

8.2 运行时栈帧结构

运行时栈帧结构.png

栈帧的概念结构

栈帧的概念结构

8.3 方法调用

方法调用.png

8.4 基于栈的字节码解释执行引擎

说明虚拟机是如何执行方法中的字节码指令的。


基于栈的字节码解释执行引擎.png

编译过程

编译过程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一 她把碎发向上撩起,却越像雄性狮虎的鬓毛。 “来了。”吴士生把水递到李小葵手里,语气带着些许疑问。看着外面的雨,...
    去日苦多阅读 3,056评论 0 0
  • 在Java 5以前,是用synchronized关键字来实现锁的功能。 synchronized关键字可以作为方法...
    fireshort阅读 4,996评论 0 2
  • 先学习一个命令 ng g m core上面这个命令就是要自动生成模块 在 app 目录下面自动生成一个文...
    神豪VS勇士赢阅读 3,085评论 0 0
  • 昨天假期休完,离开了熟悉的亲人们。又一次踏上征途。这一个多月的休假给我大脑的充击还是蛮大的。上班和在家休假两种状态...
    放松放开放下阅读 1,558评论 0 2

友情链接更多精彩内容