Early Java(TM) virtual machines (Jvms) possessed several significant perfor
mance bottlenecks that inhibited the speed of Java workloads. This paper pr
esents the methodology that was used by ISM to identify and eliminate these
bottlenecks for improving the performance of Java applications running on
several operating system platforms. In addition, several of the key perform
ance problems that were common to all early Java virtual machine implementa
tions and how they were solved for ISM enhanced Jvms are described in detai
l. The issues discussed in this paper are focused on problems found in core
Jvm components, such as object synchronization, object allocation, heap ma
nagement, text rendering; run-time resolution, and Java class library metho
ds. The results obtained from applying the described methodology and elimin
ating the identified performance bottlenecks increased the performance of I
SM Java virtual machines by as much as four times on some workloads. The te
chnology discussed in this paper is applicable to other Jvm implementations
.