Apple equals Windows JVM performance

Claiming a performance improvement of up to five times, Apple Computer Inc. says its new Java Virtual Machine will finally put Macintosh and Windows Java development on equal footing.

The Mac OS Runtime for Java 2.1 (MRJ 2.1) is based on Sun Microsystems Inc.’s Java Development Kit (JDK) 1.1.6. It features an array of new features, the result of Apple’s efforts over the past year to boost overall Java performance.

Last March, Apple announced that it would merge its JVM with Microsoft Corp.’s to create a single MRJ. Then in May, at Apple’s Worldwide Developer Conference, interim CEO Steve Jobs announced that he would make Java performance on the Macintosh “second to none.”

Apple started to make good on the promise last summer when it announced it would integrate Symantec Corp.’s Just-in Time Java compiler with its MRJ.

Released in February, MRJ 2.1 features not only core Apple technologies like the multimedia architecture tool QuickTime – in this case QuickTime for Java, expected in the next QuickTime release – and AppleScript, but also Symantec’s JIT compiler and Swing, a graphical user interface tool which will allow Mac developers to give Java applications a Macintosh look and feel.

According to Bruce Hough, national software specialist with Apple Canada Inc. in Markham, Ont., with the release of MRJ 2.1, Apple performance now equals Java development on Windows.

“[Users] are going to notice performance when they develop on a Macintosh…and customers are going to get a good experience from that,” he said.

Some features for Java on Macintosh are still on the drawing board – while MRJ works with Microsoft’s Internet Explorer, versions of Netscape Navigator up to and including 4.5 feature a separate JVM that cannot be configured to use MRJ. Apple is working with Netscape to add support for MRJ to Navigator.

And while newly-released MRJ 2.1 does support Sun’s JDK 1.1.6, most other Java vendors are currently working on integrating the more recent Java 2.

“[MRJ 2.1] brings us as close as we can get to a moving target at any point in time,” Hough admitted. “We’re working on that, but as far as I know, no other commercial group has come out with Java 2.0…and we’re not about to ship anything until it’s a final process.”

Andrew Johnston, Mac developer and president of Strangeloop Services, a software consultant firm based in Toronto, has tried MRJ 2.1 and said it’s a big improvement over older Apple JVMs.

“It was really pretty bad before,” he said. “(But) the performance (of MRJ 2.1) is not only acceptable, it’s quite reasonable. It’s as good as any Windows machine that we have in our office today, so it’s now a full peer as far as I’m concerned.”

Johnston especially likes the support for the Swing user interface toolkit, which he said allows him to “mouse-click” the things that users like to do. But he stressed that Apple would do well to work diligently on supporting Java 2.

“There are features in Java 2 that are significant to the kind of work that we do, distributed computing and that sort of thing. There have been changes and improvements to the Java RMI interfaces and support for Sun’s Jini. So that’s something we’re exploring now. And if we decide to go ahead with it, it would be nice to have support on all the platforms that concern us, including the Macintosh.”

But another Mac developer said he and his colleagues have shied away from Java, which he said “isn’t quite there yet,” in favour of the less talked about OpenStep for the Mac OSx, which he’s integrating with Objective C, an extension of the C programming language.

OpenStep is an OS-independent platform based on Next Software Inc.’s NextStep environment. Next was founded in 1985 by Jobs and later merged with Apple in 1996. Some Next technology was used to revamp the MacOSx platform.

Craig White, manager of client applications with Comnetix Computer Systems Inc. in Oakville, Ont., said Java is based on some of the concepts found in Objective C, and that it’s still being used by a small but loyal group.

“A few of them are starting to learn Java, and a few of them are learning this as well…but unfortunately, [Java] hasn’t hit the mark in a few areas,” he said. “With this Objective C world, not too many people realize that it’s already there, and that there’s a small group of people that know it and are really utilizing it. And it’s cross platform, too.”

MRJ 2.1 is currently available for download from