Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.
 
Inhaltsverzeichnis
Vorwort
1 Neues in Java 8 und Java 7
2 Fortgeschrittene String-Verarbeitung
3 Threads und nebenläufige Programmierung
4 Datenstrukturen und Algorithmen
5 Raum und Zeit
6 Dateien, Verzeichnisse und Dateizugriffe
7 Datenströme
8 Die eXtensible Markup Language (XML)
9 Dateiformate
10 Grafische Oberflächen mit Swing
11 Grafikprogrammierung
12 JavaFX
13 Netzwerkprogrammierung
14 Verteilte Programmierung mit RMI
15 RESTful und SOAP-Web-Services
16 Technologien für die Infrastruktur
17 Typen, Reflection und Annotationen
18 Dynamische Übersetzung und Skriptsprachen
19 Logging und Monitoring
20 Sicherheitskonzepte
21 Datenbankmanagement mit JDBC
22 Java Native Interface (JNI)
23 Dienstprogramme für die Java-Umgebung
Stichwortverzeichnis

Jetzt Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Java SE 8 Standard-Bibliothek von Christian Ullenboom
Das Handbuch für Java-Entwickler
Buch: Java SE 8 Standard-Bibliothek

Java SE 8 Standard-Bibliothek
Pfeil Vorwort
Pfeil Organisation der Kapitel
 
Zum Seitenanfang

Vorwort Zur vorigen ÜberschriftZur nächsten Überschrift

»Alles, was einen Anfang hat, hat auch ein Ende, und meistens hat das, was ein Ende hat, auch eine Fortsetzung.«
– Sprichwort

Willkommen im zweiten Teil der Insel. Während der erste Band in die Grundlagen von Java einführte und sich dabei insbesondere auf die objektorientierten Konzepte und die Syntax der Sprache Java konzentrierte, kümmert sich der zweite Band um die Bibliotheken aus der Java SE.

 
Zum Seitenanfang

Organisation der Kapitel Zur vorigen ÜberschriftZur nächsten Überschrift

Den Einstieg ins Buch bildet Kapitel 1, »Neues in Java 8 und Java 7«, mit einer kompakten Darstellung der Neuerungen. Die Änderungen in den Bibliotheken fließen dabei in die jeweiligen Kapitel ein; so konzentriert sich das kurze Kapitel eher auf die neuen Spracheigenschaften. Die Inhalte sind Auszüge aus dem ersten Insel-Buch »Java ist auch eine Insel«.

Neben den grundlegenden Basisklassen für Zeichenkettenverarbeitung gibt es spezielle Klassen, etwa für Mustererkennung, die Kapitel 2, »Fortgeschrittene String-Verarbeitung«, vorstellt.

Kapitel 3 beschäftigt sich mit »Threads und nebenläufiger Programmierung«. Das Kapitel umfasst auch die Koordination mehrerer kooperierender oder konkurrierender Threads.

Kapitel 4 befasst sich mit den »Datenstrukturen und Algorithmen«, die die Standardbibliothek anbietet. Die wichtigsten Klassen wie Listen, Mengen, Stapel, Bitmengen und Assoziativspeicher werden vorgestellt, und dann werden unterschiedliche Aufgaben mit den jeweils passenden Datenstrukturen gelöst. Als Algorithmen kommen beispielsweise vorgefertigte Sortierverfahren zum Einsatz. Das Kapitel diskutiert ebenfalls für Nebenläufigkeit optimierte Datenstrukturen.

Zeitzonen und unterschiedliche Ausgabeformate für Datumswerte sind Thema in Kapitel 5, »Raum und Zeit«. Darunter fallen auch Datumsberechnungen auf der Grundlage des gregorianischen Kalenders. Interessant sind Java-Möglichkeiten zur Internationalisierung, die sich durchweg durch alle APIs zieht, die in irgendeiner Weise Nachrichten zum Benutzer geben.

Das Kapitel 6, »Dateien, Verzeichnisse und Dateizugriffe«, setzt den Fokus auf Dateiverarbeitung. Zuerst zeigen wir, wie sich Attribute von Dateien und Verzeichnissen auslesen lassen, und dann, wie sich wahlfreier Zugriff auf eine Datei realisieren lässt. Das in Java 7 eingeführte NIO.2-Paket nimmt dabei einen großen Raum ein, da es sehr leistungsfähig ist.

