24
Jul
/
Wie viel Speicher sparen wir durch Compact Strings?
Das Java Enhancement Proposal (JEP) 254 hat char[] in unseren Strings durch byte[] ersetzt. Wie viel Speicher wird dadurch in unseren Strings eingespart? In diesem Artikel zeigen wir, wie wir dies anhand einer Heap-Dump-Datei feststellen können.
27
Mrz
/
Garbage Collection in JDK 17
Zwischen JDK 11 and JDK 17 hat sich viel getan in Javas GC-Landschaft. Man könnte sogar so weit gehen, zu sagen, dass nach einer Periode gewisser Stagnation seit dem JDK 11 wieder neues Leben und Innovation in die Memory-Management-Szene gekommen sind, die zu beträchtlichen Innovationen geführt haben. Dieser Artikel soll die wichtigsten Änderungen im Bereich Java Garbage Collection zwischen JDK 11 und JDK 17 näher beleuchten.
4
Aug
/
JDK-16-Schnittstellen zur JVM-Anbindung
Ein Artikel von Marc Schönefeld, Wolfgang Weigend | Seit der Existenz von Java gibt es die Notwendigkeit, auf Bibliotheken und Fremdspeicher zugreifen zu müssen, die mit anderen Programmiersprachen geschrieben wurden. Dies gilt insbesondere für solche, die mit C/C++ entwickelt wurden. Für diese Zugriffe bietet die Java-Plattform nur das Java Native Interface (JNI) an – bis jetzt …
16
Feb
/
Von Speicherfressern und viel leerem Nichts
Vor ein paar Wochen haben mein Kollege John Green und ich mit virtuellen Threads experimentiert (Projekt Loom). Unser Server empfing Textnachrichten, änderte ihren Case und sendete sie als Echo zurück. Unser Client simulierte jede Menge Benutzer.
20
Jul
/
Upgraden von ReadWriteLock
Die Java-Klasse ReentrantReadWriteLock kann einen Read Lock nicht auf einen Write Lock upgraden. Kotlins Erweiterungsfunktion ReentrantReadWriteLock.write() schummelt ein wenig, indem sie den Read Lock vor dem Upgrade loslässt und so die Tür für Race Conditions öffnet. Eine bessere Lösung ist StampedLock, das über eine Methode verfügt, mit der versucht wird, den Lock in einen Write Lock umzuwandeln.