|
I've been writing articles about Java™ since 1999, published first by JavaWorld and then by several different zones within IBM® developerWorks®. My recent articles on developerWorks are listed below, with the newest articles on each topic listed first. Java Web services series (ongoing)The year ahead in Java Web services: Introduction to the series, and to the changes coming for SOAP Web services in 2006 Java classworking toolkit series (ongoing)Generics with ASM: Java generics signatures in the binary class representation, and the basics of using the ASM bytecode framework for working with generics Reflecting generics: Exploring how the Java reflection APIs can be used to dig out generic type information at runtime Combining source and bytecode generation: A look at how I'm implementing source code enhancement as an alternative to bytecode enhancement for JiBX 2.0 Inside JiBX code generation: A look at the techniques I used to handle bytecode generation for the JiBX XML data binding framework, including the features I added on top of BCEL to make it more usable Use J2SE 5.0 features on older JVMs: Using Retroweaver to adapt classfiles generated by the J2SE 5.0 compiler for execution on older JVMs, including support for J2SE 5.0-specific features such as generics Annotations
with ASM: Using the ASM bytecode framework to read annotations, with the
example application of generating ASM classworking: Trying out the ASM bytecode framework to evaluate performance and ease of use in a comparison with the older BCEL and Javassist frameworks Performance tracing with aspects: Converting the AOP logging example to a performance trace, and using it to look into Apache Axis performance Putting aspects to work: Using the AspectWerkz framework for AOP with standard Java programs, with logging as an example aspect Cover your code with Hansel and Gretel: A look at two open source tools for checking code coverage in testing XML transport performance series (2004)Improve XML transport performance, Part 2: Comparing the document size and processing overhead for XML documents represented as plain text, gzipped text, or a binary encoding Improve XML transport performance, Part 1: Discussing the tradeoffs in bandwidth vs. processing overhead for XML document exchange Java programming dynamics series (2004)Replacing reflection with code generation: Demonstrating how Java reflection can be replaced by dynamic code generation at runtime, and measuring the potential performance benefits Bytecode engineering with BCEL: Using the Byte Code Engineering Library (BCEL) to work with bytecode at the individual instruction level Aspect-oriented changes with Javassist: Using Javassist for systematic transformation of binary classes Transforming classes on-the-fly: Modifying classes with Javassist as they're being loaded into the JVM |