diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Master/Reference Architectures and Patterns/hjp5/html/k100009.html | |
| download | Studium-master.tar.gz Studium-master.tar.bz2 | |
Diffstat (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100009.html')
| -rw-r--r-- | Master/Reference Architectures and Patterns/hjp5/html/k100009.html | 518 |
1 files changed, 518 insertions, 0 deletions
diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100009.html b/Master/Reference Architectures and Patterns/hjp5/html/k100009.html new file mode 100644 index 0000000..01e645e --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100009.html @@ -0,0 +1,518 @@ +<html>
+<head>
+<title>
+Handbuch der Java-Programmierung, 5. Auflage
+</title>
+</head>
+<body>
+<a name="startofbody"></a>
+<script language="JavaScript" src="hjp4lib.js">
+</script>
+<script language="JavaScript">
+installKbdHandler("97,#startofbody;101,#endofbody;116,cover.html;122,k100003.html;115,search.html;105,index.html;100,JDKDOCS;112,APIDOCS;104,k100008.html;106,k100008.html;107,k100010.html;108,k100013.html");
+</script>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100008.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100008.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100010.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100013.html"> >> </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
+<td align="right">Kapitel 1 - Was ist Java?
+</table>
+<hr>
+
+
+<!-- Section -->
+<a name="sectlevel2id001001"></a>
+<h2>1.1 Historie </h2>
+<hr>
+<ul>
+<li><a href="k100009.html#sectlevel2id001001">1.1 Historie</a>
+</ul>
+<hr>
+
+<p>
+Als offizieller Geburtstag der Programmiersprache Java gilt der 23.
+Mai 1995.
+
+<p>
+Mit dem Erscheinen dieses Buchs wird Java also stattliche zwölf
+Jahre alt sein. Nach einer wechselhaften Vorgeschichte, dem darauf
+folgenden Enthusiasmus und fast ebenso vielen technischen Schwierigkeiten
+wie Errungenschaften hat sich Java heute vollständig etabliert.
+Nach wie vor verzeichnet die Sprache ein steigendes Interesse in breiten
+Kreisen der Entwicklergemeinschaft und wird in Kürze C++ als
+am häufigsten genutzte Programmiersprache abgelöst haben.
+Bevor wir uns in den nachfolgenden Kapiteln mit den technischen Details
+der Sprache beschäftigen, wollen wir einen kurzen Blick auf die
+Entstehungsgeschichte von Java werfen.
+
+<p>
+Nach einschlägigen Berichten fing alles mit einer Mail des damals
+25jährigen Programmierers Patrick Naughton<a name="ixa100001"></a>
+an den SUN-Chef Scott McNealy<a name="ixa100002"></a> an. Naughton
+hatte angekündigt, das Unternehmen zu verlassen, um zu <i>Next
+Computer, Inc.</i> zu wechseln. Er war der Meinung, dass manches bei
+SUN nicht gut funktionierte, und die weitaus moderneren Technologien
+von Next reizten ihn sehr. McNealy, der mit Naughton zusammen Eishockey
+spielte, forderte ihn auf, seine Kritik samt möglicher Lösungsvorschläge
+niederzuschreiben, ganz gleich, wie radikal sie auch sein mögen.
+
+<p>
+Naughtons Mail hat seine Wirkung nicht verfehlt! In einer für
+SUN schwierigen Periode mit internen Diskussionen um den Kurs des
+Unternehmens und seiner Produkte rannte Naughton offene Türen
+ein. Seine Hauptkritikpunkte betrafen die nicht zeitgemäßen
+grafischen Oberflächen, die unübersehbare Anzahl an Programmierwerkzeugen,
+die hohen Kosten der Workstations und die komplizierte Anwendung der
+Programme. Kurz, er warf SUN vor, auf dem besten Wege zu sein, sich
+mehr und mehr von seinen potentiellen Kunden und Anwendern zu entfernen.
+Er forderte Hard- und Software, die nicht nur von Akademikern und
+hochspezialisierten Profis, sondern von normalen Menschen angewendet
+werden konnte.
+
+<p>
+Naughtons Klagen wurden erhört, und innerhalb weniger Tage wurde
+ein Projekt aufgesetzt, dessen Ziel es sein sollte, die nächsten
+großen Trends der Computer- und Softwareindustrie aufzuspüren.
+Naughton zog seine angedrohte Kündigung zurück und begann
+1991 zusammen mit James Gosling <a name="ixa100003"></a> und Mike
+Sheridan<a name="ixa100004"></a> die Arbeit an einem geheimen, zunächst
+für ein Jahr finanzierten und außerhalb des regulären
+Unternehmens angesiedelten Vorhabens, das später den Namen <a name="ixa100005"><i>Green-Projekt</i></a>
+erhielt.
+
+<p>
+Nach anfänglichen Schwierigkeiten, seine eigene Aufgabe zu definieren,
+entschied sich das Team dafür, einen Prototyp zur Steuerung und
+Integration von Geräten zu bauen, wie sie in normalen Haushalten
+in großer Zahl verwendet wurden (Toaster, Videorecorder, Fernseher
+etc.). Bestandteile dieses Projekts waren ein Betriebssystem (<a name="ixa100006">Green-OS</a>),
+ein portabler Interpreter (<a name="ixa100007">Oak</a>), ein Grafiksubsystem
+und diverse Hardwarekomponenten. Bis Mitte 1992 entwickelte Naughton
+mit seinen Kollegen ein Gerät, das etwa heutigen Palm-Computern
+glich und mit einer tastaturlosen grafischen Oberfläche per drahtloser
+Datenübertragung zur Bedienung unterschiedlichster Geräte
+der Konsumelektronik verwendet werden konnte.
+
+<p>
+Das als »*7« (<a name="ixa100008"><i>Star Seven</i></a>)
+bezeichnete Gerät wurde im Herbst 1992 firmenintern präsentiert.
+Diese Vorstellung konnte einige der Manager - unter ihnen SUN-Mitbegründer
+Bill Joy<a name="ixa100009"></a> und Scott McNealy - so beeindrucken,
+dass im November 1992 aus dem lockeren Team die Firma <a name="ixa100010"><i>First Person,
+Inc.</i></a> gegründet wurde. Mit zuletzt
+etwa 70 Mitarbeitern versuchte das junge Unternehmen, den Prototypen
+zur Serienreife zu bringen und zu vermarkten. Trotz großer Anstrengungen
+scheiterten aber alle Versuche, Verträge und Partnerschaften
+zur kommerziellen Verwendung von Star Seven unter Dach und Fach zu
+bringen. Nach vielen Mühen wurde die Arbeit von <i>First Person,
+Inc.</i> im April 1994 praktisch beendet.
+
+<p>
+Fast wäre die Geschichte von Java nun bereits zu Ende gewesen,
+ehe sie richtig begonnen hatte.
+
+<p>
+Bei aller Euphorie über interaktives Fernsehen und Heimelektronik
+hatten die Entwickler nämlich eine andere, sehr viel realere
+Entwicklung übersehen. Mittlerweile hatte das World Wide Web
+eine kritische Größe erreicht! Nachdem <a name="ixa100011">NCSA Mosaic</a>
+als erster grafischer Web-Browser im April 1993 verfügbar war,
+konnte jedermann ansprechend aufbereitete Informationen im Internet
+ansehen und auf einfache Weise zwischen unterschiedlichen Diensten,
+Medien und Anbietern wechseln. Vor allem Bill Joy, der sich gelegentlich
+über den Stand des Green-Projekts informierte, erkannte das Potenzial
+des World Wide Web und die Bedeutung einer plattformunabhängigen
+Programmiersprache, mit der neben textuellen Inhalten auch Programme
+transportiert und ohne Installations- oder Portierungsaufwand auf
+einem beliebigen Zielrechner ausgeführt werden konnten.
+
+<p>
+In der Annahme, damit die Bedeutung des Internet zu stärken und
+auf diese Weise indirekte Verkaufsförderung für SUN-Produkte
+zu betreiben, beauftragte Joy die Kollegen Gosling und Naughton mit
+der Entwicklung einer »Killer-Applikation«, die dieses Potenzial
+offenlegen sollte. Während *7 dabei keine Rolle mehr spielte,
+wurde die Programmiersprache Oak zur Entwicklung einer ganz neuen
+Art von Programm verwendet. Im Herbst 1994 wurde mit ihrer Hilfe die
+erste Version von <a name="ixa100012"><i>WebRunner</i></a> fertiggestellt,
+einem Web-Browser, der neben der Darstellung von HTML-Seiten auch
+kleine Java-Programme, <i>Applets</i> genannt, aus dem World Wide
+Web laden und innerhalb des Browserfensters ausführen konnte.
+
+<p>
+Zu diesem Zeitpunkt war Oak, das später in Java umbenannt wurde,
+bereits eine recht stabile Sprache. Sie wurde nicht nur dazu benutzt,
+WebRunner zu entwickeln, sondern von Arthur van Hoff<a name="ixa100013"></a>,
+der Ende 1993 zum Team kam, zur Entwicklung des Java-Compilers selbst
+verwendet. Ende 1994 stand WebRunner einer kleinen Anzahl von Entwicklern
+zum Test zur Verfügung und konnte nicht nur diese, sondern auch
+die Verantwortlichen bei SUN überzeugen. Das Programm wurde nach
+der Umbenennung in <a name="ixa100014"><i>HotJava</i></a> in den nächsten
+Monaten stabilisiert und konnte im Mai auf der <a name="ixa100015"><i>SunWorld '95</i></a>
+der Öffentlichkeit vorgestellt werden.
+
+<p>
+Trotz des technologischen Durchbruchs und großen Presserummels
+mochten sich zunächst nur wenige Anwender mit HotJava anfreunden.
+Der überlegene Netscape Navigator war zu diesem Zeitpunkt bereits
+zu stark verbreitet. So war es ein großes Glück, dass Netscape
+sich entschied, die Java-Technologie von SUN zu lizenzieren und in
+der Version 2.0 des Navigators, die im Dezember 1995 auf den Markt
+kam, einem breiten Publikum zur Verfügung zu stellen. Die Ankündigung
+dieser Fortentwicklung, die Netscape-Gründer Marc Andreessen<a name="ixa100016"></a>
+am 23. Mai 1995 zusammen mit der öffentlichen Vorstellung von
+Java vortrug, wird von SUN als offizielle Geburtsstunde von Java angesehen.
+
+<p>
+Nach einigen Monaten des Betatests für Java und HotJava wurde
+im Januar 1996 das <i>JDK 1.0</i><a name="ixa100017"></a>, die erste
+Version des <a name="ixa100018"><i>Java Development Kit</i></a>, freigegeben.
+Bereits während der Betatests wurden hunderte von frei verfügbaren
+Applets geschrieben, die schon früh einen Eindruck von den Möglichkeiten
+der Sprache vermittelten. Kurz vor der Fertigstellung des JDK 1.0
+wurde aus den verbliebenen Mitgliedern des Green-Teams die Firma <a name="ixa100019"><i>JavaSoft</i></a>
+gegründet, die von SUN mit der Weiterentwicklung von Java betraut
+wurde. Unter ihrem Präsidenten Alan Baratz<a name="ixa100020"></a>
+entwickelte und pflegte JavaSoft das JDK und seine Werkzeuge und sollte
+fortan maßgeblich den weiteren Weg von Java bestimmen.
+
+<p>
+Tatsächlich stand die Entwicklung nun keinesfalls still, sondern
+nahm an Dynamik noch zu. In den folgenden Monaten bildeten sich eine
+Reihe von strategischen Allianzen zwischen SUN bzw. JavaSoft und vielen
+Großen der Branche. So wurde beispielsweise die im Mai 1996
+angekündigte Komponentenarchitektur <a name="ixa100021"><i>JavaBeans</i></a>
+von so prominenten Firmen wie <a name="ixa100022">Borland</a>, <a name="ixa100023">Lotus</a>,
+<a name="ixa100024">Oracle</a>, <a name="ixa100025">IBM</a>, <a name="ixa100026">Netscape</a>
+und <a name="ixa100027">Symantec</a> unterstützt.
+
+<p>
+Im Laufe der nächsten Monate kam der »Hype« dann richtig
+in Fahrt, und Java wurde mit Lorbeeren überhäuft. In welcher
+Weise das Interesse an Java anstieg, mögen einige Kennzahlen
+verdeutlichen:
+<ul>
+<li><a name="ixa100028">Gamelan</a> ist ein Verzeichnis von Java-Ressourcen,
+das Verweise auf Java-Applets oder -Applikationen verwaltet. Während
+die Zahl der Einträge im Januar 1996 noch deutlich unter 1000
+lag, sollte sie sich innerhalb der nächsten 6 Monate vervierfachen.
+<li>Eine ähnliche Entwicklung nahmen die Java-Newsgroups im Internet.
+Während im Januar 1996 lediglich eine einzige Gruppe <font color="#000077"><tt>comp.lang.java</tt></font>
+existierte, gibt es heute 12 weitere Newsgroups innerhalb der <font color="#000077"><tt>comp.lang.java</tt></font>-Hierarchie
+mit insgesamt etwa 15.000 Nachrichten pro Monat. Zudem gibt es unzählige
+nationale Newsgroups, Listserver und nicht-öffentliche Diskussionsforen.
+<li>Ein weiteres Beispiel für die rasante Verbreitung ist die
+Anzahl der bei SUN offiziell registrierten <a name="ixa100029">Java-Usergruppen</a>.
+Sie lag im Februar 1996 bei 17, stieg bis Ende 1998 auf 140 an und
+liegt heute bei fast 900. Weitere 2600 befinden sich in Gründung.
+<li>Die Ende 1996 von SUN ins Leben gerufene <a name="ixa100030"><i>Java Developer's Connection</i></a>,
+die als Download- und Service-Plattform für die Java-Entwicklungswerkzeuge
+von SUN dient, verzeichnet heute mehrere Millionen registrierte Entwickler.
+</ul>
+
+<p>
+Nach einer Reihe von Ankündigungen im ersten Halbjahr wurden
+bis Ende 1996 zahlreiche Neuerungen vorgestellt. Unter ihnen waren
+die Datenbank-Spezifikation <a name="ixa100031">JDBC</a>, die Komponentenarchitektur
+Beans, das <a name="ixa100032">JavaCard API</a>, <a name="ixa100033">HotJava Views</a>,
+die »<a name="ixa100034">100 % Pure Java Initiative</a>«
+und eine Reihe weiterer APIs. Zusätzlich kamen die ersten integrierten
+Entwicklungssysteme, wie <a name="ixa100035"><i>Cafe</i></a> und <a name="ixa100036"><i>Visual
+Cafe</i></a> von Symantec oder <a name="ixa100037"><i>J++</i></a>
+von Microsoft, auf den Markt.
+
+<p>
+Im Dezember 1996 wurde die Version 1.1 des Java Development Kit angekündigt.
+Sie sollte eine Reihe von Bugs der Vorgängerversion beheben und
+weitere Funktionalitäten hinzufügen. Im Februar 1997 standen
+die ersten Betaversionen des JDK 1.1 zur Verfügung und konnten
+von interessierten Entwicklern heruntergeladen werden. Im März
+1997 wurde dann HotJava 1.0 herausgegeben (alle vorigen Versionen
+hatten lediglich Betacharakter), und auch das Java-Betriebssystem
+<a name="ixa100038"><i>JavaOS 1.0</i></a> wurde in diesem Monat der
+Öffentlichkeit vorgestellt.
+
+<p>
+Etwa zeitgleich konnte man auf der Cebit 1997 den ersten Prototypen
+der <a name="ixa100039"><i>JavaStation</i></a>, einer diskettenlosen
+Workstation, die ausschließlich auf Java basierte, bewundern.
+Mit der Ankündigung von Java-Prozessoren wie dem <a name="ixa100040"><i>PicoJava</i></a>
+eröffnete SUN die Perspektive, dass Java-Programme mittelfristig
+ebenso schnell laufen werden wie kompilierter C- oder C++-Code. Das
+für Java-Entwickler herausragende Ereignis des Jahres war die
+<a name="ixa100041"><i>JavaOne</i></a> im April 1997, die erste Konferenz,
+die sich ausschließlich um Java drehte. Sie brachte eine Vielzahl
+von Ankündigungen, Prototypen und neuen Produkten hervor. Die
+JavaOne findet seither jedes Frühjahr in San Francisco statt
+und ist nach wie vor eines der wichtigsten Ereignisse der weltweiten
+Java-Gemeinde.
+
+<p>
+Die folgenden Monate standen für viele Entwickler und Tool-Hersteller
+im Zeichen der Umstellung auf die Version 1.1 des JDK. Zwar gab es
+bereits Ende 1997 mehr als ein Dutzend integrierte Entwicklungsumgebungen,
+doch Support für die Version 1.1 war längst nicht überall
+vorhanden. Auch die Browser-Hersteller taten sich schwer und stellten
+erst zum Jahreswechsel 1997/98 mit den 4er Versionen ihrer Browser
+erste Implementierungen des JDK 1.1 vor. Bis diese einigermaßen
+stabil waren, vergingen weitere Monate.
+
+<p>
+Während sich 1998 die meisten Entwickler mit der Version 1.1
+beschäftigten, wurde bei SUN bereits am neuen JDK 1.2 gearbeitet.
+Im Frühjahr 1998 stand dessen erste öffentliche Version,
+das JDK 1.2 Beta 2, der Öffentlichkeit zur Verfügung. Wichtige
+Neuerungen waren die <a name="ixa100042"><i>Java Foundation Classes</i></a>
+mit dem <a name="ixa100043"><i>Swing Toolset</i></a>, dem <a name="ixa100044"><i>Java 2D
+API</i></a> und dem <a name="ixa100045"><i>Drag-and-Drop API</i></a>,
+das <a name="ixa100046"><i>Collection-API</i></a> und das <a name="ixa100047"><i>Extension
+Framework</i></a>. Daneben gab es viele weitere
+Verbesserungen bestehender Pakete. Nach zwei weiteren Betas, die bis
+zum Juli erschienen, brachte SUN im Oktober und November die »Release
+Candidates« 1 und 2 heraus. Anfang Dezember 1998 wurde dann schließlich
+die erste finale Version des JDK 1.2 zur Verfügung gestellt und
+im Januar 1999 in <a name="ixa100048"><i>Java 2 Platform</i></a> umbenannt.
+
+<p>
+Mit der Version 1.2 hatte sich der Anspruch SUNs an das JDK geändert.
+Während es zuvor darum ging, möglichst viele Features in
+das JDK einzubauen, stand seit dem JDK 1.2 offiziell die Stabilität
+und Performance im Vordergrund. Ersteres sollte mit einem rigorosen
+Qualitätssicherungsprogramm erreicht werden, letzteres durch
+Verbesserung der virtuellen Maschine. Im März 1999 wurde der
+lange angekündigte <a name="ixa100049"><i>HotSpot</i></a>-Compiler
+ausgeliefert. Zwar brachte er mit seiner adaptiven Compilertechnologie,
+bei der interpretierte Programmteile zur Ausführungszeit genau
+dann in direkt ausführbaren Maschinencode übersetzt werden,
+wenn sie wesentlich zur Laufzeit des Programms beitragen, für
+einige Anwendungen Geschwindigkeitsvorteile. In vielen Fällen
+reichte den Entwicklern und Anwendern die Performance der Java-Programme
+jedoch nicht aus. Insbesondere das Swing-Toolkit, die neue Grafikplattform,
+galt auf durchschnittlichen Arbeitsplätzen als zu träge
+und trug sehr zu dem Ruf Javas bei, für »echte« Anwendungen
+zu langsam zu sein.
+
+<p>
+Zudem wurde das JDK 1.2 nur zögernd von der Industrie angenommen.
+Zwar gab es auf dem PC bald 1.2-kompatible Entwicklungswerkzeuge,
+doch auf anderen Betriebssystemen (Macintosh, UNIX, LINUX) blieben
+die Portierungen bei den 1.1er Versionen stehen. Die großen
+Browser-Hersteller haben bis heute keine brauchbaren 1.2er Java-Implementierungen
+vorgestellt. Dies mag einerseits durch technische Schwierigkeiten
+begründet gewesen sein, lag aber auch an der damals kaum akzeptierten
+<a name="ixa100050"><i>Community Source Licence</i></a> von SUN. Mit
+dieser sollte ein offener Java-Standard etabliert werden, ohne dass
+SUN die Kontrolle über die Weiterentwicklung von Java verlor.
+Durch diese Vereinbarung waren Unternehmen, die Weiterentwicklungen
+des JDK vornahmen, unter Umständen dazu verpflichtet, diese offenzulegen
+bzw. unentgeltlich an SUN zu übergeben.
+
+<p>
+Nach den fehlerbereinigten Versionen 1.2.1 und 1.2.2 des JDK betrieb
+SUN die Weiterentwicklung des JDK unter dem Codenamen <a name="ixa100051"><i>Kestrel</i></a>.
+Mit einem neuen Garbage Collector, verbessertem Speichermanagement
+und einem neuen HotSpot-Compiler sollte diese Version stabiler und
+performanter werden als alle vorherigen. Viele kleine Verbesserungen
+sollten zudem bei der Swing-Oberfläche deutliche Geschwindigkeitsgewinne
+bringen. Die intensive Arbeit an dieser Version äußerte
+sich auch darin, dass alle Bugfixes des JDK 1.2.2 auf die neue Version
+verschoben wurden.
+
+<p>
+Im August 1999 gab es dann die erste öffentliche Betaversion
+des JDK 1.3. Tatsächlich schienen sich die Versprechen zu erfüllen.
+Bereits das Beta lief recht stabil und brachte bei der grafischen
+Oberfläche deutliche Geschwindigkeitsgewinne. Durch eine geänderte
+Initialisierung der virtuellen Maschine reduzierte sich die Startzeit
+von Java-Applikationen deutlich, und mit dem neuentwickelten Compiler
+gab es große Verbesserungen bei den Turnaround-Zeiten. Auch
+subjektiv lieferte das JDK 1.3 den Eindruck erheblich besserer Performance.
+Nach drei weiteren Vorabversionen wurde im Mai 2000 die endgültige
+Version des JDK 1.3 für Windows ausgeliefert. Versionen für
+andere Betriebssysteme (namentlich SOLARIS und LINUX) sollten etwa
+drei Monate später folgen. Selbst Apple, dessen Java-Implementierungen
+lange Zeit bei der Version 1.1 stehen geblieben waren, liefert mit
+dem Mac OS X mittlerweile ein aktuelles JDK als integralen Bestandteil
+des Betriebssystems aus.
+
+<p>
+2001 folgte dann das Bug-Fix-Release 1.3.1, und nach einigen Betas
+und einem »Release Candidate« brachte SUN Mitte Februar
+2002 schließlich das JDK 1.4 heraus - diesmal zeitgleich für
+alle unterstützen Plattformen. Neben vielen Detailverbesserungen
+und umfangreichen Erweiterungen der Klassenbibliotheken sollte das
+JDK 1.4 weitere Performance-Verbesserungen bringen. So wurden unter
+anderem das zuvor schlechte Laufzeitverhalten von Swing-Anwendungen
+auf UNIX-Betriebssystemen beseitigt. Zu den wichtigsten funktionalen
+Erweiterungen der Version 1.4 zählten die <a name="ixa100052"><a href="index_a.html#ixb100056"><font color=#000080><tt>assert</tt></font></a></a>-Anweisung,
+<a name="ixa100053">Unterstützung für XML</a>, neue Bibliotheken
+für schnelle I/O-Zugriffe, Benutzer-Voreinstellungen, Logging
+oder reguläre Ausdrücke sowie viele Erweiterungen bestehender
+Bibliotheken. Zudem gab es Unterstützung für Solaris 64-Bit-Systeme
+und IPv6-Support. Die folgende Java 5 Version brachte neue Sprachkonstrukte
+wie typisierte Klassen, eine neue for-Schleife und das Autoboxing
+von Basistypen. Sie erlauben es, den Quellcode von Javaklassen einfacher
+und dennoch klarer zu schreiben und können dazu beitragen, beispielsweise
+falsche Casts zu vermeiden.
+
+<p>
+Den derzeitigen Höhepunkt der Java-Entwicklung bildet die aktuelle
+Java-Version 6, die ursprünglich unter dem Codenamen <a name="ixa100054"><i>Mustang</i></a>
+entwickelt wurde. Kurz nach Erscheinen der ersten Betaversion teilte
+<i>Ray Gans</i> - einer der führenden Java Entwickler bei Sun
+- in seinem Blog unter <a href="http://weblogs.java.net/blog/ray_gans/">http://weblogs.java.net/blog/ray_gans/</a>
+jedoch mit, dass Sun in Zukunft auf Codenamen verzichten und stattdessen
+nur noch die Versionsnummern verwenden wird.
+
+<p>
+Der große Knall wurde jedoch erst kurz vor dem Release des JDK
+6 publik gemacht: Am 13. November 2006 gab Sun bekannt, dass im Laufe
+des Jahres 2007 die komplette Java-Technologie Stück für
+Stück unter die populäre <a name="ixa100055"><i>General Public License</i></a>
+(GPL) gestellt und damit jedermann zugänglich gemacht werden
+soll. Java ist zwar seit der ersten Version kostenlos und kann von
+jedem über die Homepage von Sun heruntergeladen werden, allerdings
+war das »Verteilen« des Programms an Auflagen gebunden.
+Außerdem lief der Gedanke, dass Java zwar kostenlos aber eben
+nicht frei verfügbar ist, der Intention vieler Open Source Projekte,
+Linux-Distributionen und Anbietern von Java-Anwendungen zuwider, so
+dass im Laufe der Jahre eine stattliche Anzahl von freien Java-Implementierungen
+entstanden. Zu den bedeutendsten »Nachimplementierungen«
+zählen:
+<ul>
+<li>GNU Classpath (<a href="http://www.gnu.org/software/classpath/">http://www.gnu.org/software/classpath/</a>)
+<li>GNU Compiler for Java (<a href="http://gcc.gnu.org/java/">http://gcc.gnu.org/java/</a>)
+<li>Kaffe (<a href="http://www.kaffe.org/">http://www.kaffe.org/</a>)
+<li>Apache Harmony (<a href="http://harmony.apache.org/">http://harmony.apache.org/</a>)
+</ul>
+
+<p>
+Mehr Informationen zum Thema Java und Open Source finden sich zum
+Beispiel unter <a href="http://www.sun.com/software/opensource/java/faq.jsp">http://www.sun.com/software/opensource/java/faq.jsp</a>.
+
+<p>
+Die sechste Version von Java wurde am 11. Dezember 2006 veröffentlicht
+und enthält eine vollständig überarbeitete und vereinheitlichte
+Webservice-API, eine komplett in Java geschriebene Datenbank und einen
+JavaScript-Interpreter. Außerdem wurde viele Fehler behoben
+und Java 6 ist nochmals einen »Tick« schneller als die vorangegangenen
+Versionen.
+
+<p>
+Das Engagement der Softwareentwickler zu den aktuellen Java-Versionen
+ist beträchtlich. Neben vielen Partnerschaften, bei denen Spezialisten
+aus der ganzen Welt durch die Mitarbeit im <a name="ixa100056"><i>Java Community Process</i></a>
+(<a name="ixa100057"><i>JCP</i></a>) zu den Neuerungen und Erweiterungen
+der aktuellen Versionen beigetragen haben, gibt es mittlerweile auch
+eine große Zahl an Applikationen, die in Java geschrieben wurden
+oder bei deren Entwicklung Java eine wichtige Rolle gespielt hat.
+Auch bei der Entwicklung von Server-Applikationen und Web-Services
+spielt Java mittlerweile in der ersten Liga. So läßt sich
+feststellen, dass Java nach der ersten (Applet-)Euphorie der Versionen
+1.0 und 1.1 und einer dezenten Zurückhaltung während der
+1.2er Versionen mit dem JDK 1.3 auch bei den meisten Skeptikern den
+Durchbruch geschafft hat. Dieser hat sich mit den JDKs 1.4 und 5 gefestigt
+und wird - aller Voraussicht nach - auch in den kommenden Versionen
+weiter anhalten.
+<p>
+<table border=0 cellspacing=0 cellpadding=0 width=100%>
+<tr>
+<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top width=1000>
+
+<p>
+Zwischen den Versionen 1.2 und 1.4 firmierten alle Java-Versionen
+unter dem offiziellen Oberbegriff <i>Java 2 Platform</i> - im Unterschied
+zu der zwar niemals explizit so bezeichneten, aber doch wohl gemeinten
+»Java 1 Platform«, die aus den Versionen 1.0 und 1.1 bestand.
+Parallel dazu wurden die Entwicklungssysteme dann nicht mehr JDK,
+sondern <a name="ixa100058"><i>Java 2 SDK</i></a> genannt (SDK steht
+für <i>Software Development Kit</i>). Mit dem folgenden Release
+wurde bezüglich der Namensgebung erneut eine kleine Kurskorrektur
+vorgenommen. Einerseits wurde die Versionsnummer 1.5 während
+der Betaphase auf 5.0 erhöht (um - laut SUN-Website - das hohe
+Maß an Reife, Stabilität, Sicherheit und Skalierbarkeit
+der aktuellen Version zu dokumentieren). Andererseits wurde der Begriff
+<i>JDK</i> rehabilitiert und darf nun auch »offiziell« wieder
+verwendet werden (Begründung: »...due to significant popularity
+within the Java developer community...«).
+
+<p>
+Seit der fünften Version setzt sich die - aus Sicht des Marketings
+besser verwendbare - ganzzahlige Namenskonvention durch, bei der neue
+Java-Version mit der nachfolgenden natürlichen Zahl gekennzeichnet
+werden, während die »Zwischenversionen« kleineren Verbesserungen
+und Bugfixes vorbehalten bleiben. Dieses Schema wurde in alle Java-Editionen
+übernommen, die sich vor allem in Art und Umfang der enthaltenen
+Bibliotheken unterscheiden. Ein Java-Entwickler kann sich zwischen
+diesen Auslieferungen entscheiden:
+<ul>
+<li>Die <a name="ixa100059"><i>Java 6 Standard Edition</i></a>, von
+der in diesem Buch die Rede sein wird.
+<li>Die <a name="ixa100060"><i>Java 5 Enterprise Edition</i></a>,
+mit der verteilte, unternehmensweite Business-Applikationen entwickelt
+werden können. Die sechste Generation der Enterprise Edition
+ist für das dritte Quartal 2008 geplant.
+<li>Die <a name="ixa100061"><i>Java Micro Edition</i></a>, für
+kleine Geräte wie Mobiltelefone und PDAs.
+<li>Die <a name="ixa100062"><i>Java Card Edition</i></a> bringt Java
+schließlich auf Kreditkarten-großen Smartcards unter.
+</ul>
+
+<p>
+Die offizielle Bezeichnung der aktuellen Java-Version ist also <a name="ixa100059"><i>Java
+6 Standard Edition</i></a>. Sie besteht aus
+den Teilen <a name="ixa100017"><i>JDK</i></a> (voller Name <i>Java
+6 Development Kit</i> und <a name="ixa100063"><i>JRE</i></a> (voller
+Name <i>Java 6 Runtime Environment</i>). Während das JDK alle
+Werkzeuge zum <i>Entwickeln</i> von Java-Programmen enthält,
+bezeichnet das JRE die Laufzeitumgebung (oder <a name="ixa100064"><i>Virtuelle Maschine</i></a>)
+um Java-Programme auszuführen. Wir werden meist von <i>Java 6</i>
+oder der <i>Java 6 Edition</i> sprechen (weibliche Form (!)), insbesondere
+wenn die aktuelle Version gemeint ist, mitunter aber auch den Begriff
+<i>JDK</i> verwenden. Wenn nicht anders erwähnt, beziehen sich
+alle Ausführungen in diesem Buch auf die Standard Edition.</td>
+<td><img src="trp1_1.gif" width=2></td>
+<td valign=top>
+<table border=0 cellspacing=0 cellpadding=1 width=100% bgcolor="#000077">
+<tr>
+<td><font color="#FFFFFF"> Hinweis </font></td>
+</tr>
+</table>
+</td>
+<td width=1 align=left valign=top bgcolor="#000077"><img src="trp1_1.gif"></td>
+</tr>
+</table>
+<hr>
+<table border=0 cellpadding=0 cellspacing=1 width="100%">
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="cover.html"> Titel </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100003.html"> Inhalt </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="search.html"> Suchen </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="index.html"> Index </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/index.html" onClick="this.href=getDocIndex()"> DOC </a>
+<td align="right">Handbuch der Java-Programmierung, 5. Auflage, Addison
+Wesley, Version 5.0.1
+<tr bgcolor="#EEFFCC">
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100008.html"> << </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100008.html"> < </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100010.html"> > </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="k100013.html"> >> </a>
+<td width="7%" align=center bgcolor="#DDCC99"><a href="../jdkdocs/api/index.html" onClick="this.href=getApiIndex()"> API </a>
+<td align="right">© 1998, 2007 Guido Krüger & Thomas
+Stark, <a href="http://www.javabuch.de">http://www.javabuch.de</a>
+</table>
+<a name="endofbody"></a>
+</body>
+</html>
|