Nahtlos folgt in Kapitel 7, »Raum und Zeit«, die Verarbeitung von Daten aus beliebigen Quellen und Senken. Während sich Kapitel 5 nur auf Dateien beschränkt, geht es in diesem Kapitel um allgemeinere Ein-/Ausgabe-Konzepte, die auch bei Datenströmen aus Netzwerken, Datenbanken oder Schnittstellen vorkommen. Die Datenströme können dabei durch Filter geschickt werden. Von Letzteren stellen wir einige vor, die zum Beispiel die Zeilennummer zählen, einen Datenstrom puffern oder ihn komprimieren. Eine elegante Möglichkeit ist das Serialisieren von Objekten. Dabei wird der Zustand eines Objekts ausgelesen und so in einen Datenstrom geschrieben, dass sich das Objekt später wiederherstellen lässt. Eine eigene Speicherroutine kann somit entfallen.

Ein neues Thema spannt Kapitel 8 mit »Die eXtensible Markup Language (XML)« auf. Java als plattformunabhängige Programmiersprache und XML als dokumentenunabhängige Beschreibungssprache sind ein ideales Paar, und die Kombination dieser beiden Technologien ist der Renner der letzten Jahre. Das Kapitel beginnt auf der höchsten Abstraktionsebene, beschreibt, wie XML-Daten auf Objekte übertragen werden, und geht dann weiter zur elementaren Verarbeitung der XML-Dokumente, wie sie zum Beispiel als Objektbaum aufgebaut und modifiziert werden.

Heutzutage ist die Speicherung in XML populär, und auch Office-Dokumente werden in diesem Stil gespeichert. Doch keiner würde auf die Idee kommen, die Dokumente im XML-Format auszulesen und dort die Absätze und Zeichen herauszuziehen. Das Gleiche gilt für Grafikdateien: Es ist zwar eine Byte-Datei, doch die wird nicht Byte für Byte von uns eingelesen, sondern es gibt immer eine API, die sich darum kümmert, Zeichen oder Bytes in ein für uns komfortables Format zu bringen. Ein paar populäre Dateiformate stellt Kapitel 9, »Dateiformate«, vor. Zu den beschriebenen Formaten zählen nicht nur Dokumentenformate, wie für Microsoft Office, sondern auch Formate für die Kompression.

Kapitel 10, »Grafische Oberflächen mit Swing«, stellt die Swing-Komponenten zur Interaktion vor, wie zum Beispiel Schaltflächen. Es geht auf die Behandlung von Ereignissen ein, die aus Benutzeraktionen resultieren, und beschreibt Container, die andere Komponenten aufnehmen und layouten.

Das anschließende Kapitel 11 deckt die zweite Aufgabe der grafischen Oberflächen ab, indem es auf die »Grafikprogrammierung« eingeht. Das AWT (Abstract Window Toolkit) ist die Java-Möglichkeit, grafische Oberflächen zu gestalten. Dabei gliedert es sich in zwei große Teile: zum einen in die direkte Ausgabe von Grafik-Primitiven wie Linien und zum anderen in Komponenten für grafische Oberflächen. Das Kapitel behandelt die Themen Fenster, Zeichenketten und Zeichensätze, Farben und Bilder.

Ein alternatives GUI-Framework ist »JavaFX«, das Kapitel 12 beleuchtet. JavaFX ist eine relativ neue Technologie, die spät in Java 7 eingezogen ist und als JavaFX 8 fester Bestandteil von Java 8 ist. Das Kapitel fasst auf der einen Seite die fantastischen neuen Eigenschaften wie 2D/3D, die Transformationen und Animationen zusammen und auf der anderen Seite die neue Komponentenbibliothek von JavaFX.

Kapitel 13, » Netzwerkprogrammierung«, stellt vor, welche Informationen eine URL hat und wie mit dieser URL Daten von Webservern bezogen werden können. Bei Webservern werden wir CGI-Programme ansprechen, um an gewünschte Inhalte zu kommen. Mithilfe von Sockets wollen wir eine eigene Client-Server-Kommunikation aufbauen. Außer auf die gesicherte Verbindung TCP gehen wir auch auf ungesicherte UDP-Verbindungen ein.

»Verteilte Programmierung mit RMI« in Kapitel 14 zeigt auf, wie ein Java-Programm einfach Objekte und Methoden nutzen kann, die auf einem anderen Rechner gespeichert bzw. ausgeführt werden. Dabei wird der Aufruf einer Methode über das Netzwerk übertragen, und für das aufrufende Programm sieht es so aus, als ob es sich um einen normalen Methodenaufruf für ein lokales Objekt handelt.

