好记性,不如烂笔头

万物寻其根,通其堵,便能解其困。
  博客园  :: 新随笔  :: 管理

java .class 操作笔记

Posted on 2024-07-24 16:41    阅读(8)  评论(0)    收藏  举报

查看.class文件的字节码文件

1、cmd命令: javap -verbose class文件/文件路径。

PS C:\Users\namejr\JavaCode\FX_Collect\target\classes\com\lancoo> javap -verbose '.\Controllers$1.class'
Classfile /C:/Users/namejr/JavaCode/FX_Collect/target/classes/com/lancoo/Controllers$1.class
  Last modified 2024-7-23; size 664 bytes
  MD5 checksum 642601700e7a4096d0514e2274335842
  Compiled from "Controllers.java"
class com.lancoo.Controllers$1 extends com.alibaba.fastjson.TypeReference<java.util.HashMap<java.lang.String, java.lang.String>>
  minor version: 0
  major version: 52
  flags: ACC_SUPER
Constant pool:
   #1 = Fieldref           #3.#22         // com/lancoo/Controllers$1.this$0:Lcom/lancoo/Controllers;
   ***
  #28 = Utf8               (Ljava/lang/String;)V
  #29 = Utf8               ()V
{
  final com.lancoo.Controllers this$0;
    descriptor: Lcom/lancoo/Controllers;
    flags: ACC_FINAL, ACC_SYNTHETIC

  com.lancoo.Controllers$1(com.lancoo.Controllers);
    descriptor: (Lcom/lancoo/Controllers;)V
    flags:
    Code:
      stack=2, locals=2, args_size=2
         0: aload_0
         ***
         9: return
      LineNumberTable:
        line 510: 0
      LocalVariableTable:
        Start  Length  Slot  Name   Signature
            0      10     0  this   Lcom/lancoo/Controllers$1;
            0      10     1 this$0   Lcom/lancoo/Controllers;
}
Signature: #16                          // Lcom/alibaba/fastjson/TypeReference<Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;>;
SourceFile: "Controllers.java"
EnclosingMethod: #20.#21                // com.lancoo.Controllers.lambda$redisDBMemorySize$1
InnerClasses:
     #3; //class com/lancoo/Controllers$1

 

2、IDEA中通过插件:jclasslib Bytecode viewer