动态构造 Java 类的一种方法: javassist (1)

原创 2007年09月21日 16:35:00

http://labs.jboss.com/javassist/
这个Jboss 的项目可以动态的构造 Java 类, 其功能算是比较强大的了. 但是任何强大的东东都是双刃剑, 那就如果很好的运用, 可以大大的提升系统的灵活性, 可扩展性和性能; 如果使用不当,对系统的冲击也是很大的.

这里我不介绍具体的开发方法(可以到上面的网址去获取开发文档), 我会从其使用的场景, 系统层次等方面介绍怎样才算是很好的使用这个技术. 首先我介绍一些使用原则:

1. 动态构建 Java 类, 跟反射机制一样, 其强大, 但是不能滥用. (我先前写一了篇文章介绍反射的一个使用原则.) 动态构建 Java 类也最好跟反射机制一样只使用在模块内部, 不要跨模块调用. 比如, 模块A需要使用模块B 的一个类, 那么就将这个类在 模块 B 中生成好, 传递给模块A; 不要通过模块A 去生成 这个类.

2. 使用 动态类生成技术, 最好只针对一些简单的 java 对象, 比如 Java Bean. 最好不要通过这种技术去生成逻辑处理类.

3. 基于第二点, 其生成类所依赖的其他类最好是 JDK 自带的. 如果依赖应用本身的其他类, 最好也是简单的java对象.

4. 注意资源的释放. 我们可能会不断的生成类, 那么就需要注意, 是否需要释放这些类. 比如某个类应该是动态变化的, 在新的类生成后, 就应该将以前的那个释放掉. 确保没有内存泄露等问题. 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

字节码操作_javassist库_动态创建新类_属性_方法_构造器_API详解JAVA216-217

字节码操作_javassist库_动态创建新类_属性_方法_构造器_API详解JAVA216-217

Java 动态的创建注入代码,注入方法给类或者接口并通过反射调用

java 动态编译代码(在运行阶段动态注入代码)

java 动态性之反射机制 详解 案例

1、反射机制 2、动态编译 3、动态执行javassript代码 4、动态字节码操作 动态语言 程序运行时,可以改变程序结构或变量类型。典型的语言: 1):Python、ruby、javasc...

动态构造 Java 类的一种方法: javassist (3)

http://blog.csdn.net/loveyly/archive/2007/09/21/1794927.aspx 第一部分http://blog.csdn.net/loveyly/archiv...

使用javassist生成新类

1、简介 javassist是一个开源的分析、编辑和创建java字节码的类库。不需要了解虚拟机指令,就能动态生成类或者改变类的结构。 2、下载 (1)下载链接http://www.csg.ci....
  • yyywyr
  • yyywyr
  • 2013-11-26 18:06
  • 7810

javassist 学习笔记

javassist、ASM 对比 1、javassist是基于源码级别的API比基于字节码的ASM简单。 2、基于javassist开发,不需要了解字节码的一些知识,而且其封装的一些工具类...
  • yczz
  • yczz
  • 2013-11-07 22:36
  • 8188

Java 编程的动态性, 第四部分: 用 Javassist 进行类转换

http://www.ibm.com/developerworks/cn/java/j-dyn0916/ Dennis M. Sosnoski (dms@sosnoski.com), 总裁, S...

Java基础-构造函数,覆写父类方法,多态及动态绑定,抽象类和Object类的运用

Java构造函数,覆写父类方法,多态及动态绑定,抽象类和Object类的运用

关于java中子类,父类中,静态代码块: staic{},动态代码块:{},构造方法,类属性,对象属性等执行顺序做个总结:

关于java中子类,父类中,静态代码块: staic{},动态代码块:{},构造方法,类属性,对象属性等执行顺序做个总结:

Java之String类--(1)构造方法

在Java中有很多常用类,String类就是其中的一种,这篇文章我们来简单介绍一下String类。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)