Modularisierung mit Java 9 by Guido Oelmann

Modularisierung mit Java 9 by Guido Oelmann

Autor:Guido Oelmann
Die sprache: deu
Format: epub
Herausgeber: dpunkt
veröffentlicht: 2018-03-21T16:00:00+00:00


6.2Fallstricke

Da die Abwärtskompatibilität auch mit der Entwicklung des Modulsystems bewahrt bleiben sollte, gibt es eine überschaubare Menge von Fallstricken, die bei der Umstellung zu beachten sind. Die wichtigsten im Auge zu behaltenden Inkompatibilitäten, die vor allem mit der Modularisierung des JDK Einzug gehalten haben, sind folgende:

Kein oder nur beschränkter Zugriff auf interne APIs Eine Anwendung sollte nur von standardisierten und nicht veralteten Java SE APIs abhängen, da JDK-interne APIs ab sofort auch in Module gekapselt sind und durch die starke Kapselung keinerlei Zugriffsmöglichkeiten auf diese mehr vorhanden sind. Mit Java SE 8 kompilierte Anwendungen können mit jdeps -jdkinternals <jars> auf ihre Abhängigkeiten untersucht werden. Einige in der Java-Community sehr stark verwendeten interne Java SE APIs werden nach langer Diskussion auch noch mit Java 9 nutzbar sein. Beispielsweise wurde eine Übergangslösung für die weitere Nutzung der Klasse sun.misc.Unsafe geschaffen, wobei einige Methoden dieser Klasse in Java 9 bereits durch Alternativen ersetzt wurden und genutzt werden können. Auf lange Sicht wird die Zugriffsmöglichkeit auf die interne APIs sicher verschwinden, so dass eine entsprechende Anpassung empfehlenswert ist.

Bis dahin kann das Modul jdk.unsupported importiert werden, welches die Pakete sun.misc, sun.reflect und com.sun.nio.file exportiert und die ersten beiden zusätzlich auch für Deep Reflection öffnet.



Download



Haftungsausschluss:
Diese Site speichert keine Dateien auf ihrem Server. Wir indizieren und verlinken nur                                                  Inhalte von anderen Websites zur Verfügung gestellt. Wenden Sie sich an die Inhaltsanbieter, um etwaige urheberrechtlich geschützte Inhalte zu entfernen, und senden Sie uns eine E-Mail. Wir werden die entsprechenden Links oder Inhalte umgehend entfernen.