Running classes using JVM direct execution

You can configure an application server to run classes directly instead of using the just-in-time (JIT) mode.

About this task

A class loader loads product 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® Java™ virtual machine (JVM) can be used to run classes directly.

When the product component code is running, Java program (JVAPGM) objects are not used. Classes that a JVM class loader or the product 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 the product 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:

Procedure

  1. In the administrative console, click Servers > Server Types > WebSphere application servers > server_name.
  2. Under Server Infrastructure, click Java and process management > Process definition > process_name > Java virtual machine.
  3. In the Additional Properties section, click Custom properties > New.
  4. Specify one of the following for the Name and Value of the new custom property:
    • os400.defineClass.optLevel in the Name field and a direct execution optimization level in the Value field. (Specify 0 for interpret, or specify direct execution optimization levels of 10, 20, 30, or 40.
    • java.compiler in the Name field and NONE in the Value field. (This combination makes the application server use full interpretation for all product components.)
  5. Click OK and then click Save to save the configuration changes.
  6. Restart the application server.

Results

You can now use JVM direct execution to run classes.



In this information ...


Related concepts

IBM Redbooks, demos, education, and more

(Index)

Use IBM Suggests to retrieve related content from ibm.com and beyond, identified for your convenience.

This feature requires Internet access.

Task topic    

Terms of Use | Feedback

Last updated: Oct 21, 2010 3:36:59 AM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=compass&product=was-express-iseries&topic=trun_jvm_direct
File name: trun_jvm_direct.html