javap反编译字节码文件

简介: javap反编译字节码文件

 

javap -v main.class
{
    public static void main(String[] args) {
     int a=10;
     int b=10;
     int c=a+b;
     return;
    }
}
Classfile /F:/myCode/java/jvm/0710_demo01/untitled/target/classes/org/example/main.class
  Last modified 2023年7月10日; size 447 bytes
  MD5 checksum 675a0d673d66326ba82ea00f9de64972
  Compiled from "Main.java"
public class org.example.Main
  minor version: 0
  major version: 55
  flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: #2                          // org/example/Main
  super_class: #3                         // java/lang/Object
  interfaces: 0, fields: 0, methods: 2, attributes: 1
Constant pool:
   #1 = Methodref          #3.#21         // java/lang/Object."<init>":()V
   #2 = Class              #22            // org/example/Main
   #3 = Class              #23            // java/lang/Object
   #4 = Utf8               <init>
   #5 = Utf8               ()V
   #6 = Utf8               Code
   #7 = Utf8               LineNumberTable
   #8 = Utf8               LocalVariableTable
   #9 = Utf8               this
  #10 = Utf8               Lorg/example/Main;
  #11 = Utf8               main
  #12 = Utf8               ([Ljava/lang/String;)V
  #13 = Utf8               args
  #14 = Utf8               [Ljava/lang/String;
  #15 = Utf8               a
  #16 = Utf8               I
  #17 = Utf8               b
  #18 = Utf8               c
  #19 = Utf8               SourceFile
  #20 = Utf8               Main.java
  #21 = NameAndType        #4:#5          // "<init>":()V
  #22 = Utf8               org/example/Main
  #23 = Utf8               java/lang/Object
{
  public org.example.Main();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        line 5: 0
        line 6: 3
        line 7: 6
        line 8: 10
      LocalVariableTable:
        Start  Length  Slot  Name   Signature
            0      11     0  args   [Ljava/lang/String;
            3       8     1     a   I
            6       5     2     b   I
           10       1     3     c   I
}
SourceFile: "Main.java"
相关文章
|
6月前
|
存储 安全 Java
深入理解Java字节码与反编译技术
深入理解Java字节码与反编译技术
112 0
|
Java 计算机视觉
JDK自带javap命令反编译class文件和Jad反编译class文件(推荐使用jad)
JDK自带javap命令反编译class文件和Jad反编译class文件(推荐使用jad)
314 0
JDK自带javap命令反编译class文件和Jad反编译class文件(推荐使用jad)
|
Java 编译器
字节码文件
字节码文件
158 0
objdump反编译代码
objdump是显示object文件的详细信息的工具
258 0
|
Java 编译器
javap(反汇编命令)详解【转】
转自:http://blog.csdn.net/hudashi/article/details/7062668 javap是JDK自带的反汇编器,可以查看java编译器为我们生成的字节码。通过它,我们可以对照源代码和字节码,从而了解很多编译器内部的工作。
1163 0
|
JSON JavaScript Java
AndroidAPK混淆打包以及反编译技巧
AndroidAPK混淆打包以及反编译技巧
482 0
AndroidAPK混淆打包以及反编译技巧
反汇编与反编译
反汇编得到的是汇编代码 反编译的到的是语言的源代码
608 0
|
Java vr&ar
java源码-AtomicReference
开篇  The AtomicReference class provides reference objects that may be read and written atomically, so when multiple threads try to reach them at the same time, only one will be able to do so.  换句话说就是AtomicReference提供Object对象的原子类操作,提供了更加灵活的操作。
1115 0
|
Java 安全 存储
java源码-AtomicBoolean
开篇  AtomicBoolean位于java.util.concurrent.atomic包下,是java提供给的可以保证数据的原子性操作的一个类。  Atomicxxxx系列主要核心在于Unsafe这个类的运用保证线程安全,而Unsafe这个类应该是通过JNI调用的底层实现。
1042 0
|
存储 Java 索引
字节码
这篇文章主要内容来自"深入java虚拟机",刚毕业那会太急功近利,这块离业务代码太远就没细看。这次花点时间整理一下,加深对字节码的认识。 类文件结构 “一次编写,到处运行”表达的是“与平台无关”。
1162 0