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

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

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值