用到的工具——Jclasslib

IDEA提供了插件,很方便。

首先 先看一段代码:

public class LocalVariablesTest {private int count = 0;public static void main(String[] args) {LocalVariablesTest test = new LocalVariablesTest();int num = 10;test.test1();}public void test1() {Date date = new Date();String name1 = "java";String info = test2(date,name1);}public String test2(Date dateP, String name2) {dateP = null;name2 = "sokjgaoie";double weight = 130.5;char gender = '男';return dateP + name2;}public void test3(){count ++;}public void test4(){int a = 0;{int b = 0;b = a + 1;}int c = a + 1;}
}

下面具体分析:

L 表示引用变量

[ 表示是数组

V 表示void

在Code—Bytecode中能看到字节码指令

可以看到main方法中字节码指令行号和代码行号的对应。

好了,字节码中方法内部结构分享完了,记得手动三连哦~

欧尼酱讲JVM(08)——字节码中方法内部结构的剖析相关推荐

  1. 欧尼酱讲JVM(01)——整体概览(导航)

    从业这么久了,输入了很多东西,趁我还算不老,趁我还有精力,我觉得把我的知识和经验整理一番,输出出来. 那么首先就从JVM开始吧.我将从以下几个方面讲解JVM: 欧尼酱讲JVM(02)--类的加载过程 ...

  2. 欧尼酱讲JVM(17)——方法区详解有图有真相

    目录 位置图解 方法区的理解 方法区在哪里 方法区的基本理解 HotSpot中方法区的理解(演进过程) 方法区的内部结构 图解方法区内部结构 运行时常量池 class文件中常量池的理解 为什么需要常量 ...

  3. 欧尼酱讲JVM(22)——分代收集算法

    目录 分代收集算法 HotSpot中的分代收集 年轻代 老年代 没有一种最好的算法吗?没有,没有最好只有最适合.具体问题具体分析! 上一篇文章<欧尼酱讲JVM(21)--垃圾回收相关算法> ...

  4. java的标量和聚合量_欧尼酱讲JVM(16)——如何基于逃逸分析进行代码优化

    代码优化是一个涉及面很广的"工程",但是今天呢,本姑娘主要给大家分享基于逃逸分析,如何给代码做优化.那么逃逸分析是什么呢?我前面的文章也仔细的讲解过了,这里就不过多的赘述了.有不明 ...

  5. 欧尼酱讲JVM(19)——执行引擎

    目录 执行引擎概述 什么是执行引擎 位置图解 执行引擎的工作过程 Java程序的编译和解释运行的理解 Java代码编译和执行的过程 两个问题 什么是执行器,什么是JIT编译器 为什么说Java是半编译 ...

  6. 欧尼酱讲JVM(18)——对象实例化内存布局与访问定位

    目录 对象的实例化 创建对象的几种方式 从字节码角度看对象的创建过程 对象创建的六个步骤 第一步:判断对象对应的类是否加载.链接.初始化 第二步:为这个对象分配内存 第三步:处理并发安全问题 第四步: ...

  7. 欧尼酱讲JVM(12)——本地方法接口

    位置图解 图中虚线框起来的就是本地方法接口 什么是本地方法 简单地讲,一个Native Method就是一个Java调用非Java代码的接口,一个Native Method是这样一个Java方法:该方 ...

  8. 欧尼酱讲JVM(06)——指点江山—程序计数器

    程序计数器在哪 程序计数器执行过程: 程序计数器(Program Counter Register),也叫PC寄存器,是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器. 在Java ...

  9. 欧尼酱讲JVM(04)——运行时数据区简介

    运行时数据区概括 Java虚拟机在执行Java程序过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依 ...

最新文章

  1. “史上最全PyTorch资源汇总“(转载)
  2. 基片集成波导原理_ETH研究人员开发微型红外光谱仪 可以集成到芯片当中
  3. 前端性能优化:当页面渲染遇上边缘计算
  4. Ubuntu单用户修改root密码
  5. java 双线程交替,Java 创建两个线程,和主线程交替运行。
  6. java信号量源代码_Java信号量Semaphore原理及代码实例
  7. javascript 变换变量 数据类型 类型转换 运算符 运算表达式 运算优先级 理解笔记...
  8. 利用ABBYY Screenshot Reader快速截取网页并识别文本
  9. android暗水印技术,基于Android的隐藏数字水印技术的研究与实现
  10. [转] 花6小时整理的网上最全的系统服务,想PF降到50以下的进,经典中的经典
  11. 曲线曲面基本理论(二)
  12. 阿里巴巴java工程师面试经验详情
  13. keep-alive的用法和作用
  14. 虚幻引擎图文笔记:使用MixamoConverter对Mixamo动画重定向成UESkeleton匹配动画
  15. QT项目之键盘控制光标移动
  16. 只有那些不断充实自己的人,才有机会在往后的日子里持续地被雇用
  17. 检测PE文件加壳信息用的特征码
  18. springboot+Zuul网关服务
  19. Linux vim 文本替换 %s/原文/替换文本/g
  20. 七彩cms云转码_七彩CMS视频转码 2019云转码彻底开源系统版本号

热门文章

  1. 网站建设最终目标之网站盈利定位
  2. 单片机实验——熟悉单片机开发环境和指令系统
  3. nokia5110液晶初始化
  4. java Process
  5. 消息称Bilibili通过发行债券和股票筹集8.24亿美元
  6. Matlab建模—无约束优化与非线性规划相关算例
  7. 三菱5uplc伺服电机指令_三菱伺服放大器内部故障及处理方法
  8. 【Ubuntu】APT下载工具
  9. 挂件巡检机器人_盘点国内五大智能巡检机器人企业
  10. Stanford CS230学习笔记(一):Lecture 1 Class Introduction