javap命令实践

1. javap CheckPlazaRegionUtil.class   //显示类的基本信息

public class com..domain.util.CheckPlazaRegionUtil {
  public com..domain.util.CheckPlazaRegionUtil();
  public static boolean checkRegion(java.lang.String);
  public static boolean checkPlaza(java.lang.String);
}
2. javap -p -v CheckPlazaRegionUtil.class //查看类文件全部指令信息

D:\>javap -p -v CheckPlazaRegionUtil.class
Classfile /D:/CheckPlazaRegionUtil.class
  Last modified 2020-10-28; size 772 bytes
  MD5 checksum 62ca865b7ea9f7b9155400cfc1bff34a
  Compiled from "CheckPlazaRegionUtil.java"
public class com.domain.util.CheckPlazaRegionUtil
  minor version: 0
  major version: 52
  flags: ACC_PUBLIC, ACC_SUPER
Constant pool:
   #1 = Class              #2             // com/domain/util/CheckPlazaRegionUtil
   #2 = Utf8               com/domain/util/CheckPlazaRegionUtil
   #3 = Class              #4             // java/lang/Object
   #4 = Utf8               java/lang/Object
   #5 = Utf8               <init>
   #6 = Utf8               ()V
   #7 = Utf8               Code
   #8 = Methodref          #3.#9          // java/lang/Object."<init>":()V
   #9 = NameAndType        #5:#6          // "<init>":()V
  #10 = Utf8               LineNumberTable
  #11 = Utf8               LocalVariableTable
  #12 = Utf8               this
  #13 = Utf8               Lcom/domain/util/CheckPlazaRegionUtil;
  #14 = Utf8               checkRegion
  #15 = Utf8               (Ljava/lang/String;)Z
  #16 = String             #17            // 4402
  #17 = Utf8               4402
  #18 = Methodref          #19.#21        // java/lang/String.equals:(Ljava/lang/Object;)Z
  #19 = Class              #20            // java/lang/String
  #20 = Utf8               java/lang/String
  #21 = NameAndType        #22:#23        // equals:(Ljava/lang/Object;)Z
  #22 = Utf8               equals
  #23 = Utf8               (Ljava/lang/Object;)Z
  #24 = Utf8               regionCode
  #25 = Utf8               Ljava/lang/String;
  #26 = Utf8               StackMapTable
  #27 = Utf8               checkPlaza
  #28 = String             #29            // 1002626
  #29 = Utf8               1002626
  #30 = Utf8               plazaCode
  #31 = Utf8               SourceFile
  #32 = Utf8               CheckPlazaRegionUtil.java
{
  public com.domain.util.CheckPlazaRegionUtil();
    descriptor: ()V
    flags: ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
         0: aload_0
         1: invokespecial #8                  // Method java/lang/Object."<init>":()V
         4: return
      LineNumberTable:
        line 9: 0
      LocalVariableTable:
        Start  Length  Slot  Name   Signature
            0       5     0  this   Lcom/domain/util/CheckPlazaRegionUtil;

  public static boolean checkRegion(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
         0: aload_0
         1: ifnonnull     6
         4: iconst_0
         5: ireturn
         6: aload_0
         7: ldc           #16                 // String 4402
         9: invokevirtual #18                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z
        12: ifeq          17
        15: iconst_1
        16: ireturn
        17: iconst_0
        18: ireturn
      LineNumberTable:
        line 12: 0
        line 13: 4
        line 15: 6
        line 16: 15
        line 18: 17
      LocalVariableTable:
        Start  Length  Slot  Name   Signature
            0      19     0 regionCode   Ljava/lang/String;
      StackMapTable: number_of_entries = 2
        frame_type = 6 /* same */
        frame_type = 10 /* same */

  public static boolean checkPlaza(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
         0: aload_0
         1: ifnonnull     6
         4: iconst_0
         5: ireturn
         6: aload_0
         7: ldc           #28                 // String 1002626
         9: invokevirtual #18                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z
        12: ifeq          17
        15: iconst_0
        16: ireturn
        17: iconst_1
        18: ireturn
      LineNumberTable:
        line 22: 0
        line 23: 4
        line 25: 6
        line 26: 15
        line 29: 17
      LocalVariableTable:
        Start  Length  Slot  Name   Signature
            0      19     0 plazaCode   Ljava/lang/String;
      StackMapTable: number_of_entries = 2
        frame_type = 6 /* same */
        frame_type = 10 /* same */
}
SourceFile: "CheckPlazaRegionUtil.java"


3. javap -c  CheckPlazaRegionUtil.class //反汇编信息

D:\>javap -c CheckPlazaRegionUtil.class
Compiled from "CheckPlazaRegionUtil.java"
public class com.domain.util.CheckPlazaRegionUtil {
  public com.domain.util.CheckPlazaRegionUtil();
    Code:
       0: aload_0
       1: invokespecial #8                  // Method java/lang/Object."<init>":()V
       4: return

  public static boolean checkRegion(java.lang.String);
    Code:
       0: aload_0
       1: ifnonnull     6
       4: iconst_0
       5: ireturn
       6: aload_0
       7: ldc           #16                 // String 4402
       9: invokevirtual #18                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z
      12: ifeq          17
      15: iconst_1
      16: ireturn
      17: iconst_0
      18: ireturn

  public static boolean checkPlaza(java.lang.String);
    Code:
       0: aload_0
       1: ifnonnull     6
       4: iconst_0
       5: ireturn
       6: aload_0
       7: ldc           #28                 // String 1002626
       9: invokevirtual #18                 // Method java/lang/String.equals:(Ljava/lang/Object;)Z
      12: ifeq          17
      15: iconst_0
      16: ireturn
      17: iconst_1
      18: ireturn
}


4. javap -sysinfo Test.class //查看文件系统属性信息\

5.javap -help

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值