IDEA使用jclasslib Bytecode Viewer查看jvm字节码

学习jvm的时候,想查看字节码和局部变量表,可以使用idea安装jclasslib Bytecode View插件查看。

(1)安装工具:

安装完成后需要重启idea.

(2)准备一段代码,编译运行

java 复制代码
package com.test.bytecodeview;

public class ByteCodeView {

    public static void main(String[] args) {
        int a = 10 ;
        int b = 20 ;
        int c = a +b;
        System.out.println(c);
    }
}

(3)找到编译后的class文件,选择view,Show Bytecode With jclasslib

(4) 查看字节码

这里有行号表(LineNumberTable)和局部变量表(LocalVariableTable)

局部变量表由Start(起始PC)、Slot(序号)、Name(名称)、Length(长度)构成。

操作数栈存储每步骤所有的相关的值。例如i

java 复制代码
int c = a + b ; 

操作数栈会放入a的值(10),b的值(20)
a与b相加获得30.
操作舒栈写入30.
系统将30赋予c
相关推荐
孙克旭_14 分钟前
单链表进阶实操:5 道常考面试题详细解析【Java 实现】
java·开发语言·数据结构·单链表
2601_9619017020 分钟前
SpringCloud2023集成Nacos2.4.3
java
玄昌盛不会编程22 分钟前
LeetCode——2091. 从数组中移除最大值和最小值
java·算法·leetcode
Rain的Java大神之路24 分钟前
如何保证接口幂等
java·经验分享·后端·面试·架构
吴声子夜歌25 分钟前
Java——数组和集合(一)
java·开发语言
Jesse_EC27 分钟前
一个看不见的字符——CRLF 如何让我的 Docker 初始化脚本"静默失踪"
java·后端
深念Y27 分钟前
Nuxt 项目 Docker 构建:从 pnpm+node 迁移到全 bun
java·前端·docker
学长毕业设计32 分钟前
基于SpringBoot的社区鲜奶订购系统的设计与实现(源码+文档+讲解视频)
java·spring boot·后端
呆呆敲代码的小Y37 分钟前
【游戏开发】C# 中的迭代器
java·开发语言·c#·迭代器
TinyMemory38 分钟前
Java 面向对象核心入门(六):this 关键字完全解析
java·笔记·面向对象·java新手·this关键字