Chapter 7. Java Performance
Highlights:
y
Introduction
y
What’s new in V6R1
y
IBM Technology for Java (32-bit and 64-bit)
y
Classic VM (64-bit)
y
Determining Which JVM to Use
y
Capacity Planning
y
Tips and Techniques
y
Resources
7.1 Introduction
Beginning in V5R4, IBM began a transition to a new VM implementation for i5/OS, IBM Technology for
Java, to replace the Classic VM. This transition continues in V6R1 with the introduction of a 64-bit
version of IBM Technology for Java, providing a new solution for Java applications which require large
amounts of memory. The transition is expected to be completed in the next version of i5/OS, which will
no longer support the Classic VM. In the mean time, one of the key performance -related decisions for
i5/OS Java users is which JVM to use.
Earlier versions of this document have followed the performance of Java from its infancy to maturity.
Early Java applications were often a departure from the traditional OS/400 application architecture, with
custom application code responsible for a large portion of the CPU used by the application. Therefore,
earlier versions of this document emphasized micro-optimizations – relatively small (though often
pervasive) changes to application code to improve performance.
Today’s Java applications, however, typically rely on a variety of system services such as JDBC,
encryption, and security provided by i5/OS, the Java Virtual Machine (VM), and WebSphere Application
Server (WAS), along with other products built on top of WebSphere. As a result, many Java applications
now spend far more time in these system services than in custom code. For many applications, this means
that performance depends mainly on the performance of IBM code (i5/OS, the Java VM, WebSphere,
etc.) and the way that these services are used by the application. Micro-optimizations can still be
important in some cases, but are not as critical as they have been in the past.
Tuning is also important for getting good performance in the Java environment. Tuning garbage
collection is perhaps the most common example. Thread and connection pool tuning is also frequently
important. Proper tuning of i5/OS can also make a big impact on Java application performance.
7.2 What’s new in V6R1
In V5R4 IBM introduced IBM Technology for Java, a new VM implementation built on technology used
across all of the IBM Systems platforms. In V5R4 only a 32-bit version of IBM Technology for Java was
supported; in V6R1, a new 64-bit version of IBM Technology for Java is also available, providing a new
IBM i 6.1 Performance Capabilities Reference - January/April/October 2008
©
Copyright IBM Corp. 2008
Chapter 7 - Java Performance
125