Java für Mac OS X
Die Klasse "Sys" wird in dem Buch "Java für Mac OS X" zur systemoptimierten, aber dennoch plattformunabhängigen Java-Programmierung eingesetzt.
Korrekturen
- Buch-CD
/examples/ch01/pathtest/
Leider ist eine zu alte class
-Datei auf der CD gelandet, so dass PathTest
nicht gestartet werden kann. Als Lösung compilieren Sie den (korrekten) Quelltext entweder selber neu, oder Sie laden sich hier die funktionierende Klassendatei herunter.
Ergänzungen
- Kapitel 1: Grundlagen
- Apple hat am 29.4.2005 Mac OS X 10.4 ("Tiger") veröffentlicht, das mit einer optimierten Java 1.4.2-Version ausgeliefert wird. Java 5.0 ist als separater Download ("Java 2 SE 5.0 Release 4" für PPC- und Intel-Macs) erhältlich, die zugehörige Entwicklerdokumentation gibt es bei der Apple Developer Connection (kostenlose Registrierung erforderlich).
Die Standard-Java-Version für Applets (in Safari) und Java-Web-Start-Anwendungen kann mit /Programme/Dienstprogramme/Java/J2SE 5.0/Java Preferences
umgestellt werden. Im Terminal hat dies aber keine Wirkung, hier müssen Sie die entsprechenden Java-Befehle direkt im Java-Framework des Systems aufrufen. Alternativ legen Sie sich passende Befehls-Aliase an - diese bash-Konfigurationsdatei (~/.bash_profile
) stellt die Befehle java13
, javac13
, java14
, javac14
, java5
und javac5
zur Verfügung.
Wichtig: Verbiegen Sie auf keinen Fall irgendwelche Links in den System-Frameworks, um die Java-Version im Terminal umzustellen (leider wird dies auf vielen Webseiten so beschrieben). Künftige Java-Updates könnten dadurch kaputt gehen.
- Kapitel 2: Entwicklungsumgebungen
-
- Kapitel 4: Ausführbare Programme
- Abschnitt 4.6.3, "Kommunikation mit dem Browser":
Apple hat einen Workaround für ein LiveConnect-Problem mit signierten Applets veröffentlicht.
- Kapitel 6: Mac OS X-spezielle Programmierung
- Abschnitt 6.1, "JNI":
Apple beschreibt in dem Artikel "Building a JNI Universal Application with Xcode", wie JNI-Bibliotheken als Universal Binary (für PPC- und Intel-Prozessoren) kompiliert werden.
- Abschnitt 6.4, "Cocoa Java":
Apple hat bekannt gegeben, Cocoa Java nach Mac OS X 10.4 nicht weiter zu entwickeln - ein weiterer, wichtiger Grund gegen den Einsatz dieser Technologie.
- Abschnitt 6.5, "AppleScript":
Als dritte Möglichkeit zum Einbinden von AppleScript in Java-Anwendungen steht auf der Seite kapsi.de die Klasse OSAScript
zur Verfügung.
- Kapitel 8: Werkzeuge
- Abschnitt 8.6, "Profiler":
Apple hat einen weiteren Artikel zu Shark veröffentlicht: "Optimizing your Application with Shark 4".
- Kapitel 9: Datenbanken und JDBC
- Abschnitt 9.3.1, "MySQL":
Der MySQL Administrator ist nun auch für Mac OS X verfügbar.
- Abschnitt 9.3.5, "Oracle":
Oracle hat die finale Version der Oracle Database 10g für Mac OS X veröffentlicht.
- Anhang C: Java 1.5 "Tiger"
- Wenn Sie die Klassen des Java 5-Pakets
java.util.concurrent
unter Java 1.4 nutzen möchten, finden Sie hier die passende Bibliothek.
- Anhang E: VM-Optionen
- Abschnitt "Übersetzung zur Laufzeit (JIT-Compiler)"
-XX:-InlineUnreachedCalls
Standardmäßig versucht die Laufzeitumgebung, bei so viel Code wie möglich ein Inlining durchzuführen, damit besser optimiert werden kann. Wenn Sie diese Option setzen, wird für Code, der normalerweise nicht erreicht wird (z.B. Exception-Behandlung), kein Inlining durchgeführt. Dies kann sich aber nachteilig auf die Performanz auswirken.
- Anhang G: Mac OS X- und Java-Versionen
- Eine aktuelle Übersicht der Mac OS X- und Java-Versionen (inkl. Mac OS X 10.4 und Java 5.0) befindet sich hier.
Referenzen
com.muchsoft.util.Sys
Mit der Klasse "Sys" können Sie Plattform-unabhängig abfragen, auf welchem System und mit welchen speziellen Pfaden Ihre Java-Applikation läuft. Damit können Sie bei bestimmten Betriebssystemen Optimierungen (z.B. bei der Benutzungsoberfläche) vornehmen.
Achtung: Die Klasse ist – ebenso wie die darin verwendete Apple-API – veraltet. Mittlerweile stehen aber ausreichend Alternativen zur Verfügung, beispielsweise in den Apache Commons.
Download Sys 2004-10-13
(83 K; JAR archive, source code, documentation)
Browse the online documentation.
The "Sys" class lets you determine on which system your Java application is running. Furthermore, it offers methods for cross-platform queries for paths such as the preferences folder. With this information, you can tune your applications for certain operating systems.
Warning: This library is deprecated, just like the Apple API it uses. However, there are several alternatives, e.g. the Apache Commons library.