Slashdot Mirror


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.

7 of 148 comments (clear)

  1. Yay for me! by Dark+Paladin · · Score: 5, Interesting

    I do development work (well, or did, but that's another isue), and the Lnux systems use Tomcat with Java 1.4 - mainly because it has the Regular Expressions stuff built in.

    I usually develop things on my Mac laptop, then transfer thing over to the official test system. But since I only had Java 1.3, it was harder to develop my stuff for them - I had to have a separate Linux box just for me to use as a mini-server.

    Well, I no longer work there and am about to take another job, but at least I an update my system and work on my new web publishing system.

    My only fear? That Java 1.5 will be released in a few weeks....

  2. Documentation/Changelog/New futures by jeneag · · Score: 5, Informative

    Full release notes from Sun Microsystems on release 1.4.1, includes overview of changes and detailed description on many updated packages, etc.

    1. Re:Documentation/Changelog/New futures by jdb8167 · · Score: 5, Interesting

      Ignorance is bliss.

      If you think switching from old apple MRJ (carbon) to Cocoa and a very standard JVM is trivial you are sadly mistaken.

      This release is a huge win for OS X users. It puts the Mac in parity with Sun JVMs for the first time in many years. The UI is greatly enhanced by the use of Aqua and hardware graphics acceleration.

      I suspect that finally OS X can stay nearly in parity with Sun's releases.

  3. Re:Best Java Apps? by WatertonMan · · Score: 5, Interesting
    I guess that's my point. All the good Java applications are Java development programs. JEdit, JBuilder, Poseidon and a half dozen other UML/workflow programs. There are many others I didn't mention.

    My point is that Java seems primarily used for client/server applications or XML based messaging. (Thus the large number of UML programs) The end user applications end up tied into that via support. Other than a few so-so chat or P2P clients, I just don't see many end user applications writen for Java.

    Don't get me wrong. I'm not knocking Java. Some folks who work here swear by it. We're even going to start coming out with some nice Java libraries and toolkits ourselves. But it seems oriented towards custom programs and perhaps largely the enterprise. Sort of one step up above scripting languages like Perl or Python but not quite in the C++ territory.

    Yet I just never see applications outside of that market. Not a slam. Just curious. It just seems odd that there are more Basic programs for OSX than Java. (At least judging by what gets downloaded at VersionTracker)

  4. Refreshing . . . by bedouin · · Score: 5, Insightful

    It's nice to have OS X remind me of updates that actually IMPROVE performance. This is real nice coming from a Windows world where every week there's a new "Windows update," fixing some bug that was discovered 2 weeks before.

    The difference? In Windows land an update meant, "Fuck, what 'security patch' is ready to be downloaded now? This is so annoying." In OS X, when software update pops up I'm generally wondering what new improvements there are to things overall, and happy about it.

  5. Re:Arrrg ( ... the price we pay) by Pyrometer · · Score: 5, Insightful
    Enough with the fricken restarts... this isn't part of the OS.

    I first thought of this but realised the following:

    1. When upgrading from JAVA 1.1.x to 1.2 on a Solaris platform I had to install a mirrad of software updates for the OS for JAVA to run. This has probably been the case for going to 1.3 and 1.4 although I havn't had to "administrate" a Solaris system to do this in the last couple of years.
    2. Apple seems to have integrated JAVA quite a bit in to the overall OSX structure (look at those pretty bubble diagrams showing all the OS layers). This probably explains why JAVA applications run so damn fast compared to Windows machines running the same application.
    3. As noted in point 2, your comment "this isn't part of the OS" is probably not correct. From what I see at the layer point of view ... it seems JAVA is a 'part' of the OS.

    I don't think it is a bad price to pay considering the performance of JAVA applications on OSX ... but your right it was annoying, I hate losing my uptime on the powerbook :)

  6. Re:1.3 and 1.4.1? by IvanXQZ · · Score: 5, Informative
    While it is (mostly) true that Java 1.4.1 is backwards compatbile with 1.3.1, it is not true that Apple Java 1.4.1 is backwards compatible with Apple Java 1.3.1, which is why both remain present for end users as well as developers. To wit, QTJava is different, JDirect no longer exists, the com.apple.mrj.* API's have all been deprecated or outright removed, a number of the environment properties have changed, etc. (this stuff is all documented in the Release Notes, which is required reading IMO). In addition, there are a very small number of incompatibilities between 1.3.1 and 1.4.1 in Sun Java itself, at least during compile time.

    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:
    /System/Library/Frameworks/JavaVM.framework/Versio ns/1.3.1/Commands/java
    (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:
    com.apple.mrj.application.JVMVersion=1.4*
    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.