java cglib_CGlib简单介绍

java cglib_CGlib简单介绍//DecompiledbyJadv1.5.8e.Copyright2001PavelKouznetsov.//Jadhomepage:http://www.geocities.com/kpdus/jad.html//Decompileroptions:packimports(3)//SourceFileName:packagecn.eulic.codelab.cg…

大家好,又见面了,我是你们的朋友全栈君。

//Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.//Jad home page:http://www.geocities.com/kpdus/jad.html//Decompiler options: packimports(3)//Source File Name:   packagecn.eulic.codelab.cglib;importjava.lang.reflect.Method;importnet.sf.cglib.core.Signature;importnet.sf.cglib.proxy.*;//Referenced classes of package cn.eulic.codelab.cglib://InfoManagerpublicclassCGLIB.BIND_CALLBACKSextendsInfoManagerimplementsFactory

{staticvoidCGLIB$STATICHOOK1()

{

Class class1;

ClassLoader classloader;

CGLIB$THREAD_CALLBACKS=newThreadLocal();

classloader=(class1=Class.forName(“cn.eulic.codelab.cglib.InfoManager$$EnhancerByCGLIB$$de624598”)).getClassLoader();

classloader;

CGLIB$emptyArgs=newObject[0];

CGLIB$delete$0$Proxy=MethodProxy.create(classloader, (CGLIB$delete$0$Method=Class.forName(“cn.eulic.codelab.cglib.InfoManager”).getDeclaredMethod(“delete”,newClass[0])).getDeclaringClass(), class1,”()V”,”delete”,”CGLIB$delete$0″);

CGLIB$create$1$Proxy=MethodProxy.create(classloader, (CGLIB$create$1$Method=Class.forName(“cn.eulic.codelab.cglib.InfoManager”).getDeclaredMethod(“create”,newClass[0])).getDeclaringClass(), class1,”()V”,”create”,”CGLIB$create$1″);

CGLIB$query$2$Proxy=MethodProxy.create(classloader, (CGLIB$query$2$Method=Class.forName(“cn.eulic.codelab.cglib.InfoManager”).getDeclaredMethod(“query”,newClass[0])).getDeclaringClass(), class1,”()V”,”query”,”CGLIB$query$2″);

CGLIB$update$3$Proxy=MethodProxy.create(classloader, (CGLIB$update$3$Method=Class.forName(“cn.eulic.codelab.cglib.InfoManager”).getDeclaredMethod(“update”,newClass[0])).getDeclaringClass(), class1,”()V”,”update”,”CGLIB$update$3″);

CGLIB$finalize$4$Proxy=MethodProxy.create(classloader, (CGLIB$finalize$4$Method=Class.forName(“java.lang.Object”).getDeclaredMethod(“finalize”,newClass[0])).getDeclaringClass(), class1,”()V”,”finalize”,”CGLIB$finalize$4″);

CGLIB$hashCode$5$Proxy=MethodProxy.create(classloader, (CGLIB$hashCode$5$Method=Class.forName(“java.lang.Object”).getDeclaredMethod(“hashCode”,newClass[0])).getDeclaringClass(), class1,”()I”,”hashCode”,”CGLIB$hashCode$5″);

CGLIB$clone$6$Proxy=MethodProxy.create(classloader, (CGLIB$clone$6$Method=Class.forName(“java.lang.Object”).getDeclaredMethod(“clone”,newClass[0])).getDeclaringClass(), class1,”()Ljava/lang/Object;”,”clone”,”CGLIB$clone$6″);

CGLIB$equals$7$Proxy=MethodProxy.create(classloader, (CGLIB$equals$7$Method=Class.forName(“java.lang.Object”).getDeclaredMethod(“equals”,newClass[] {

Class.forName(“java.lang.Object”)

})).getDeclaringClass(), class1,”(Ljava/lang/Object;)Z”,”equals”,”CGLIB$equals$7″);

CGLIB$toString$8$Proxy=MethodProxy.create(classloader, (CGLIB$toString$8$Method=Class.forName(“java.lang.Object”).getDeclaredMethod(“toString”,newClass[0])).getDeclaringClass(), class1,”()Ljava/lang/String;”,”toString”,”CGLIB$toString$8″);return;

}finalvoidCGLIB$delete$0()

{super.delete();

}publicfinalvoiddelete()

{

CGLIB$CALLBACK_0;if(CGLIB$CALLBACK_0!=null)goto_L2;elsegoto_L1

_L1:

JVM INSTR pop ;

CGLIB$BIND_CALLBACKS(this);

CGLIB$CALLBACK_0;

_L2:

JVM INSTR dup ;

JVM INSTR ifnull37;goto_L3 _L4

_L3:breakMISSING_BLOCK_LABEL_21;

_L4:breakMISSING_BLOCK_LABEL_37;this;

CGLIB$delete$0$Method;

CGLIB$emptyArgs;

CGLIB$delete$0$Proxy;

intercept();return;super.delete();return;

}finalvoidCGLIB$create$1()

{super.create();

}publicfinalvoidcreate()

{

CGLIB$CALLBACK_0;if(CGLIB$CALLBACK_0!=null)goto_L2;elsegoto_L1

_L1:

JVM INSTR pop ;

CGLIB$BIND_CALLBACKS(this);

CGLIB$CALLBACK_0;

_L2:

JVM INSTR dup ;

JVM INSTR ifnull37;goto_L3 _L4

_L3:breakMISSING_BLOCK_LABEL_21;

_L4:breakMISSING_BLOCK_LABEL_37;this;

CGLIB$create$1$Method;

CGLIB$emptyArgs;

CGLIB$create$1$Proxy;

intercept();return;super.create();return;

}finalvoidCGLIB$query$2()

{super.query();

}publicfinalvoidquery()

{

CGLIB$CALLBACK_0;if(CGLIB$CALLBACK_0!=null)goto_L2;elsegoto_L1

_L1:

JVM INSTR pop ;

CGLIB$BIND_CALLBACKS(this);

CGLIB$CALLBACK_0;

_L2:

JVM INSTR dup ;

JVM INSTR ifnull37;goto_L3 _L4

_L3:breakMISSING_BLOCK_LABEL_21;

_L4:breakMISSING_BLOCK_LABEL_37;this;

CGLIB$query$2$Method;

CGLIB$emptyArgs;

CGLIB$query$2$Proxy;

intercept();return;super.query();return;

}finalvoidCGLIB$update$3()

{super.update();

}publicfinalvoidupdate()

{

CGLIB$CALLBACK_0;if(CGLIB$CALLBACK_0!=null)goto_L2;elsegoto_L1

_L1:

JVM INSTR pop ;

CGLIB$BIND_CALLBACKS(this);

CGLIB$CALLBACK_0;

_L2:

JVM INSTR dup ;

JVM INSTR ifnull37;goto_L3 _L4

_L3:breakMISSING_BLOCK_LABEL_21;

_L4:breakMISSING_BLOCK_LABEL_37;this;

CGLIB$update$3$Method;

CGLIB$emptyArgs;

CGLIB$update$3$Proxy;

intercept();return;super.update();return;

}finalvoidCGLIB$finalize$4()throwsThrowable

{super.finalize();

}protectedfinalvoidfinalize()throwsThrowable

{

CGLIB$CALLBACK_0;if(CGLIB$CALLBACK_0!=null)goto_L2;elsegoto_L1

_L1:

JVM INSTR pop ;

CGLIB$BIND_CALLBACKS(this);

CGLIB$CALLBACK_0;

_L2:

JVM INSTR dup ;

JVM INSTR ifnull37;goto_L3 _L4

_L3:breakMISSING_BLOCK_LABEL_21;

_L4:breakMISSING_BLOCK_LABEL_37;this;

CGLIB$finalize$4$Method;

CGLIB$emptyArgs;

CGLIB$finalize$4$Proxy;

intercept();return;super.finalize();return;

}finalintCGLIB$hashCode$5()

{returnsuper.hashCode();

}publicfinalinthashCode()

{

CGLIB$CALLBACK_0;if(CGLIB$CALLBACK_0!=null)goto_L2;elsegoto_L1

_L1:

JVM INSTR pop ;

CGLIB$BIND_CALLBACKS(this);

CGLIB$CALLBACK_0;

_L2:

JVM INSTR dup ;

JVM INSTR ifnull52;goto_L3 _L4

_L3:this;

CGLIB$hashCode$5$Method;

CGLIB$emptyArgs;

CGLIB$hashCode$5$Proxy;

intercept();

JVM INSTR dup ;

JVM INSTR ifnonnull45;goto_L5 _L6

_L5:

JVM INSTR pop ;0;goto_L7

_L6:

(Number);

intValue();

_L7:return;

_L4:returnsuper.hashCode();

}finalObject CGLIB$clone$6()throwsCloneNotSupportedException

{returnsuper.clone();

}protectedfinalObject clone()throwsCloneNotSupportedException

{

CGLIB$CALLBACK_0;if(CGLIB$CALLBACK_0!=null)goto_L2;elsegoto_L1

_L1:

JVM INSTR pop ;

CGLIB$BIND_CALLBACKS(this);

CGLIB$CALLBACK_0;

_L2:

JVM INSTR dup ;

JVM INSTR ifnull37;goto_L3 _L4

_L3:this;

CGLIB$clone$6$Method;

CGLIB$emptyArgs;

CGLIB$clone$6$Proxy;

intercept();return;

_L4:returnsuper.clone();

}finalbooleanCGLIB$equals$7(Object obj)

{returnsuper.equals(obj);

}publicfinalbooleanequals(Object obj)

{

CGLIB$CALLBACK_0;if(CGLIB$CALLBACK_0!=null)goto_L2;elsegoto_L1

_L1:

JVM INSTR pop ;

CGLIB$BIND_CALLBACKS(this);

CGLIB$CALLBACK_0;

_L2:

JVM INSTR dup ;

JVM INSTR ifnull57;goto_L3 _L4

_L3:this;

CGLIB$equals$7$Method;newObject[] {

obj

};

CGLIB$equals$7$Proxy;

intercept();

JVM INSTR dup ;

JVM INSTR ifnonnull50;goto_L5 _L6

_L5:

JVM INSTR pop ;false;goto_L7

_L6:

(Boolean);

booleanValue();

_L7:return;

_L4:returnsuper.equals(obj);

}finalString CGLIB$toString$8()

{returnsuper.toString();

}publicfinalString toString()

{

CGLIB$CALLBACK_0;if(CGLIB$CALLBACK_0!=null)goto_L2;elsegoto_L1

_L1:

JVM INSTR pop ;

CGLIB$BIND_CALLBACKS(this);

CGLIB$CALLBACK_0;

_L2:

JVM INSTR dup ;

JVM INSTR ifnull40;goto_L3 _L4

_L3:this;

CGLIB$toString$8$Method;

CGLIB$emptyArgs;

CGLIB$toString$8$Proxy;

intercept();

(String);return;

_L4:returnsuper.toString();

}publicstaticMethodProxy CGLIB$findMethodProxy(Signature signature)

{

String s=signature.toString();

s;

s.hashCode();

JVM INSTR lookupswitch9:default200//-1949253108: 92//-1574182249: 104//-1166709331: 116//-508378822: 128//-358764054: 140//598313209: 152//1826985398: 164//1913648695: 176//1984935277: 188;goto_L1 _L2 _L3 _L4 _L5 _L6 _L7 _L8 _L9 _L10

_L2:”update()V”;

equals();

JVM INSTR ifeq201;goto_L11 _L12

_L12:breakMISSING_BLOCK_LABEL_201;

_L11:returnCGLIB$update$3$Proxy;

_L3:”finalize()V”;

equals();

JVM INSTR ifeq201;goto_L13 _L14

_L14:breakMISSING_BLOCK_LABEL_201;

_L13:returnCGLIB$finalize$4$Proxy;

_L4:”query()V”;

equals();

JVM INSTR ifeq201;goto_L15 _L16

_L16:breakMISSING_BLOCK_LABEL_201;

_L15:returnCGLIB$query$2$Proxy;

_L5:”clone()Ljava/lang/Object;”;

equals();

JVM INSTR ifeq201;goto_L17 _L18

_L18:breakMISSING_BLOCK_LABEL_201;

_L17:returnCGLIB$clone$6$Proxy;

_L6:”delete()V”;

equals();

JVM INSTR ifeq201;goto_L19 _L20

_L20:breakMISSING_BLOCK_LABEL_201;

_L19:returnCGLIB$delete$0$Proxy;

_L7:”create()V”;

equals();

JVM INSTR ifeq201;goto_L21 _L22

_L22:breakMISSING_BLOCK_LABEL_201;

_L21:returnCGLIB$create$1$Proxy;

_L8:”equals(Ljava/lang/Object;)Z”;

equals();

JVM INSTR ifeq201;goto_L23 _L24

_L24:breakMISSING_BLOCK_LABEL_201;

_L23:returnCGLIB$equals$7$Proxy;

_L9:”toString()Ljava/lang/String;”;

equals();

JVM INSTR ifeq201;goto_L25 _L26

_L26:breakMISSING_BLOCK_LABEL_201;

_L25:returnCGLIB$toString$8$Proxy;

_L10:”hashCode()I”;

equals();

JVM INSTR ifeq201;goto_L27 _L28

_L28:breakMISSING_BLOCK_LABEL_201;

_L27:returnCGLIB$hashCode$5$Proxy;

_L1:

JVM INSTR pop ;returnnull;

}publicstaticvoidCGLIB$SET_THREAD_CALLBACKS(Callback acallback[])

{

CGLIB$THREAD_CALLBACKS.set(acallback);

}publicstaticvoidCGLIB$SET_STATIC_CALLBACKS(Callback acallback[])

{

CGLIB$STATIC_CALLBACKS=acallback;

}privatestaticfinalvoidCGLIB$BIND_CALLBACKS(Object obj)

{

CGLIB.STATIC_CALLBACKS static_callbacks=(CGLIB.STATIC_CALLBACKS)obj;if(static_callbacks.CGLIB$BOUND)goto_L2;elsegoto_L1

_L1:

Object obj1;

static_callbacks.CGLIB$BOUND=true;

obj1=CGLIB$THREAD_CALLBACKS.get();

obj1;if(obj1!=null)goto_L4;elsegoto_L3

_L3:

JVM INSTR pop ;

CGLIB$STATIC_CALLBACKS;if(CGLIB$STATIC_CALLBACKS!=null)goto_L4;elsegoto_L5

_L5:

JVM INSTR pop ;goto_L2

_L4:

(Callback[]);

static_callbacks;

JVM INSTR swap ;0;

JVM INSTR aaload ;

(MethodInterceptor);

CGLIB$CALLBACK_0;

_L2:

}publicObject newInstance(Callback acallback[])

{

CGLIB$SET_THREAD_CALLBACKS(acallback);

CGLIB$SET_THREAD_CALLBACKS(null);returnnew();

}publicObject newInstance(Callback callback)

{

CGLIB$SET_THREAD_CALLBACKS(newCallback[] {

callback

});

CGLIB$SET_THREAD_CALLBACKS(null);returnnew();

}publicObject newInstance(Class aclass[], Object aobj[], Callback acallback[])

{

CGLIB$SET_THREAD_CALLBACKS(acallback);

JVM INSTRnew#2;

JVM INSTR dup ;

aclass;

aclass.length;

JVM INSTR tableswitch00:default35//0 28;goto_L1 _L2

_L2:

JVM INSTR pop ;();goto_L3

_L1:

JVM INSTR pop ;thrownewIllegalArgumentException(“Constructor not found”);

_L3:

CGLIB$SET_THREAD_CALLBACKS(null);return;

}publicCallback getCallback(inti)

{

CGLIB$BIND_CALLBACKS(this);this;

i;

JVM INSTR tableswitch00:default30//0 24;goto_L1 _L2

_L2:

CGLIB$CALLBACK_0;goto_L3

_L1:

JVM INSTR pop ;null;

_L3:return;

}publicvoidsetCallback(inti, Callback callback)

{this;

callback;

i;

JVM INSTR tableswitch00:default29//0 20;goto_L1 _L2

_L2:

(MethodInterceptor);

CGLIB$CALLBACK_0;goto_L3

_L1:

JVM INSTR pop2 ;

_L3:

}publicCallback[] getCallbacks()

{

CGLIB$BIND_CALLBACKS(this);this;return(newCallback[] {

CGLIB$CALLBACK_0

});

}publicvoidsetCallbacks(Callback acallback[])

{this;

acallback;

JVM INSTR dup2 ;0;

JVM INSTR aaload ;

(MethodInterceptor);

CGLIB$CALLBACK_0;

}privatebooleanCGLIB$BOUND;privatestaticfinalThreadLocal CGLIB$THREAD_CALLBACKS;privatestaticfinalCallback CGLIB$STATIC_CALLBACKS[];privateMethodInterceptor CGLIB$CALLBACK_0;privatestaticfinalMethod CGLIB$delete$0$Method;privatestaticfinalMethodProxy CGLIB$delete$0$Proxy;privatestaticfinalObject CGLIB$emptyArgs[];privatestaticfinalMethod CGLIB$create$1$Method;privatestaticfinalMethodProxy CGLIB$create$1$Proxy;privatestaticfinalMethod CGLIB$query$2$Method;privatestaticfinalMethodProxy CGLIB$query$2$Proxy;privatestaticfinalMethod CGLIB$update$3$Method;privatestaticfinalMethodProxy CGLIB$update$3$Proxy;privatestaticfinalMethod CGLIB$finalize$4$Method;privatestaticfinalMethodProxy CGLIB$finalize$4$Proxy;privatestaticfinalMethod CGLIB$hashCode$5$Method;privatestaticfinalMethodProxy CGLIB$hashCode$5$Proxy;privatestaticfinalMethod CGLIB$clone$6$Method;privatestaticfinalMethodProxy CGLIB$clone$6$Proxy;privatestaticfinalMethod CGLIB$equals$7$Method;privatestaticfinalMethodProxy CGLIB$equals$7$Proxy;privatestaticfinalMethod CGLIB$toString$8$Method;privatestaticfinalMethodProxy CGLIB$toString$8$Proxy;static{

CGLIB$STATICHOOK1();

}public()

{

CGLIB$BIND_CALLBACKS(this);

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144737.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 判断一个数是不是质数(素数),3种方式介绍

    一、概念介绍大家中学都学过,就不过多介绍了,大致提两点:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。 0和1既不是质数也不是合数,最小的质数是2二、方法介绍1.最直观,但效率最低的写法publicstaticbooleanisPrime(intn){if(n<=…

  • Matlab中lsim函数使用

    Matlab中lsim函数使用lsim函数:lsim函数是针对线性时不变模型,给定任意输入,得到任意输出。lsim函数表示任意输入函数的响应,连续系统对任意输入函数的响应可以利用lsim函数求取。语法(常用):1.分子分母形式lsim(num,den,u,t)2.传递函数形式lsim(sys,u,t)3.状态空间形式lsim(A,B,C,D,u,t)其中,u为由给定输入序列构成的矩阵,它的每列对应一个输入,每行对应一个新的时间点,其行数与时间t的长度相等,其它的用法与step函数相同。…

  • 据说很快的数据库分页存储过程

    据说很快的数据库分页存储过程

  • kfold交叉验证_SPSS交叉验证法

    kfold交叉验证_SPSS交叉验证法一、前言在机器学习建模过程中,通行的做法是将数据分为训练集和测试集。测试集是与训练独立的数据,完全不参与训练,用于最终模型的评估。在训练过程中,经常会出现过拟合的问题,就是模型可以很好的匹配训练数据,却不能很好在预测训练集外的数据。如果此时就使用测试数据来调整模型参数,就相当于在训练时已知部分测试数据的信息,会影响最终评估结果的准确性。通常的做法是在训练数据再中分出一部分做为验证(Validation)数据,用来评估模型的训练效果。验证数据取自训练数据,但不参与训练,这样可以相对客观的评估模型对于训

  • 大四 Java开发实习近一年 记录(每6至12月更新一次)

    大四 Java开发实习近一年 记录(每6至12月更新一次)17年7月4号是我实习生入职的日子,因为是校企合作,所以没有面试、老师推荐、直接入职。刚来北京第一个感觉就是人多,还有就是热。刚到公司第一天,部门经理安排了我的mentor,他也是我的项目经理,安排座位之后给他我发了一些项目文档,让我先熟悉一下项目,然后给我发了几个常用工具的安装包,最重要的就是IDEA,之前在学校一直用MyEclipse,用了IDEA之后感觉确实不错,界面很漂亮。…

  • JNI总结(一)

    JNI总结(一)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号