Kapitel 15, »RESTful und SOAP-Web-Services«, stellt mit REST einen neuen Trend in der Kommunikation zwischen Browser und Webserver vor und mit SOAP einen Klassiker für den entfernten Methodenaufruf zwischen Systemen. SOAP ist Teil der Java SE, und für REST wird Jersey vorgestellt, die Referenzimplementierung der JAX-RS-API.

Viele der vorgestellten Technologien sind sehr speziell, doch Kapitel 16, »Technologien für die Infrastruktur«, geht auf den Aufbau großer Anwendungen ein und stellt Basistechnologien vor, die ein gutes Fundament für eigene Anwendungen bilden und in jeder Architektur zu finden sein dürften, ob es nun grafische Anwendungen sind oder reine Serveranwendungen.

Mit Kapitel 17 widmen wir uns einer Java-typischen Technik: »Typen, Reflection und Annotationen«. Java-Klassen liegen selbst wieder als Meta-Objekte, als Exemplare der speziellen Klasse Class, vor. Diese Class-Objekte geben Auskunft über die verfügbaren und definierten Variablen, Methoden und Konstruktoren. So lassen sich beispielsweise dynamisch bestimmte Methoden aufrufen oder die Werte von dynamisch ausgewählten Objektvariablen abfragen. Annotationen ermöglichen es Entwicklern, Metadaten an Programmteilen festzumachen. Wie neue Annotationstypen erstellt und gesetzte Annotationen abgefragt werden, zeigt das Kapitel ebenfalls.

Am Anfang war die JVM fest mit der Programmiersprache Java verbunden, doch das änderte sich im Laufe der Jahre. Heute gibt es unterschiedliche Programmiersprachen, die auf einer JVM laufen – von ganz entwickelten Skriptsprachen bis zu portierten. Kapitel 18, »Dynamische Übersetzung und Skriptsprachen«, stellt Skriptsprachen vor und auch die Möglichkeit, wie eigene Klassen mit der Compiler-API übersetzt werden.

Wie Java-Programme zu Testzwecken überwacht werden können, zeigt Kapitel 19, »Logging und Monitoring«. Mit der JMX-API lassen sich MBeans an einem MBean-Server anmelden, und das Dienstprogramm jconsole ermöglicht den Zugriff und die Steuerung der Komponenten.

Kapitel 20 zeigt kurz »Sicherheitskonzepte«, etwa das Sandkastenprinzip, und Sicherheitsmanager auf, zeigt aber auch, wie von Daten eine Prüfsumme gebildet werden kann und wie Daten mit DES oder RSA verschlüsselt werden.

»Datenbankmanagement mit JDBC« ist das Thema von Kapitel 21. Als freie, quelloffene Beispieldatenbank wird HSQLDB vorgestellt, da sie sehr leicht zu installieren und zu betreiben ist und praktischerweise Beispieldaten mitbringt. Die Java-Beispiele bauen eine Verbindung zu HSQLDB auf, setzen SQL-Anweisungen ab, holen die Ergebnisse herein und visualisieren sie.

Java kann nicht alles plattformunabhängig lösen. An einer bestimmen Stelle muss plattformabhängiger Programmcode eingebaut werden. Um von Java auf Nicht-Java-Code wie C(++) zuzugreifen, definiert Oracle das in Kapitel 22 vorgestellte »Java Native Interface (JNI)«.

In Kapitel 23, »Dienstprogramme für die Java-Umgebung«, geht es um die zum JDK gehörigen Programme und um einige Extratools, die für unsere Arbeit nützlich sind. Im Mittelpunkt stehen Compiler, Interpreter und die Handhabung von JAR-Archiven. Dieses Archivformat ist vergleichbar mit den bekannten ZIP-Archiven und fasst mehrere Dateien zusammen. Mit den eingebetteten Dokumentationskommentaren in Java kann aus einer Quellcodedatei ganz einfach eine komplette HTML-Dokumentation der Klassen, Schnittstellen, Vererbungsbeziehungen und Eigenschaften inklusive Verlinkung erstellt werden. Unter den Programmen, die zu keiner Standardinstallation gehören, sind etwa Tools, die Java-Programme in C-Programme übersetzen, sie neu einrücken und formatieren und Bytecode wieder in lesbaren Java-Quellcode umwandeln.

 
Zum Seitenanfang

Konventionen Zur vorigen ÜberschriftZur nächsten Überschrift

