« Strategies for Securing Java Technology Code (TS-5210) | Main | Java APIs for XML-Based Web Services Addressing: An Overview of JSR 261 (BOF-9061) »

Mac OS X and Java Technology: The Ultimate Development and Deployment Platform for J2SE (BOF 9823)

Presented by Alan Samuel from Apple.

Java performance on Tiger is measurably better than on Panther due to bug fixes and performance enhancements. This is largely due to the fact that the Java implementation is built upon core OS functionality. Also, the 1.3 implementation was Carbon-based, and subsequent implementations have been Cocoa-based. The Aqua look-and-feel is everywhere since the JVM is built on Cocoa.

Tiger included three JVM implementations: 1.3.1, 1.4.2 and 5.0. The default JVM is 1.4.2. The default can be specified using the Java Preferences panel.

G5 performance is more than double the performance on a G4 CPU of comparable frequency. This is due to the use of the 64-bit address space.

Bonjour for Java is a network-discovery protocol. It's bundled with Tiger, and available for Windows. I'd like to look into the Rendevous APIs for Java.

Shark can be used to identify hot allocations and hot methods. It works with all Java version (5.0, 1.4.2, 1.3.1). Add -XrunShare to your Java flags, and attach to your Java application to obtain profiling output. It appears that Shark is available only in XCode 2.1, or Tiger.

Regarding the Intel move, Java 1.3.1 applications need to be compiled with C2 which performs up-front compilation and yields poorer performance. Java 1.4.2 and 5.0 apps use C1 for compilation which uses the Hotspot JIT compiler and require no changes in process.