Java Magazin 1.18

Extreme Java

Erhältlich ab: Dezember 2017
Umfang: 100 Seiten
Autoren / Autorinnen:
Masoud Amri, Olena Bochkor, Ralf Bruchmüller, Konstantin Diener, Boris Fresow, Roger Gilliar, Markus Günther, Michael Hofmann, Nabeel Imtiaz, Dr. Heinz Kabutz, Dr. Veikko Krypczyk, Michael Kuhn, Arne Limburg, Martin Maher, Matthias Merdes, Ralf D. Müller, Dr. Gernot Starke, Manfred Steyer, Georgi Todorov

9,80 

Heft bestellen

95,00 134,80 

Abonnement Typ
Auswahl zurücksetzen

Magazin

News

Bücher: API-Design

Java Core

Pimp your Application
Teil 1: Mean Value Analysis
Michael Kuhn

Enterprise

Was zwischen den Zeilen steht
Teil 3: Maschinelle Schlussfolgerung
Masoud Amri

Kolumne: EnterpriseTales
Reactive oder nicht reactive
Arne Limburg

Doping für Microservices
Enterprise Java fit für die Implementierung von Microservices machen
Michael Hofmann

Kolumne: Hitchhiker’s Guide to Docs as Code
AsciiDoc-Features für Pragmatisches
Ralf D. Müller und Dr. Gernot Starke

Titelthema

Das Kreuz mit der Parallelität
Concurrency in Java
Dr. Heinz Kabutz

Reaktives Paradigma
Concurrency mit Vert.x
Nabeel Imtiaz

DevOps

Kolumne: DevOps Stories
Wie finden wir jemanden, der zu uns passt?
Konstantin Diener

Tools

Es lebe das Testen
Die Highlights von JUnit 5
Matthias Merdes

Komplexes simulieren
Mit dem Citrus Simulator komplexe Systeme nachbilden
Martin Maher und Georgi Todorov

Architektur

Frühlingsbotschaften
Teil 1: Einführung in die Nachrichtenverarbeitung mit Spring Kafka
Boris Fresow und Markus Günther

Asynchron trifft einfach
Ratpack für asynchrone Architekturen
Roger Gilliar

Web

Kolumne: Die Angular-Abenteuer
Ein Blick auf Angular 5
Manfred Steyer

Android360

Die Welt kennenlernen
Apps um Kartenfunktionen erweitern
Olena Bochkor und Dr. Veikko Krypczyk

Alles gleichzeitig

Wir Menschen können nicht gut multitasken. Es gibt unzählige Experimente und Studien, die zeigen, dass die Gesamtqualität leidet, wenn wir mehrere Aufgaben parallel lösen oder schnell zwischen ihnen springen. Besonders beeindruckend sind Tests mit Autofahrern, die beim Fahren einfache Additions- und Substraktionsaufgaben lösen sollen. Wenn Sie das gesehen haben, wollen Sie sich nie wieder beim Autofahren auch nur unterhalten.

Ganz anders läuft das bei Maschinen. Heute arbeiten Geräte vom Smartphone bis zum Rack-PC im Rechenzentrum mit mehreren Prozessoren. Dabei sinkt im Gegensatz zu uns Menschen die Qualität nicht, sondern es wird meistens einfach schneller. Betonung auf meistens. Denn so schön die parallele Prozessorwelt auch ist, damit die Maschinen auch mit parallelen und asynchronen Prozessen umgehen können, müssen Entwickler die Software auch dementsprechend schreiben. Das bedeutet, dass sich Entwickler mit dem Thema Nebenläufigkeit beschäftigen müssen, auch Concurrency genannt.

Das ist leider alles andere als trivial. Denn während sich klassischer Java-Code meist linear von oben nach unten schreiben und lesen lässt, ist das bei Nebenläufigkeit nicht mehr der Fall. Die Entwickler müssen ebenso parallel denken, wie die Threads nachher laufen sollen. Ständig geht es um Fragen wie, welcher Thread wann und auf was zugreifen könnte und was passiert, wenn ihm ein anderer Thread zuvorkommt. Man muss also mit ziemlich vielen Unwägbarkeiten und Was-wäre-wenn-Überlegungen arbeiten. Das ist ziemlich weit weg von einer einfachen Wenn-dann-Beziehung. Nicht umsonst raten viele Experten Nebenläufigkeit nur zu nutzen, wenn es auch wirklich sinnvoll für den Anwendungsfall ist. Denn oft ist ein Thread der effizienteste und schnellste Weg von A nach B. Man muss es ja nicht unnötig kompliziert machen.

Dass Concurrency einiges von unseren linear denkenden Gehirnen abverlangt, ist aber natürlich kein Grund klein beizugeben und der Nebenläufigkeit nimmer Wiedersehen zu sagen. Denn wie bei fast jedem komplizierten oder komplexen Thema, können ein paar Tipps, Tricks und Handreichungen für die ersten Schritte dabei helfen, nicht direkt in die Threadhölle zu stolpern. Genau das versuchen wir mit dem Schwerpunkt in diesem Heft: Ihnen den Einstieg in die Nebenläufigkeit zu erleichtern.

Fröhliches Parallelisieren!

Melanie Feldmann | Redakteurin
Twitter: @JavaMagazin


Weitere Ausgaben

X
- Gib Deinen Standort ein -
- or -