Apple Updates to Java 1.4.1
A user writes, "Apple has caught up with the times and updated their Java to 1.4.1, bringing it completely up to date with the newest release from Sun. It now takes advantage of Aqua and Quartz Extreme, is usable via Universal Access, and can be controlled through AppleScript." It provides 1149 new classes over 1.3.1, a new native I/O API, updated XML tools (SAX 1.0/2.0, DOM 1.0/2.0, XSLT), I18N and L10N enhancements for Unicode 3.0, regexes, IPv6, faster loading of applets, improved caching, storing of certs in the Keychain, faster UI, more Aqua-like UI ... and native Java applet support for Safari.
Time to try IDEA
Guvf vf abg n EBG zrffntr
Full release notes from Sun Microsystems on release 1.4.1, includes overview of changes and detailed description on many updated packages, etc.
It is a little rough around the edges and really needs some fine tunning but runs like a dream on my PowerBook running on JAVA 1.3 no less. With any luck they will upgrade it to use the 1.4 code base they are already using for Windows and Linux clients. It is quite resource intensive, however on the Powerbook I don't notice that at all (just on the Windows development machine at work ~sigh~).
Just installed it and now I can finally scroll a web page with an embedded Java applet without leaving behind artifacts in the broswer window from the applet. The difference is obvious in a page like news.bbc.co.uk were the news ticker no longer corrupts the whole page view when scrolling.
XNap works great. Always finds more files than Limewire. Get it at http://xnap.sf.net
Apple's 1.3 VM was DEFINATELY NOT CLI ONLY.
It had a perfectly reasonable AWT/Swing implementation which was derived from the old Mac OS 9 implementation and ran ontop of Carbon, which means it did have the Aqua look and feel and it did run ontop of Quartz.
You can just about make that out in this diagram: http://developer.apple.com/macosx/images/sysarch_s m.gif
Now, we can talk about reimplementing AWT/Swing ontop of Cocoa rather than the crufty 20 year old foundation that is Carbon - and probably we can agree its a great thing, but it sure did take a long time. Its definately not the case that this is the first release with an Aqua GUI though!
Lord Pixel - The cat who walks through walls
A little bigger on the inside than out
"Useful" is a relative term but I use Thinkfree as my main Office suite. It is built on Java architecture.
My personal best Java app for OSX is DVArchive. It requires Java 1.4.1, for which I installed the beta 10 version yesterday. Arrghh!
Anyway, I am hoping that this will make DVArchive run even better.
and my favorite, Arachnophilia, finally works on my mac! I am now happy again..
:)
Well, that and my dos xx is right here as well
The "Java 1.4.1 Developer Tools Update" available via https://connect.apple.com/ -- after you log in, it's under "Java" under "Download Software". There used to be "Recent Updates" section where they put stuff like this, but it seems to have gone missing.
What I really want to know is why it's 48.6mb for the dev tools on top of the 26mb (I didn't write it down, so I could be wrong) for Java 1.4.1 itself.
I don't think the parent post meant that Java for OS X run only from the command line (obviously it didn't), or that it didn't support Swing (well, duh, of course it did), but that support for these things was weak -- which was certainly true.
Mr. Cornelius is right that Java has been something of a second-class citizen on OS X. Java is privileged to be a real citizen of an OS at all -- on Linux it is a sort of visiting dignitary, and on Windows it is a sort of persecuted immigrant. But OS X Java wasn't perfect: Swing apps, while they looked great, definitely didn't run as smoothly as Carbon and Cocoa apps. Applet support was mostly good, but still spotty. Apps were slow, especially UIs and graphics in general. And, of course, Java was waaaay out of date.
The new version of Java is a huge leap forward in all these problems. With this newest release, it looks much more like a "first-class" citizen than it ever did before.
IIRC Apple has had the Java 1.4 beta on the ADC website since the start of the year, you could have got it from there.
Go out and get sailing!
Java 1.5 is scheduled for release at the end of the year. I would expect to see a preview release or at least some serious info in June around JavaOne time.
"Let your heart soar as high as it will. Refuse to be average." - A. W. Tozer
Freeguide is pretty cool. It didn't run at all on OSX's old 1.31-based JVM (nor on some of the earlier 1.4 betas), but I'm running it right now on top of the new JVM.
Yeah But it broke my blender!!!!!!! www.blender.org ..and this is on topic, blender is a 3d rendering tool that apparently used java to do its work on OSX
Cheers
Doesn't look like it. Just tried and no dice. I wish someone would prove me wrong, please.
crushftp found at http://crushftp.com/
java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-39)
Java HotSpot(TM) Client VM (build 1.4.1_01-14, mixed mode)
LimeWire(Acquisition)/0.8
LWMain A
SettingsManager: loadDefaults()
ConnectionManager initialize()
And so forth.
"Reality is just a convenient measure of complexity" -Alvy Ray Smith
You need to specify the new Look And Feel class name. This used to be 'com.apple.mrj.swing.MacLookAndFeel',but now is 'apple.laf.AquaLookAndFeel'.
/Library/Java/Home -fontsize 12 -ui apple.laf.AquaLookAndFeel
So from command line type: [Netbeans Home]/bin/runide.sh -jdkhome
So if your 1.3.1 app uses any Mac-specific functions, you may need to rewrite them for 1.4.1 compatibility. However, if it is bundled as a Mac OS X app, it will (as stated above) get 1.3.1 by default, so end-users will have no problems with any existing applications (that's the Apple Way).
The rules for whether you get 1.3.1 or 1.4.1 are:
command line:
You get 1.4.1 by default. If you want 1.3, you need to execute:(javac is in the same directory if you need the compiler or other tools)
btw I have no idea why there is a space in "Versions" above: if you see it, it shouldn't be there
double-clicked jar files:
You always get 1.4.1.
Mac OS X bundles:
You get 1.3.1 by default. How to specify 1.4.1 depends on whether the app was made with MRJAppBuilder (from the 1.3.1 Dev Tools) or Jar Bundler (from 1.4.1 Dev Tools). For MRJAppBuilder apps, add this line to YourApp.app/Contents/Resources/MRJApp.properties: For Jar Builder apps, in the YourApp.app/Contents/Info.plist file, in the Java section add a key called JVMVersion with a value of 1.4* (you can use the Property List Editor or a text editor).
All this and more is documented in the Release Notes.
Ivan.
Limewire is NOT compatible with 1.4.x at the moment, so it will actually revert to the 1.3 java installation, which, incidentally, is kept on your machine. Once limewire releases a 1.4 version, THEN we'll see some great improvements.
I installed and ran a perfunctory test of the new Java Runtime last night. I then fired up Robocode. I have a Powerbook G4 550, and in the past, I would see around 12 fps during the battles. With the new Java, I was seeing 24 fps consistently!
This is a great leap forward, IMHO.
"Smart is sexy." -- D. Scully ("War of the Coprophages")