#Java命令:java、javap #Java反汇编:简单的例子 @FDDLC
发布日期:2021-06-30 21:05:07 浏览次数:2 分类:技术文章

本文共 2290 字,大约阅读时间需要 7 分钟。

一、javac命令:编译

上面支持中文!

 

上面仅支持英文!

 

总结:javac命令可以把java源文件(.java)编译成字节码文件(.class)

 

二、java命令:执行(必须要有main方法)

注意:上面执行的是Test.class文件,命令中不能有拓展名!

 

 

二、javap命令:反汇编

示例1:只显示反汇编后的Java代码

 

示例2:既显示反汇编后的Java代码,也显示字节码指令(Java语言的汇编指令)

C:\Users\FDDLC\Desktop\code>javap -v PersonClassfile /C:/Users/FDDLC/Desktop/code/Person.class  Last modified 2021年5月8日; size 296 bytes  SHA-256 checksum f75231bde2a5515020baa696d5d51624c591914d8c9db5e12b78cf2fa7c328b1  Compiled from "Person.java"public class Person  minor version: 0  major version: 58  flags: (0x0021) ACC_PUBLIC, ACC_SUPER  this_class: #7                          // Person  super_class: #2                         // java/lang/Object  interfaces: 0, fields: 2, methods: 2, attributes: 1Constant pool:   #1 = Methodref          #2.#3          // java/lang/Object."
":()V #2 = Class #4 // java/lang/Object #3 = NameAndType #5:#6 // "
":()V #4 = Utf8 java/lang/Object #5 = Utf8
#6 = Utf8 ()V #7 = Class #8 // Person #8 = Utf8 Person #9 = Utf8 name #10 = Utf8 Ljava/lang/String; #11 = Utf8 age #12 = Utf8 I #13 = Utf8 Code #14 = Utf8 LineNumberTable #15 = Utf8 getAge #16 = Utf8 (I)I #17 = Utf8 SourceFile #18 = Utf8 Person.java{ public java.lang.String name; descriptor: Ljava/lang/String; flags: (0x0001) ACC_PUBLIC public Person(); descriptor: ()V flags: (0x0001) ACC_PUBLIC Code: stack=1, locals=1, args_size=1 0: aload_0 1: invokespecial #1 // Method java/lang/Object."
":()V 4: return LineNumberTable: line 1: 0 public int getAge(int); descriptor: (I)I flags: (0x0001) ACC_PUBLIC Code: stack=1, locals=2, args_size=2 0: iload_1 1: ireturn LineNumberTable: line 5: 0}SourceFile: "Person.java"C:\Users\FDDLC\Desktop\code>

当然,要想对上面的内容进行分析,那就涉及到Java汇编的知识。

附:Person.java

public class Person {    public String name;    private int age;//my comment    public int getAge(int age){        return age;    }}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载地址:https://liuxingchang.blog.csdn.net/article/details/116518834 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:#Java命令行编译:错误: 编码 GBK 的不可映射字符 (0xB2) @FDDLC
下一篇:#Java:intern #字符串:equals == @FDDLC

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月07日 18时02分14秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章