当前位置: 首页 > news >正文

给网站网站做代理app界面设计模板免费下载

给网站网站做代理,app界面设计模板免费下载,开发公司名称起名大全,手机网站建设cz35ASM是一个非常高效的Java字节码操控和分析框架#xff0c;它允许开发者在运行时或者编译时期动态地生成、改变或者分析类。ASM提供的功能强大且灵活#xff0c;适用于诸如框架开发、代码优化、代码生成等多种场景 需求#xff1a;用 asm 编写一个类并运行输出hello word 依…ASM是一个非常高效的Java字节码操控和分析框架它允许开发者在运行时或者编译时期动态地生成、改变或者分析类。ASM提供的功能强大且灵活适用于诸如框架开发、代码优化、代码生成等多种场景 需求用 asm 编写一个类并运行输出hello word 依赖 dependency     groupIdorg.ow2.asm/groupId     artifactIdasm/artifactId     version9.1/version /dependency public static void main(String[] args) throws Exception {// 类名包括包名这里简化处理不指定包名String className com.asm.test.ExampleClass;String fullName className.replace(., /); // 将点换成斜杠因为ASM内部使用的是内部类名表示法// 创建ClassWriter对象用于生成字节码ClassWriter cw new ClassWriter(ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS);// 定义类public class ExampleClasscw.visit(Opcodes.V1_8, // Java版本号这里是Java 8Opcodes.ACC_PUBLIC, // 类访问修饰符这里是publicfullName, // 类名null, // 类签名这里省略java/lang/Object, // 父类这里是Objectnull); // 实现的接口这里没有实现任何接口// 添加默认构造函数MethodVisitor mv cw.visitMethod(Opcodes.ACC_PUBLIC, init, ()V, null, null);mv.visitVarInsn(Opcodes.ALOAD, 0); // 加载this引用mv.visitMethodInsn(Opcodes.INVOKESPECIAL, java/lang/Object, init, ()V, false); // 调用父类构造函数mv.visitInsn(Opcodes.RETURN); // 返回mv.visitMaxs(1, 1); // 设置最大栈和局部变量大小这里简化处理mv.visitEnd();// 添加sayHello()方法mv cw.visitMethod(Opcodes.ACC_PUBLIC, sayHello, ()V, null, null);mv.visitFieldInsn(Opcodes.GETSTATIC, java/lang/System, out, Ljava/io/PrintStream;);mv.visitLdcInsn(Hello, World!); // 将字符串常量推入栈顶mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, java/io/PrintStream, println, (Ljava/lang/String;)V, false); // 调用println方法mv.visitInsn(Opcodes.RETURN);mv.visitMaxs(2, 1); // 设置最大栈和局部变量大小mv.visitEnd();// 结束类定义cw.visitEnd();// 生成字节码到文件byte[] code cw.toByteArray();FileOutputStream fos new FileOutputStream(target/classes/fullName .class);fos.write(code);fos.close();System.out.println(Generated class file: className .class);// 加载ExampleClassClass? exampleClass Class.forName(className); // 注意这里的类名不需要加.class// 创建ExampleClass的实例Object instance exampleClass.getDeclaredConstructor().newInstance();// 获取sayHello方法Method sayHelloMethod exampleClass.getMethod(sayHello);// 调用sayHello方法sayHelloMethod.invoke(instance);} CGlib (Code Generation Library) 是一个强大的高性能的代码生成库它为Java语言提供了一个非常便利的API来扩展Java类与实现接口。不同于ASM库直接操作字节码CGlib采取了更高层次的抽象使得开发者可以以面向对象的方式创建代理类或者子类而无需了解底层字节码的细节。CGlib主要用于以下几个场景 动态代理当不能使用Java原生的java.lang.reflect.Proxy仅能代理实现了接口的类时CGlib可以创建目标类的子类作为代理因此适用于没有实现接口的类的增强。 AOP面向切面编程在AOP框架中如Spring AOP默认情况下使用JDK动态代理但若目标对象没有实现接口则转而使用CGlib来创建代理对象实现在方法前后插入自定义逻辑如日志记录、事务管理等。 持久化框架一些ORM对象关系映射框架如Hibernate的动态代理功能可能会用到CGlib来实现延迟加载等特性。 其他框架与库许多Java应用框架如Spring、MyBatis等都可能间接使用CGlib来增强或代理对象。 使用cglib创建代理 依赖 dependency         groupIdcglib/groupId         artifactIdcglib/artifactId         version3.3.0/version     /dependency public class CGlibProxyExample implements MethodInterceptor {public Object getProxy(Class clazz) {Enhancer enhancer new Enhancer();enhancer.setSuperclass(clazz);// enhancer.setInterfaces(new Class[]{SomeInterface.class});// 设置回调方法enhancer.setCallback(this);// 创建并返回代理对象return enhancer.create();}Overridepublic Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable {System.out.println(Before method execution);Object result proxy.invokeSuper(obj, args); // 调用原始方法System.out.println(After method execution);return result;}public static void main(String[] args) {CGlibProxyExample example new CGlibProxyExample();SomeService proxy (SomeService) example.getProxy(SomeService.class);proxy.doSomething();// ((SomeInterface)proxy).doOtherSomething();} }public class SomeService {public void doSomething() {System.out.println(do something exe);} }
http://www.zqtcl.cn/news/993820/

相关文章:

  • 做暧在线观看网站网站建设与管理工资
  • 横岗网站建设无锡网站seo外包
  • 房管局 网站做房查学做网站推广要多久时间
  • 电脑网站开发者模式田园综合体建设网站
  • 南宁广告公司网站建设自适应网站建设模板
  • 做北京电梯招标的网站衡阳县专业做淘宝网站
  • 建设网站的语言wordpress主题自定义添加后台设置
  • 制造动漫网站开发目的四川酒店网站建设
  • 中国城市建设研究院深圳分院网站广西圣泰建设工程有限公司网站
  • 网站建设的方法有哪些内容wordpress展示插件
  • 北京手机网站制作公司wordpress 简易教程
  • 手机网站建站公司有哪些搜索引擎收录
  • 仿同程网 连锁酒店 网站模板学校网站建设用哪个系统
  • 教做甜品的网站删除wordpress主题字体载入
  • 做酒店网站所用到的算法wordpress侧栏导航
  • 做漫画的网站有哪些信息门户网站怎么做
  • 九江集团网站建设公司信誉好的广州做网站
  • 福州网站建设服务平台今天发生的重大新闻
  • 招聘信息网搜索引擎优化代理
  • 免费的企业网站cms纯文字logo在线制作
  • 深圳电器公司官网网站建设 网站优化
  • 大连 网站建设昆明建设网站哪家好
  • 网站首页设计及运行效果网站建设与管理任务分工
  • 自己建设论坛网站家用电脑搭建服务器
  • 做网站上海公司企业网站内页
  • 手机网站seo山东网站建设网
  • 溧阳 招网站开发wordpress 占内存
  • 网站seo 工具做网站建设公司排名
  • 丹阳网站建设企业建设网站管理制度
  • 怎样审请网站集成装修全屋定制