Bytecode Manipulation in the Real World
0ee5be41-2984-4b99-801e-cb3a2fbbdfb4
|
Presentation |
Abstract:
Byte code manipulation has become increasingly popular over the last
years. It is used by JPA implementations, application servers, AOP
libraries, web frameworks, monitoring systems, profilers, clustering
solutions, scripting languages, workflow engines, and much more. In
fact, most of today's applications will most probably rely on byte
code manipulation, often even without realizing.
Application developers however seem to be overly careful and often
frown upon byte code manipulation as an arcade art that is risky and
difficult to understand. This presentation will show you that it's
easier than you think. We'll go over concise examples that illustrate
the concepts. Distinct patterns, coming from different domains, will
give you ideas about adopting byte code manipulation for your own
products. You'll learn arguments to reassure skeptics and see how the
manipulation can plugged into your tool chain. We'll finish off with
tips and tricks to write maintainable code with the ASM library.
After this session you'll see byte code manipulation as another tool
in your arsenal and you'll have a good picture of how to start using
it yourself.
Outline:
- Introduction
- What is byte-code manipulation?
- Popular projects and what they use it for
- Don't be afraid
- Plugging in the manipulation
- Code examples from open-source projects using ASM
- Tips, tricks and gotchas
- Q/A
Language:
English
-
Geert BevinGeert is a senior engineer at Terracotta Inc., the founder of Uwyn, and the creator of the RIFE project, which provides a full-stack Java Web application framework for quickly building maintainable applications. He also started or contributed to projects like Bla-bla List, OpenLaszlo, Drone, JavaPaste and Gentoo Linux. Geert has spoken at TSSJS US & Europe, JavaOne, NFJS, QCon, JavaZone, Øredev, Java In Action, EuroOSCON, Fosdem and JavaPolis. He has been nominated and accepted as a Java Champion, mainly for his work on the RIFE project and its support for native Java continuations.



Intermediate
Core Java