In diesem Buch werden folgende Konventionen verwendet:

  • Neu eingeführte Begriffe sind kursiv gesetzt, und der Index verweist genau auf diese Stelle. Des Weiteren sind Dateinamen, HTTP-Adressen, Namen ausführbarer Programme, Programmoptionen und Dateiendungen (.txt) kursiv. Einige Links führen nicht direkt zur Ressource, sondern werden über http://tutego.de/go zur tatsächlichen Quelle umgeleitet, was nachträgliche URL-Änderungen erleichtert.

  • Begriffe der Benutzeroberfläche stehen in Kapitälchen.

  • Listings, Methoden und sonstige Programmelemente sind in nichtproportionaler Schrift gesetzt. An einigen Stellen wurde hinter eine Listingzeile ein abgeknickter Pfeil () als Sonderzeichen gesetzt, das den Zeilenumbruch markiert. Der Code aus der nächsten Zeile gehört also noch zur vorigen.

  • Bei Methodennamen und Konstruktoren folgt immer ein Klammerpaar, um Methoden/Konstruktoren von Attributen abgrenzen zu können. So ist bei der Schreibweise System.out und System.gc() klar, dass Ersteres ein Attribut ist und Letzteres eine Methode.

  • Hat eine Methode/ein Konstruktor einen Parameter, so steht der Typ in Klammern. Beispiele: Math.abs(double a), GregorianCalendar(int year, int month, int date). Oft wird auch der Parametername ausgelassen. Beispiel: »System.exit(int) beendet das Programm mit einem Rückgabewert«. Die Java-API-Dokumentation macht das genauso. Hat eine Methode/ein Konstruktor eine Parameterliste, ist diese aber im Text gerade nicht relevant, wird sie mit »…«, abgekürzt. Beispiel: »Die Methode System.out.print(…) konvertiert die übergebenen Argumente in Strings und gibt sie aus«. Ein leeres Klammerpaar bedeutet demnach, dass eine Methode/ein Konstruktor wirklich keine Parameterliste hat. Um die Angabe kurz und dennoch präzise zu machen, gibt es im Text teilweise Angaben wie getProperty(String key [, String def]), was eine Abkürzung für getProperty(String key) und getProperty(String key, String def) ist.

  • Um eine Gruppe von Methoden anzugeben, symbolisiert die Kennung XXX einen Platzhalter. So steht zum Beispiel printXXX(…) für die Methoden println(…), print(…) und printf(…). Aus dem Kontext geht hervor, welche Methoden gemeint sind.

  • Lange Paketnamen werden teilweise abgekürzt, sodass com.tutego.insel.game etwa zu c.t.i.g wird.

  • Um im Programmcode Compilerfehler oder Laufzeitfehler anzuzeigen, steht in der Zeile ein . So ist auf den ersten Blick abzulesen, dass die Zeile nicht compiliert wird oder zur Laufzeit aufgrund eines Programmierfehlers eine Ausnahme auslöst. Beispiel:

    int p = new java.awt.Point(); // Compilerfehler: Type mismatch
  • Bei Compilerfehlern – wie im vorangehenden Punkt – kommen die Fehlermeldungen in der Regel von Eclipse. Sie sind dort anders benannt als in NetBeans bzw. dem Kommandozeilencompiler javac. Aber natürlich führen beide Compiler zu ähnlichen Fehlermeldungen.

  • Raider heißt jetzt Twix, und Sun ging Anfang 2010 an Oracle. Auch wenn es für langjährige Entwickler hart ist: Der Name »Sun« verschwindet, und der geliebte Datenbankhersteller tritt an seine Stelle. Er taucht immer nur dann auf, wenn es um eine Technologie geht, die von Sun initiiert wurde und in der Zeit auf den Markt kam, in der Sun sie verantwortete.

Programmlistings

Komplette Programmlistings sind wie folgt aufgebaut:

Listing 5.1: Person.java

class Person {
}

Der abgebildete Quellcode befindet sich in der Datei Person.java. Befindet sich der Typ (Klasse, Aufzählung, Schnittstelle, Annotation) in einem Paket, steht die Pfadangabe beim Dateinamen:

Listing 5.2: com/tutego/insel/Person.java

package com.tutego.insel.Person;
class Person { }

Um Platz zu sparen, stellt das Buch oftmals Quellcode-Ausschnitte dar. Der komplette Quellcode ist im Internet verfügbar. Hinter dem Typ folgen in dem Fall Kennungen des abgedruckten Teils. Ist nur die Typdeklaration einer Datei ohne package- oder import-Deklaration aufgelistet, so steht hinter dem Dateinamen der Typ, etwa so:

