Java 9

59 Beiträge · Seite 4 von 6

Socket-Optionen erfragen

· Christian Ullenboom

Socket und ServerSocket unterstützen Optionen wie zum Beispiel einen Type of Service oder TCP-NoDelay, wobei diese von System zu System unterschiedlich sein können. In Java 9 lassen sich die Optionen einfach abfragen. Beispiel: Gib alle Optionen aus: Die supportedOptions()-Methoden liefern eine Set<SocketOption>. Eine …

Weiterlesen: Socket-Optionen erfragen →

System-Logging in Java 9

· Christian Ullenboom

Logging von Bibliotheken und eigener Software ist eine Sache, eine andere ist, dass die Java SE Bibliotheken und die JVM z. B. bei –verbose:gc selbst auch loggen. Bis vor Java 9 war nicht standardisiert wohin die Ausgaben gehen und konnten nicht problemlos über einen benutzerinstallierten Logger geschrieben werden. …

Weiterlesen: System-Logging in Java 9 →

Multiplizieren von long-Ganzzahlen

· Christian Ullenboom

Es gibt keinen primitiven Datentyp der mehr als 64 Bit (8 Byte) hat, sodass das Ergebnis von long * long mit seinen 128 Bit nur in ein BigInteger komplett passt. Allerdings erlaubt eine neue Methode aus Java 9, die oberen 64 Bit einer long-Multiplikation getrennt zu erfragen, und zwar mit der Methode multiplyHigh(long …

Weiterlesen: Multiplizieren von long-Ganzzahlen →

Multiplizieren von int-Ganzzahlen

· Christian Ullenboom

Der *-Operator führt bei int keine Anpassung an den Datentypen durch, sodass die Multiplikation von zwei ints wiederum int liefert. Doch das Produkt kann schnell aus dem Wertebereich laufen, sodass es zum Überlauf kommt. Selbst wenn das Produkt in eine long-Variable geschrieben wird, erfolgt die Konvertierung von int …

Weiterlesen: Multiplizieren von int-Ganzzahlen →

Erweiterung von @Deprecated

· Christian Ullenboom

In Java 9 wurde der Annotationstyp @Deprecated um zwei Eigenschaften erweitert: String since() default „“. Dokumentiert die Version, seit der das Element veraltet ist boolean forRemoval() default false. Zeigt an, dass das Element in Zukunft gelöscht werden soll. Beispiel Ein Beispiel aus der Thread-Klasse:

Weiterlesen: Erweiterung von @Deprecated →

Schwache Referenzen und Cleaner

· Christian Ullenboom

Die Referenzen auf Objekte, die wir im Alltag um uns herum haben, heißen starke Referenzen, weil die automatische Speicherbereinigung niemals ein benutztes Objekt freigeben würde. Neben den starken Referenzen gibt es jedoch auch schwache Referenzen, die es dem GC erlaubt, die Objekte zu entfernen. Was erst einmal …

Weiterlesen: Schwache Referenzen und Cleaner →