Java Core Programmierung (eBook)

Memory Model und Garbage Collection
eBook Download: PDF | EPUB
2011
250 Seiten
entwickler.press (Verlag)
978-3-86802-602-3 (ISBN)

Lese- und Medienproben

Java Core Programmierung - Angelika Langer, Klaus Kreft
Systemvoraussetzungen
Systemvoraussetzungen
19,99 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Für Java-Entwickler sind nicht nur die Sprachelemente der Programmiersprache Java und die umfangreichen Bibliotheken des JDK (Java Development Kit) von Bedeutung; auch die Ablaufumgebung (JVM = Java Virtual Machine) ist relevant für die Software-Entwicklung in Java. Das vorliegende Buch "Java Core Programmierung" befasst sich mit zwei grundlegenden und wichtigen Aspekten der Java-Ablaufumgebung: dem Java Memory Model (JMM) und der Freispeicherverwaltung (Garbage Collection.)

Beim Java Memory Model geht es um die Regeln und Garantien für konkurrierende Zugriffe auf Java-Objekte in Multithread-Programmen. Es werden u.a. folgende Fragestellungen betrachtet: Wann und unter welchen Umständen werden Modifikationen, die ein Thread an einem Java-Objekt gemacht hat, anderen Threads sichtbar? Was genau ist der Effekt von Sprachmitteln wie synchronized, volatile und final? Was ist eine CAS-Operation? Wofür werden atomare Variablen benötigt? Was ist Lock-Free-Programming und warum könnte es mich als Java-Entwickler interessieren?
Schon seit Langem ist das Memory Model Bestandteil der Sprachspezifikation von Java. Es ist aber viele Jahre lang wenig beachtet worden. Erst seit Multi-CPU- und Multicore-Plattformen vorherrschend sind, gewinnt das Wissen über die Details des Memory Models an Bedeutung. Detaillierte Kenntnisse des Memory Models sind unerlässlich für alle Java-Entwickler, die Java-Anwendungen für Multi-CPU- und Multicore-Hardware entwickeln und sich mit der Optimierung dieser Anwendungen hinsichtlich Skalierbarkeit und Performanz befassen.

Zwar geht es auch beim Thema Freispeicherverwaltung um den "Speicher", aber mit dem Java Memory Model hat die Garbage Collection nichts zu tun. Es geht vielmehr um die Strategien, die eine virtuelle Maschine anwendet, um den im Programm mit new angeforderten Freispeicher zu verwalten und ihn wieder frei zu geben, wenn er nicht mehr benötigt wird. Virtuelle Maschinen verwenden dazu unterschiedliche Algorithmen. Im vorliegenden Buch werden die Garbage-Collection-Algorithmen der populären HotSpot-JVM von Sun (heute Oracle) betrachtet. Es wird erläutert, warum Generational Garbage Collection sinnvoll ist, wie die HotSpot-JVM den Freispeicher aufteilt und wie die parallelen und konkurrierenden Garbage-Collection-Algorithmen funktionieren. Auch der relativ neue "Garbage-First" (G1) Collector wird vorgestellt. Ein wesentliches Augenmerk liegt dabei auf dem Tuning dieser zahlreichen Garbage-Collection-Algorithmen. Es lohnt sich beispielsweise zu prüfen, wie viel von der gesamten CPU-Zeit einer Java-Applikation für die Garbage-Collection aufgewendet werden muss. Idealerweise möchte man einen möglichst hohen Durchsatz haben, d.h. es soll viel CPU-Zeit für die Anwendung zur Verfügung stehen und nur wenig Zeit für die Freispeicherverwaltung aufgewendet werden. Auch sollte die Garbage Collection nicht zu störenden Pausen führen, in denen sämtliche Applikations-Threads zum Zwecke der Garbage Collection angehalten werden. Um die Maximierung des Durchsatzes und die Minimierung der Pausenzeiten zu erreichen, bietet die HotSpot-JVM zahlreiche Tuning-Möglichkeiten.

Das Buch basiert auf einer Artikelserie, die die Autoren im Java Magazin in den Jahren 2008 bis 2011 veröffentlicht haben. Weitere Beiträge der Artikelreihe sind unter http://www.angelikalanger.com/Articles/EffectiveJava.html zu finden.

Angelika Langer arbeitet als Trainer und Consultant mit eigenem Schulungsprogramm im Bereich der Software-Entwicklung mit Java und C++. Sie ist Autor der Java Generics FAQs, einer Online-Ressource zum Thema Java Generics. Sie ist regelmäßiger Sprecher auf zahlreichen Konferenzen, darunter JavaOne, OOPLSA, JAX, und viele andere. Klaus Kreft arbeitet als Consultant und Performance-Experte im Bereich der Software-Entwicklung mit Java. Sein Interesse gilt komplexen Systemen mit hohen Performance-Anforderungen. Er ist Sprecher auf Fachkonferenzen (JAX, OOP, Ch/Open-Workshop-Tage und diverse JUGs). Gemeinsam sind sie Autor zahlreicher Veröffentlichungen, darunter einer Artikelserie über Core Java Programmierung in der Zeitschrift JavaMagazin und das Buch "Standard C++ IOStreams and Locales", erschienen bei Addison-Wesley, 2000.

Erscheint lt. Verlag 20.8.2011
Verlagsort Frankfurt am Main
Sprache deutsch
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Schlagworte atomare Variable • CAS-Operation • Freispeicherverwaltung • Garbage Collection • Java Development Kit • Java Memory Model • Java Virtual Machine • JDK • JMM • JVM • Lock-Free-Programming • memory model • Multicore-Hardware • Multicore-Plattform • Multi-CPU-Plattform • Multithread-Programm • Performanz • Skalierbarkeit
ISBN-10 3-86802-602-9 / 3868026029
ISBN-13 978-3-86802-602-3 / 9783868026023
Haben Sie eine Frage zum Produkt?
PDFPDF (Ohne DRM)
Größe: 4,0 MB

Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopier­schutz. Eine Weiter­gabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persön­lichen Nutzung erwerben.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

EPUBEPUB (Ohne DRM)
Größe: 6,4 MB

Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopier­schutz. Eine Weiter­gabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persön­lichen Nutzung erwerben.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Einführung, Ausbildung, Praxis

von Christian Ullenboom

eBook Download (2023)
Rheinwerk Computing (Verlag)
37,43
Moderne GUIs für RIAs und Java-Applikationen

von Ralph Steyer

eBook Download (2022)
Springer Fachmedien Wiesbaden (Verlag)
42,99