Listing 5.3: Person.java, Person

Listing 5.4: Person.java, House

Im folgenden Fall wird nur die main(…)-Methode abgebildet:

Listing 5.5: Person.java, main()

Wird ein Ausschnitt einer Datei Person.java abgebildet, steht »Ausschnitt« oder »Teil 1«, »Teil 2« ... dabei:

Listing 5.6: Person.java, Ausschnitt

Listing 5.7: Person.java, main() Teil 1

Gibt es Beispielprogramme für bestimmte Klassen, so enden die Klassennamen dieser Programme im Allgemeinen auf -Demo. Für die Java-Klasse DateFormat heißt somit ein Beispielprogramm, das die Funktionalität der Klasse DateFormat vorführt, DateFormatDemo.

API-Dokumentation im Buch

Attribute, Konstruktoren und Methoden finden sich in einer speziellen Auflistung, die es ermöglicht, sie leicht im Buch zu finden und die Insel als Referenzwerk zu nutzen.

abstract class java.text.DateFormat
extends Format
implements Cloneable, Serializable
  • Date parse(String source) throws ParseException
    Parst einen Datum- oder einen Zeit-String.

Im Rechteck steht der vollqualifizierte Klassen- oder Schnittstellenname (etwa die Klasse DateFormat im Paket java.text) bzw. der Name vom Annotations- oder Aufzählungstyp. In den nachfolgenden Zeilen sind die Oberklasse (DateFormat erbt von Format) und die implementierten Schnittstellen (DateFormat implementiert Cloneable und Serializable) aufgeführt. Da jede Klasse, die keine explizite Oberklasse hat, automatisch von Object erbt, ist diese nicht extra angegeben. Die Sichtbarkeit ist, wenn nicht anders angegeben, public, da dies für Bibliotheksmethoden üblich ist. Wird eine Schnittstelle beschrieben, sind die Methoden automatisch abstrakt und öffentlich, und die Schlüsselwörter abstract und public werden nicht zusätzlich angegeben. In der anschließenden Aufzählung folgen Konstruktoren, Methoden und Attribute. Wenn nicht anders angegeben, ist die Sichtbarkeit public. Sind mit throws Fehler angegeben, dann handelt es sich nicht um RuntimeExceptions, sondern nur um geprüfte Ausnahmen. Veraltete (deprecated) Methoden sind nicht aufgeführt, lediglich, wenn es überhaupt keine Alternative gibt.

Ausführbare Programme

Ausführbare Programme auf der Kommandozeile sind durch ein allgemeines Dollarzeichen am Anfang zu erkennen (auch wenn andere Betriebssysteme und Kommandozeilen ein anderes Prompt anzeigen). Die vom Anwender einzugebenden Zeichen sind fett gesetzt, die Ausgabe nicht:

$ java FirstLuck
Hart arbeiten hat noch nie jemanden getötet. Aber warum das Risiko auf sich nehmen?

Über die richtige Programmierer-»Sprache«

Die Programmierer-Sprache in diesem Buch ist Englisch, um ein Vorbild für »echte« Programme zu sein. Bezeichner wie Klassennamen, Methodennamen und auch eigene API-Dokumentationen sind auf Englisch, um eine Homogenität mit der englischen Java-Bibliothek zu schaffen. Zeichenketten und Konsolenausgaben sowie die Zeichenketten in Ausnahmen (Exceptions) sind in der Regel auf Deutsch, da es in realistischen Programmen kaum hart einkodierte Meldungen gibt – spezielle Dateien halten unterschiedliche Landessprachen vor. Zeilenkommentare sind als interne Dokumentation ebenfalls auf Deutsch vorhanden.

 
Zum Seitenanfang

Vorwort zur 2. Auflage Zur vorigen ÜberschriftZur nächsten Überschrift

Das String-Kapitel aus Band 1, »Java ist auch eine Insel«, wurde aufgeteilt, und so finden sich nun fortgeschrittene String-Techniken – insbesondere zu regulären Ausdrücken – in einem neuen Kapitel hier im Buch wieder. Fundamentale Fehler gibt es keine zu berichtigen, ein paar Dinge sind sprachlich genauer, wo es früher etwa »Hash-Tabelle« hieß (eine technische Realisierung), heißt es nun allgemeiner »Assoziativspeicher«.

