Java Classloaders: The good, the bad and the WTF.
Speaker: Simon Maple.
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 goes 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 will look at typical problems that you get with class loading and how to solve them. ClassNoDefError, IncompatibleClassChangeError, LinkageError and many others are symptoms of specific things going wrong that you can usually find and fix. For each problem we’ll go through a hands on demo with a corresponding solution.
We’ll also take a look at how and why classloaders leak and how can you remedy that.
Simon is a Technical Evangelist at ZeroTurnaround and founder of the vJUG (virtualJUG), in addition to being an active member of the London Java Community (LJC) organising group and LJC JCP EC committee member. All of his community efforts culminated in him being awarded Java Champion status in 2014. Simon used to be a tester, developer and technical evangelist for IBM on the WebSphere Application Server for 12 years prior to joining ZeroTurnaround. He’s married with a son and dog who he tries to spend as much quality time with as he can.