Java教程

JVM 字节码指令和java程序底层运行过程详解

本文主要是介绍JVM 字节码指令和java程序底层运行过程详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

字节码指令

  • 1.重要的相关参数
    • 1.1常量池信息
    • 1.2访问标识和继承信息
    • 1.3Field信息
  • 2.字节码指令
    • 2.1 入门
    • 2.2 javap工具
    • 2.3 图解方法执行流程
  • 3常量池载入运行时常量池
  • 4.方法字节码载入方法区
  • 5.main **线程开始运行,分配栈帧内存**
  • 6.执行引擎开始执行字节码
  • 5.条件判断指令
  • 6.构造方法
  • 7.其他
  • 8.finally相关面试题

1.重要的相关参数

1.1常量池信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EzxN4Kk5-1640177014199)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20211221234924955.png)]

1.2访问标识和继承信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q6XAmTB9-1640177014204)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20211221235055079.png)]

1.3Field信息

在这里插入图片描述

2.字节码指令

2.1 入门

public cn.itcast.jvm.t5.HelloWorld(); 构造方法的字节码指令1. 2a => aload_0 加载 slot 0 的局部变量,即 this,做为下面的 invokespecial 构造方法调用的参数

\2. b7 => invokespecial 预备调用构造方法,哪个方法呢?

\3. 00 01 引用常量池中 #1 项,即【 Method java/lang/Object.""

这篇关于JVM 字节码指令和java程序底层运行过程详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!