Natürlich enthält das Buch alle Updates zu Java 8, angefangen bei den Lambda-Ausdrücken, die im ersten Kapitel eine zentrale Rolle einnehmen. Auf der Bibliotheksseite sind besonders hervorzuheben die Stream-API in der Collection-API und die Date-Time-API. Da in Java 8 auch nicht nur Dinge hinzukamen, sondern auch verschwanden, tritt der seltene Fall ein, dass ein Abschnitt entfällt, und zwar über die JDBC-ODBC Bridge. Zudem taucht mit JavaFX eine neue API zur GUI-Entwicklung auf, die die Java Foundation Classes (AWT, Swing, Java 2D, …) auf lange Sicht verdrängen werden, daher gibt es ein neues JavaFX-Kapitel, während die anderen GUI-Kapitel gekürzt wurden. Das Applet-Kapitel wurde komplett entfernt, die Zeit der Java-Applets ist (vorerst) vorbei.

Mit der aktuellen Java-Version 8 sind auch alle Beispiele auf die vorhergehende Version 7 umgestellt. Die Syntax von Java 7 bietet zwar nur kleine Verbesserungen, doch nutzen zum Beispiel alle Demos mit Ressourcen das Sprachkonstrukt try mit Ressourcen. Da nun die File-Klasse durch neue NIO.2-Typen uninteressant wurde, verschwand File aus den Beispielen fast komplett. Und während das IO-Kapitel bisher die Abschnitte zu NIO.2 hinter File setzte, ist es nun andersherum: NIO.2 führt, und File folgt.

 
Zum Seitenanfang

Vorwort zur 1. Auflage Zur vorigen ÜberschriftZur nächsten Überschrift

Es ist unverkennbar, dass dieses Buch seinen Ursprung in »Java ist auch eine Insel« hat. Es enthält alle fortgeschrittenen Java-Konzepte der vorangegangenen Insel. Bei dieser Aufspaltung ist es natürlich nicht geblieben, denn sonst wäre das Buch ja auch nur 700 Seiten dick und nicht 1.400. Es gab also Änderungen und Neuerungen gegenüber diesen Kapiteln in der alten Insel.

Zu den Neuerungen: Natürlich ist das Buch auf der Höhe der Zeit und beschreibt die aktuellen Java 7-Features. Das erste Kapitel fasst die bescheidenen Sprachänderungen zusammen. Auf Seiten der Bibliothek gibt es zwei größere Zuwächse: NIO.2 und das kleinere Fork-and-Join-Framework. Swing bietet eine neue Klasse namens JLayer und bekommt kleine Updates, etwa durch eine generische Typvariable bei ListModel oder JComboBox.

Ein weiteres neues Kapitel behandelt die dynamische Übersetzung mit dem Java-Compiler zur Laufzeit und Skriptsprachen, wobei es einige Beispiele zur beliebten JVM-Sprache Groovy gibt. Und da Web-Services nicht mehr nur durch SOAP realisiert werden, gibt es einen Abschnitt zum REST-Prinzip und JAW-RS. Am Ende des Swing-Kapitels befindet sich ein Ausblick auf die freie Komponentenbibliothek SwingX, mit der Entwickler die GUIs aufhübschen können.

Zu den Aktualisierungen: Auch ohne die Anpassungen aus Java 7 gibt es Verbesserungen und Aktualisierungen. Im Tooling-Bereich ist der Decompiler Jad durch JD ersetzt worden. Gleichzeitig gibt das gleiche Kapitel eine Einführung in Java-Bytecode und das Tool javap. Weiterhin ist im Bereich Datenbanktools eine kleine Änderung nötig geworden, da der Datenbank-Browser in die Eclipse Data Tools Platform (DTP) gewandert ist und sich auch die grafische Oberfläche veränderte.

Christian Ullenboom
Sonsbeck, im Juni 2014

 


Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Java SE 8 Standard-Bibliothek Java SE 8 Standard-Bibliothek
Jetzt Buch bestellen

 Buchempfehlungen
Zum Rheinwerk-Shop: Java ist auch eine Insel
Java ist auch eine Insel


Zum Rheinwerk-Shop: Professionell entwickeln mit Java EE 8
Professionell entwickeln mit Java EE 8


Zum Rheinwerk-Shop: Besser coden
Besser coden


Zum Rheinwerk-Shop: Entwurfsmuster
Entwurfsmuster


Zum Rheinwerk-Shop: IT-Projektmanagement
IT-Projektmanagement


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2018
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern