Women in Technology

Hear us Roar



Subject:   Byte Code Enhancement vs. Class Mutilation
Date:   2002-12-10 13:36:53
From:   anonymous2
I had the same concerns when I looked at byte code enhancement via JDO for the first time. Then I educated myself.


Byte code is a language specified in the Java language spec. It a very clearly specified language with very specific rules.


Also, you compile your classes don't you? Is that mutilation of your code also?


The positives of byte code enhancement are clear. No line number issues when debugging, no problems using tools like CVS, etc. JDO is extremely lightweight relative to other proprietary and standardized persistence options. Part of this is because of enhancement.


Many of the enhancers used by JDO vendors are open sourced (RI and others). If you are uncomfortable with byte code manipulation see what they are doing.


Finally, JDO doesn't prescribe a byte code enhancer. I beleive there are vendors out there with source code enhancers. If you don't want the so called "mutilation", you can choose not to use a byte code enhancer.


I for one, will happily take the benefits of JDO (30% code reduction, much cleaner code) and byte code enhancement, over the other options.

Main Topics Newest First

Showing messages 1 through 2 of 2.

  • Byte Code Enhancement vs. Class Mutilation
    2002-12-10 17:15:09  anonymous2 [View]

    Byte code enhancement, class mutliation, source code enhancement --- it all sounds like a hack job to me. A technically pure JDO implementation would not make any requirements regarding source code changes or class file changes. However, you are right, the benefits do outweigh the hack.
  • Byte Code Enhancement vs. Class Mutilation
    2003-06-14 15:47:38  anonymous2 [View]


    Bytecode enhancement (manipulation)

    Open source libraries

    Jakarta Byte Code Engineering Library
    http://jakarta.apache.org/bcel/

    JBoss Javassist
    http://www.jboss.org/index.html?module=html&op=userdisplay&id=developers/projects/javassist

    http://asm.objectweb.org/

    http://serp.sourceforge.net/