Someone Please Explain This
May 2nd, 2008
I don’t understand this claim:
Another problem is that it only supports 64 bit applications. Bye bye applets in Safari.
I found that in this article about Java 6 on Mac.
I always assumed that Java .class files are the same regardless of platform. A .class file compiled on one system should still run on Macs, even though their VM is 64-bit. But that quotation sounds as if the .class file format is different and code must be specifically compiled in some 64-bit mode to run on Macs. What am I missing?
The bytecode is still the same.
Is Safari still 32-bit?
So is he trying to say that Safari, a 32-bit app, cannot support the new JRE, which is 64-bit?
According to Alex (http://www.weiqigao.com/blog/2008/04/30/swt_detractors_rejoice.html#comment1209565827839), that’s apparently the case.
Yes. Safari is 32bit. And there’s no good reason for it to be 64bit. Surf many 4GB web pages? The real brain-damage is that apple’s Java1.6 is 64-bit only. What’s up with that? So, if you’re application depends on features introduced with 1.6 you can forget about write-once-run-anywhere.
$ file Safari.app/Contents/MacOS/Safari
Safari.app/Contents/MacOS/Safari: Mach-O universal binary with 2 architectures
Safari.app/Contents/MacOS/Safari (for architecture i386): Mach-O executable i386
Safari.app/Contents/MacOS/Safari (for architecture ppc7400): Mach-O executable ppc
A wild guess would be that the VM is 64 bit and can therefore not be loaded into a 32 bit application like Safari.
It’s perfectly possible for a 64bit browser to use a 32bit plugin.
Konqueror can do this for Flash, for instance.
We’re not talking about a 64-bit browser running a 32-bit plugin. We’re talking about a 32-bit browser running a 64-bit plugin.