通过cmd命令Windows系统下查看Java字节码方式

GenParameterTypeDemo这个类的简单方法签名。首先打开cmd运行,打开命令提示符页面使用cd 文件原路径进入到文件夹下使用javap 类路径就能获取到简单方法签名D:\idea_project\spring\deepinjava\state-1\lesson-3\target\classes>javap com.segmentfault.deep.in.java...
摘要由CSDN通过智能技术生成

在这里插入图片描述
GenParameterTypeDemo这个类的简单方法签名。

首先打开cmd运行,打开命令提示符页面
在这里插入图片描述
使用cd 文件原路径进入到文件夹下
在这里插入图片描述
使用javap 类路径就能获取到简单方法签名

D:\idea_project\spring\deepinjava\state-1\lesson-3\target\classes>javap com.segmentfault.deep.in.java.generic.GenParameterTypeDemo
Compiled from "GenParameterTypeDemo.java"
public class com.segmentfault.deep.in.java.generic.GenParameterTypeDemo {
  public com.segmentfault.deep.in.java.generic.GenParameterTypeDemo();
  public static void main(java.lang.String[]);
  public static <C extends java.util.Collection<E>, E extends java.io.Serializable> void add(C, E);
  public static <C extends java.lang.Iterable<E>, E extends java.io.Serializable> void forEach(C, java.util.function.Consumer<E>);
}

如果想获取详细字节码,使用javap -v 类路径即可


D:\idea_project\spring\deepinjava\state-1\lesson-3\target\classes>javap -v com.segmentfault.deep.in.java.generic.GenParameterTypeDemo
Classfile /D:/idea_project/spring/deepinjava/state-1/lesson-3/target/classes/com/segmentfault/deep/in/java/generic/GenParameterTypeDemo.class
  Last modified 2019-3-12; size 3915 bytes
  MD5 checksum 39cba996bfa5b91a83c354ca42ba393d
  Compiled from "GenParameterTypeDemo.java"
public class com.segmentfault.deep.in.java.generic.GenParameterTypeDemo
  minor version: 0
  major version: 52
  flags: ACC_PUBLIC, ACC_SUPER
Constant pool:
    #1 = Methodref          #30.#85       // java/lang/Object."<init>":()V
    #2 = Class              #86           // com/segmentfault/deep/in/java/generic/GenParameterTypeDemo$Container
    #3 = String             #87           // String
    #4 = Methodref          #2.#88        // com/segmentfault/deep/in/java/generic/GenParameterTypeDemo$Container."<init>":(Ljava/lang/CharSequence;)V
    #5 = String             #89           // Hello,World
    #6 = Fieldref           #90.#91       // java/lang/System.out:Ljava/io/PrintStream;
    #7 = Methodref          #2.#92        // com/segmentfault/deep/in/java/generic/GenParameterTypeDemo$Container.getElement:()Ljava/lang/CharSequence;
    #8 = Methodref          #93.#94       // java/io/PrintStream.println:(Ljava/lang/Object;)V
    #9 = Class              #95           // java/lang/StringBuffer
   #10 = String             #96           // 2019
   #11 = Methodref          #9.#97        // java/lang/StringBuffer."<init>":(Ljava/lang/String;)V
   #12 = Methodref          #2.#98        // com/segmentfault/deep/in/java/generic/GenParameterTypeDemo$Container.setElement:(Ljava/lang/CharSequence;)V
   #13 = Class              #99           // java/util/ArrayList
   #14 = Methodref          #13.#85       // java/util/ArrayList."<init>":()V
   #15 = Methodref          #29.#100      // com/segmentfault/deep/in/java/generic/GenParameterTypeDemo.add:(Ljava/util/Collection;Ljava/io/Serializable;)V
   #16 = Methodref          #101.#102     // java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
   #17 = Class              #103          // java/util/HashSet
   #18 = Methodref          #17.#85       // java/util/HashSet."<init>":()V
   #19 = Class              #104          // java/io/Serializable
   #20 = Methodref          #105.#106     // java/util/Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
   #21 = Methodref          #30.#107      // java/lang/Object.getClass:()Ljava/lang/Class;
   #22 = InvokeDynamic      #0:#113       // #0:accept:(Ljava/io/PrintStream;)Ljava/util/function/Consumer;
   #23 = Methodref          #29.#114      // com/segmentfault/deep/in/java/generic/GenParameterTypeDemo.forEach:(Ljava/lang/Iterable;Ljava/util/function/Consumer;)V
   #24 = InterfaceMethodref #115.#116     // java/util/Collection.add:(Ljava/lang/Object;)Z
   #25 = InterfaceMethodref #117.#118     // java/lang/Iterable.iterator:()Ljava/util/Iterator;
   #26 = InterfaceMethodref #119.#120     // java/util/Iterator.hasNext:()Z
   #27 = InterfaceMethodref #119.#121     // java/util/Iterator.next:()Ljava/lang/Object;
   #28 = InterfaceMethodref #122.#123     // java/util/function/Consumer.accept:(Ljava/lang/Object;)V
   #29 = Class              #124          // com/segmentfault/deep/in/java/generic/GenParameterTypeDemo
   #30 = Class              #125          // java/lang/Object
   #31 = Class              #126          // com/segmentfault/deep/in/java/generic/GenParameterTypeDemo$TClass
   #32 = Utf8               TClass
   #33 = Utf8               InnerClasses
   #34 = Class              #127          // com/segmentfault/deep/in/java/generic/GenParameterTypeDemo$Template
   #35 = Utf8               Template
   #36 = Class              #128          // com/segmentfault/deep/i
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值