美文网首页
Java的动态机制---字节码操作

Java的动态机制---字节码操作

作者: 吃块西瓜写代码 | 来源:发表于2019-07-29 22:15 被阅读0次

字节码

1 动态生成新的类

  • 动态改变类的结构

2 字节码操作库

  • BCEL
  • ASM
  • CGLIB
  • Javassist 使用简单

3 简单使用

   public class Demo01{
      public static void main(String[] args){
           ClassPool pool = ClassPook,getDefault();
          CtClass cc  =       pool.makeClass("com.bjsxt.bean.Emp");
          CtField  f1 = CtField.make("private int empno;", cc);
          CtField  f2 = CtField.make("private int enameo;", cc);
          cc.addField(f1);
          cc.addField(f2);

          CtConstructor constructor = new Ctconstructor(new CtClass []{});
          constructor.setBody("{}");
cc.addConstructor(constructor);
        cc.writeFiled("c:/myjava");

}

4 处理类的基本用法

   public class Demo02{
      public static void main(String[] args){
           ClassPool pool = ClassPook,getDefault();
          CtClass cc  =       pool.get("com.bjsxt.bean.Emp");
         byte[] bytes = cc.toBytecode();
        System.out.printn(cc.getName);
        System.out.printn(cc.getSimpleName);
        System.out.printn(cc.getSuperClass);
        System.out.printn(cc.getInterface);
}

4 处理方法的基本用法

   public class Demo03{
      public static void main(String[] args){
           ClassPool pool = ClassPook,getDefault();
          CtClass cc  =       pool.get("com.bjsxt.bean.Emp");
         CtMethod m = CtNewMethod.make()
          CtMethod m = newCtMethod(CtClass.intType,"add",new CtClass[] {Ctclass.intType,CtClass.intType},cc);
        m.setModifiers(Modifier.PUBLIC;
      m.setBody("{return $1 + $2} ");

)
)
}

相关文章

  • Java 动态特性二:字节码操作

    java本身动态性的两种实现方式:反射和字节码操作 字节码操作:可以实现动态生成一个类(.class文件)和动态的...

  • Java的动态机制---字节码操作

    字节码 1 动态生成新的类 动态改变类的结构 2 字节码操作库 BCEL ASM CGLIB Javassist ...

  • 反射&动态代理

    反射 Java 的动态性体现在:反射机制、动态执行脚本语言、动态操作字节码 反射:在运行时加载、探知、使用编译时未...

  • 程序员练级攻略(2018):Java底层知识

    Java 字节码相关 首先,Java 最黑科技的玩法就是字节码编程,也就是动态修改或是动态生成 Java 字节码。...

  • Java反射

    1、反射机制有什么用? 通过java语言中的反射机制可以操作字节码文件(可以读和修改字节码文件。)通过反射机制可以...

  • JavaSE进阶十一 反射机制一

    1,反射机制 反射机制有什么作用通过java语言中的反射机制可以操作字节码文件;有点类似于黑客,可以读和修改字节码...

  • Java学习25:反射机制、注解

    反射 反射机制有什么用?通过java语言中的反射机制可以操作字节码文件。有点类似于黑客。(可以读和修改字节码文件)...

  • 字节码注入

    Java 动态字节码技术

  • 【Java基础】字节码操作

    要点:1、Java动态性的两种实现方法(反射和字节码操作)2、操作字节码有什么作用3、API的使用4、反编译软件X...

  • ASM框架学习(一)-基本概念

    简介 ASM是java字节码操作框架,利用该框架可以达到动态修改java运行对象代码的目的,也可以实现动态代理等功...

网友评论

      本文标题:Java的动态机制---字节码操作

      本文链接:https://www.haomeiwen.com/subject/zjgsrctx.html