JavaZone 2009 - Do you really get class loaders?

Class loaders are at the core of the Java language. Java EE containers, OSGi, NetBeans modules, Tapestry 5, Grails and many others use class loaders heavily. Yet when something would go wrong, would you know how to solve it?
In this session we'll take a tour of the Java class loading mechanism, both from JVM and developer point of view. We'll see how different delegation systems are built, how synchronization works, what is the difference between finding classes and resources, what wrong assumptions has been made and are now supported.
Next we will look at typical problems that you get with class loading and how to solve them. ClassNotFoundException, ClassNoDefError, LinkageError and many others are symptoms of specific things going wrong that you can usually find and fix. We'll review ways to fight with JAR hell and JAR locking and caching. Finally we'll take a look at things in the class loader world that are broken beyond repair and how to recognize and work around them.
Jevgeni Kabanov

Jevgeni Kabanov

Jevgeni Kabanov is the founder and lead of ZeroTurnaround (www.zeroturnaround.com), a development tools company that focuses on productivity. Before that he worked as the R&D director of Webmedia, Ltd, the largest custom software development company in the Baltics. As part of the effort to reduce development time tunraround he wrote the prototype of the ZeroTurnaround flagship product, JavaRebel, a class reloading JVM plugin.
Jevgeni has been speaking at international conferences for several years, including JavaPolis/Devoxx, JavaZone, JAOO and so on. He also has an active research interest, publishing several papers on topics ranging from category theoretical notions to typesafe Java DSLs.
Besides the commercial products made for ZeroTurnaround, Jevgeni is a co-founder of two open-source projects -- Aranea and Squill. Aranea (www.araneaframework.org) is a web development and integration platform based on strong object-oriented principles. Squill (squill.dev.java.net) is a typesafe internal DSL for constructing and executing SQL queries.
Jevgeni's personal blog can be found at dow.ngra.de.