JAVA ADVANCED PART 1 - The Java Memory Model (René Schwietzke)

Location image of event venue

Details

An diesem Tag starten wir mit PART 1 der JAVA ADVANCED SERIE
– einer dreiteiligen Vortrags- & Workshopserie, in welcher uns René Schwietzke durch die Untiefen der Java-Kernentwicklung führen wird.

Freut Euch auf drei spannende Abende, welche wir verteilt über 2019 ansiedeln werden!

Agenda:

18:00 Doors Open & Ankommen
18:15 Vorstellung der JUG Thüringen
18:30 JAVA ADVANCED PART 1: JMM - The Java Memory Model
19:30 Pause
20:00 JAVA ADVANCED PART 1: JMM - The Java Memory Model
21:00 Ende
21:30 Doors Close & Ausklang in einer Lokalität/Bar in der Nähe

JAVA ADVANCED SERIE

Java ist einen der am meist genutzten Programmiersprachen im Serverumfeld. Java ist aber mehr als eine Sprache, denn der eigentliche Kern ist die Java Virtual Machine (JVM). Damit Java effizient und konsistent läuft, nutzt die VM weitreichende Konzepte und Ideen. Nicht nur Java nutzt die JVM, auch Kotlin, Scala, Groovy und JRuby nutzen sie und mit der neuen GraalVM können auch JavaScript, R und sogar C auf der VM laufen.

Die VM ist über die letzten Jahre immer näher an die Hardware herangerückt, um die Leistung von CPUs

Diese Trainingsserie geht auf die wichtigsten Grundlagen der VM ein, erklärt Internas und zeigt, wie sich mit diesem Verständnis noch mehr aus der VM und der Hardware herausholen lässt.

PART 1: JMM - The Java Memory Model

Das JMM ist die Grundlage für Konsistenz und Geschwindigkeit, gerade im Umfeld von Server mit mehreren CPUs und modernen Cache-Architekturen. Es definiert, dass man auf der VM nicht Threads synchronisiert, sondern Memory.

Die Kenntnis des JMM ist für stabilen und sicheren Code notwendig.

PART 2: The Java Memory Management

Eine der Konzepte, die Java zur erfolgreichen Programmiersprache gemacht haben, ist das Memory Management, meist nur als Garbage Collection gesehen. Luxus gibt es aber nicht umsonst. Dieser Vortrag geht auf die Kosten des Memory Management ein, die Einflüsse auf die Programmgeschwindigkeit und erklärt, wie die VM Garbage Collection durchführt (CMS und G1).

PART 3: High Performance Java and Microbenchmarking

An Beispielen werden die Interaktion der VM mit der Hardware und damit einhergehende mögliche Optimierungen gezeigt. Das Wissen aus den beiden vorhergehenden Kursen hilft beim Verständnis, eine vorherige Teilnahme ist aber nicht zwingend.

Zusätzlich geht es um die korrekte Messung von Performance, um Algorithmen und Code zu untersuchen und optimieren. Dazu wird das Java Microbenchmark Harness (JMH) genutzt, das ab Java 12 als Teil des JDKs zur Verfügung steht und separate für frühere JDKs herunterladbar ist.

Referent:

René Schwietzke - www.xing.com/profile/Rene_Schwietzke

René ist Firmengründer von Xceptance. Er spielt eine große Rolle in der Definition des Firmenprofils, einschließlich der Entwicklung und Evaluation der hauseigenen Testwerkzeuge und Serviceleistungen. Vor der Gründung von Xceptance war er Technischer Leiter der Abteilung für Qualitätssicherung bei der auf E-Commerce spezialisierten Intershop Communications AG und verfügt so über einen umfassenden Erfahrungsschatz in den Bereichen E-Commerce und web-basierter Software. René hat ein Studium der Informatik an der Brandenburgischen Technischen Universität Cottbus absolviert.