This content has been marked as final. Show 1 reply
There are two parts to using ITC effectively. The first is the actual compilation that occurs at initialization - this is defined by your precompile list. The second is to get all those classes you intend to apply ITC to, pre-initialized when the VM starts up - the pre-init list. In that way all of the critical code is fully compiled prior to the application actually commencing execution.
The code you may want to compile will often cross the boundaries of packages and jar files, so using a jar as a unit of compilation would not be very effective as you'd end up adding a lot of jars and compiling a ton of unnecessary stuff. The pre-init and pre-compile lists let you select exactly what code you want to be pre-compiled for time critical threads.
That said in 2.1 there are some issues with the ITC mechanism and that is being addressed for 2.2