You can configure an application server to run classes directly instead of using the just-in-time (JIT) mode.
A class loader loads WebSphere Application Server components such as servlets, JavaServer Pages, and enterprise beans. These components do not run classes directly. The direct execution (DE) capabilities of the i5/OS JVM can be used to run classes directly.
When WebSphere Application Server component code is running, Java program (JVAPGM) objects are not used. Classes that a JVM class loader or the WebSphere Application Server extensions class loader load use DE capabilities and JVAPGM objects. Java caching enables these components to use permanent JVAPGM objects and DE capabilities, even though most applications do not require this functionality.
By default, application servers run with the java.compiler Java system property set to jitc_de. This value indicates that JIT compilation is done for any Java object for which a JVAPGM object does not exist (or cannot be used, as is the case for WebSphere Application Server application class loaders). This setting provides the best overall performance.
You can configure application servers to use direct execution instead of JIT compilation. Doing so results in longer startup times, because creating a JVAPGM takes longer than creating JIT stubs. Because of performance improvements in the JIT run time, performance of direct execution even after JVAPGM creation is probably slower.
To configure an application server to use direct execution for all classes: