备份分析用

Compiled from "GreetingImpl$$EnhancedByS2AOP$$110b640.java"
public class examples.hotswap.impl.GreetingImpl$$EnhancedByS2AOP$$110b640 extends examples.hotswap.impl.GreetingImpl
  SourceFile: "GreetingImpl$$EnhancedByS2AOP$$110b640.java"
  minor version: 3
  major version: 45
  Constant pool:
const #1 = Asciz examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640;
const #2 = class #1; //  examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640
const #3 = Asciz examples/hotswap/impl/GreetingImpl;
const #4 = class #3; //  examples/hotswap/impl/GreetingImpl
const #5 = Asciz SourceFile;
const #6 = Asciz GreetingImpl$$EnhancedByS2AOP$$110b640.java;
const #7 = Asciz <init>;
const #8 = Asciz ()V;
const #9 = NameAndType #7:#8;//  "<init>":()V
const #10 = Method #4.#9; //  examples/hotswap/impl/GreetingImpl."<init>":()V
const #11 = Asciz Code;
const #12 = Asciz greet$$invokeSuperMethod$$;
const #13 = Asciz ()Ljava/lang/String;;
const #14 = Asciz greet;
const #15 = NameAndType #14:#13;//  greet:()Ljava/lang/String;
const #16 = Method #4.#15; //  examples/hotswap/impl/GreetingImpl.greet:()Ljava/lang/String;
const #17 = Asciz java/lang/String;
const #18 = class #17; //  java/lang/String
const #19 = NameAndType #14:#13;//  greet:()Ljava/lang/String;
const #20 = Method #4.#19; //  examples/hotswap/impl/GreetingImpl.greet:()Ljava/lang/String;
const #21 = Asciz examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0;
const #22 = class #21; //  examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0
const #23 = Asciz java/lang/Object;
const #24 = class #23; //  java/lang/Object
const #25 = Asciz (Ljava/lang/Object;[Ljava/lang/Object;)V;
const #26 = NameAndType #7:#25;//  "<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
const #27 = Method #22.#26; //  examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0."<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
const #28 = Asciz proceed;
const #29 = Asciz ()Ljava/lang/Object;;
const #30 = NameAndType #28:#29;//  proceed:()Ljava/lang/Object;
const #31 = Method #22.#30; //  examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0.proceed:()Ljava/lang/Object;
const #32 = Asciz java/lang/RuntimeException;
const #33 = class #32; //  java/lang/RuntimeException
const #34 = Asciz java/lang/Error;
const #35 = class #34; //  java/lang/Error
const #36 = Asciz java/lang/Throwable;
const #37 = class #36; //  java/lang/Throwable
const #38 = Asciz java/lang/reflect/UndeclaredThrowableException;
const #39 = class #38; //  java/lang/reflect/UndeclaredThrowableException
const #40 = Asciz (Ljava/lang/Throwable;)V;
const #41 = NameAndType #7:#40;//  "<init>":(Ljava/lang/Throwable;)V
const #42 = Method #39.#41; //  java/lang/reflect/UndeclaredThrowableException."<init>":(Ljava/lang/Throwable;)V
const #43 = NameAndType #7:#25;//  "<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
const #44 = Method #22.#43; //  examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0."<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
const #45 = NameAndType #28:#29;//  proceed:()Ljava/lang/Object;
const #46 = Method #22.#45; //  examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0.proceed:()Ljava/lang/Object;
const #47 = NameAndType #7:#40;//  "<init>":(Ljava/lang/Throwable;)V
const #48 = Method #39.#47; //  java/lang/reflect/UndeclaredThrowableException."<init>":(Ljava/lang/Throwable;)V

{
public examples.hotswap.impl.GreetingImpl$$EnhancedByS2AOP$$110b640();



  Code:
   Stack=1, Locals=1, Args_size=1
   0: aload_0
   1: invokespecial #10; //Method examples/hotswap/impl/GreetingImpl."<init>":()V
   4: return

public java.lang.String greet$$invokeSuperMethod$$();



  Code:
   Stack=1, Locals=1, Args_size=1
   0: aload_0
   1: invokespecial #20; //Method examples/hotswap/impl/GreetingImpl.greet:()Ljava/lang/String;
   4: checkcast #18; //class java/lang/String
   7: areturn

public java.lang.String greet();



  Code:
   Stack=5, Locals=3, Args_size=1
   0: new #22;  *******根据indexbyte1和indexbyte2索引指示的类型在堆中创建一个对象,并把对象的引用压栈 //class examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0
   3: dup    *******复制栈顶的一个字,结果栈顶有两个相同的字,假如原来栈顶是A,复制后是AA
   4: aload_0   *******将位置为0的对象引用类型的局部变量压栈(this)
   5: iconst_0  ******* 将int类型值0压栈
   6: anewarray #24; //class java/lang/Object   从栈中弹出数组长度值,根据indexbyte1和indexbyte2索引的对象类型创建对象类型数组,然后将数组引用压栈
   9: invokespecial #44; //Method examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0."<init>":(Ljava/lang/Object;[Ljava/lang/Object;)V
   12: invokevirtual #46; //Method examples/hotswap/impl/GreetingImpl$$EnhancedByS2AOP$$110b640$$MethodInvocation$$greet0.proceed:()Ljava/lang/Object;
   15: astore_1
   16: aload_1
   17: checkcast #18; //class java/lang/String
   20: areturn
   21: astore_2
   22: aload_2
   23: athrow
   24: astore_2
   25: aload_2
   26: athrow
   27: astore_2
   28: new #39; //class java/lang/reflect/UndeclaredThrowableException
   31: dup
   32: aload_2
   33: invokespecial #48; //Method java/lang/reflect/UndeclaredThrowableException."<init>":(Ljava/lang/Throwable;)V
   36: athrow
  Exception table:
   from   to  target type
     0    21    21   Class java/lang/RuntimeException

     0    21    24   Class java/lang/Error

     0    21    27   Class java/lang/Throwable


}

你可能感兴趣的:(jvm)