Sun Java Solaris Communities My SDN Account Join SDN
 
White Paper

The Java HotSpot Virtual Machine v1.4.0 Pg.5

 

[Table of Contents/Page 1]  [Page 2]  [Page 3]  [Page 4]  [Page 5]  

Chapter 5
Impact on Software Reusability
Overview

A primary benefit of object-oriented programming is that it can increase development productivity by providing powerful language mechanisms for software reuse. In practice however, such reusability is rarely attained. Extensive use of these mechanisms can significantly reduce performance, which leads programmers to use them sparingly. A surprising side-effect of the Java HotSpot technology is that it significantly reduces this performance cost. Sun believes this will have a major impact on how object-oriented software is developed, by allowing companies for the first time to take full advantage of object-oriented reusability mechanisms, without compromising the performance of their software.

Examples of this effect are easy to come by. A survey of programmers using the Java programming language will quickly reveal that many avoid using fully "virtual" methods (and also write bigger methods), because they believe that every virtual method invocation entails a significant performance penalty. Ubiquitous, fine-grain use of "virtual" methods, such as methods that are not "static" or "final" in the Java programming language, is extremely important to the construction of highly reusable classes, because each such method acts as a "hook" that allows new subclasses to modify the behavior of the superclass.

Because the Java HotSpot VM can automatically inline the vast majority of virtual method invocations, this performance penalty is dramatically reduced, and in many cases eliminated altogether.

It is hard to overstate the importance of this effect. It has the potential to change fundamentally the way that object-oriented code is written, since it significantly changes the performance trade-offs of using important reusability mechanisms. In addition, it has become clear that as object-oriented programming matures, there is a trend towards both finer-grain objects and finer-grain methods. Both these trends point strongly to increases in the frequency of virtual method invocations in the coding styles of the future. As these higher-level coding styles become prevalent, the advantages of Java HotSpot technology will become even more pronounced.

Chapter 6
Summary

The Java HotSpot VM delivers optimal performance for Java applications, delivering advanced optimization, garbage collection, and thread synchronization capabilities. In addition, this latest release offers new debuging capabilities which are designed to improve overall reliability and availability of Java technology applications. The Java HotSpot VM provides separate compilers for client and server environments so that applications can be optimized according to their target deployment environments. Scalability has been significantly enhanced with the availability of a 64-bit Java HotSpot Server Compiler.

With the Java HotSpot VM, client applications start up faster and require a smaller memory footprint, while server applications can achieve better sustained performance over the long run. Both solutions deliver an extremely reliable, secure, and maintainable environment to meet the demands of today's enterprise customers.

Chapter 7
Availability

The Java HotSpot VM is included in the Java 2, Standard Edition v1.4.0 platform environment. It is available at java.sun.com for the following environments:

  • Solaris Operating Environment for SPARC platforms. The optional Solaris OE 64-bit package must be installed to be able to run the 64-bit Java HotSpot VM.

    Solaris Operating Environment for Intel platforms

  • Linux Operating Systems: Red Hat versions 7.1 and 6.2 are the officially supported platforms. Most testing of J2SDK 1.4.0 for Linux has been conducted on Red Hat 7.1 with the sawfish window manager and Red Hat 6.2 with the Gnome desktop, and these are the officially supported platforms. However, J2SDK 1.4.0 has undergone limited testing on other Linux operating systems. See http://java.sun.com/j2se/1.4/install-linux.html for more information.

  • Microsoft Windows 95, 98, NT 4.0, ME, XP Home, XP Professional, 2000 Professional, 2000 Server, or 2000 Advanced Server operating systems running on Intel hardware.

The Java HotSpot Server VM is also included in the release of Java 2 technology from Hewlett-Packard for their PA-RISC hardware platforms. The Java HotSpot Client VM v1.31 is shipping as part of Apple OS X.

Back to Top

[Table of Contents/Page 1]  [Page 2]  [Page 3]  [Page 4]  [Page 5]