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

原创 2007年09月25日 12:15:00

http://blog.csdn.net/loveyly/archive/2007/09/21/1794927.aspx 第一部分
http://blog.csdn.net/loveyly/archive/2007/09/21/1794971.aspx 第二部分
动态构造 Java 类, 还有个作用就是性能的提升. 巧用这个方法, 会大大的提升系统的性能. 我举个例子, OGNL2.7 版本中就是用 javassist 构造对象的访问代码, 将以前涉及到大量同步操作的代码全部去掉了. 这样一来, 访问对象就是直接调用一个类的方法, 没有任何反射在里面, 性能非常好.

对于性能提升, 这里主要运用到的是将很多通过反射或者 Java Bean Property 的操作封装成一个可以直接调用的 Java 代码. 一般来说, 这个封装类会实现一个接口, 然后调用者直接调用这个接口的某个方法去访问数据对象的某个成员变量.

也就是将一个本来不知道类型的对象实例, 封装成了一个统一的访问接口实现. 这也是用好动态 Java 生成技术的一个思路. 不过一定要注意, 这个接口定义一定是某个模块内部的. 比如 OGNL , 这个接口就只会在模块内部使用.

这个思路可以运用到其他很多地方. 希望大家能多多提供应用实践. 呵呵 

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

相关文章推荐

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

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

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笔试题总结3:父类构造器调用被子类重写方法

题目: 请看下列程序,运行结果是 class Super{ int i = 10; Super(){ print(); i = 20; } void print(){ System....
  • vvqboy
  • vvqboy
  • 2012-06-15 15:38
  • 3896

Java 反射:Class类,动态加载类获取方法和成员变量构造信息,方法反射的基本操作,集合泛型的本质

概述 1.Class类   1) 在面向对象的世界里,万事万物皆对象。(java语言中,静态的成员、普通数据类型除外)            类是不是对象呢?类是(哪个类的对象呢?)谁的对象呢? ...

Java动态编程之javassist

概述  Javassist是一款字节码编辑工具,可以直接编辑和生成Java生成的字节码,以达到对.class文件进行动态修改的效果。熟练使用这套工具,可以让Java编程更接近与动态语言编程。教程mav...
  • FX_SKY
  • FX_SKY
  • 2016-06-19 00:32
  • 1341

Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)

class文件简介及加载      Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机...

一种Java运行时动态生成class的方法

Java运行时动态生成class的方法Java是一门静态语言,通常,我们需要的class在编译的时候就已经生成了,为什么有时候我们还想在运行时动态生成class呢?因为在有些时候,我们还真得在运行时为...

【转载】Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM)

class文件简介及加载      Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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