You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bcel-dev@jakarta.apache.org by Eugene Kuleshov <eu...@md.pp.ru> on 2007/03/23 02:15:04 UTC

JavaOne session Bytecode Manipulation Techniques for Dynamic Applications for the JVM

  Sorry for slight offtopic, but I'd like to announce JavaOne session 
TS-1326 - "Bytecode Manipulation Techniques for Dynamic Applications for 
the Java Virtual Machine" [1].

  The talk is presented by Tom Ware from Oracle, Tim Eck and yours truly 
(Eugene Kuleshov) from Terracotta and Charles Nutter from JRuby/Sun. We 
are planning to show examples of the bytecode transformations from the 
Oracle TopLink, Terracotta DSO and JRuby Compiler from the product 
developers. All those products choose ASM bytecode framework for its 
performance, simplicity and size.

  If you have any ideas or suggestions on what you would like to see in 
this talk please let me know.

  Here is the session abstract:/
/

    /The Java virtual machine (JVM) provides a proven platform for
    running reliable and high-performance applications. Its
    class-loading architecture enables dynamic applications, frameworks,
    and even languages other than the Java programming language to run
    and coexist in the same JVM.

    To make things even more dynamic while keeping an acceptable
    performance mark, many of those frameworks are generating Java
    bytecode, skipping compilation from Java technology sources or even
    instrumenting existing Java platform classes to introduce additional
    logic. This approach is used by several Java Persistence API (JPA)
    engines and Enterprise JavaBeans (EJB) 3 (JSR 220) containers to
    keep track of state changes for the managed components, to provide
    lazy data loading, transaction management, and clustering features.
    Several dynamic languages for the Java platform, such as JRuby,
    Groovy (JSR 241), and BeanShell (JSR 274), are also using bytecode
    generation to compile their own sources into Java bytecode and to
    provide interoperability with Java libraries.

    This session shows that bytecode manipulation is not that difficult
    and that it is very cool. It gives attendees a better understanding
    of how these dynamic frameworks do their job and how these ideas can
    be used for other applications. Using a popular open-source bytecode
    manipulation framework, it shows several practical applications of
    bytecode generation used in real products. /

  regards,
  Eugene

[1] 
http://www28.cplan.com/cc158/session_details.jsp?isid=286326&ilocation_id=158-1&ilanguage=english