Blog

JavaOne 2008 Tag Eins

Erik Jan de Wit

Aktualisiert Oktober 23, 2025
7 Minuten

Wir sind hier auf der JavaOne Konferenz in San Francisco. Heute hat die JavaOne-Konferenz begonnen. Die kommenden 75 Stunden sind vollgepackt mit Java, Java und noch mehr Java! Um Ihnen einen Eindruck von dem zu vermitteln, was wir hier sehen, werden wir Ihnen einen täglichen Blog zur Verfügung stellen. Zu den heutigen Höhepunkten gehören:

  • SCA (Service-Komponenten-Architektur)
  • GlassFish
  • JavaFX
  • Effektives Java und fehlerhaftes Java

Mischa und Erik Jan über JavaFx Rocks Amy Fowler und Shannon Hickey zeigten in ihrem Vortrag, wie Sie mit JavaFX auf einfache Weise visuell reichhaltige Swing-Anwendungen erstellen können. Das neue JavaFX SDK, das im Juni veröffentlicht wird, bietet Ihnen die Möglichkeit, Funktionsrückrufe, die Bindung von Variablen, Sequenzen und Szenegraphen zu erstellen. Um Ihnen ein Beispiel dafür zu geben, was Sie mit all dem machen können, hier einige kleine Beispiele: Rückrufe

function sq(n:Zahl): Zahl {n * n;}
var f = sq;

Binden

var x = 10;
var y = bind x + 100;
x = 50;
y == 150; // wahr

Sequenzen Einzelnes Objekt gleich Sequenz von 1 Objekt

1 == [1] // gibt wahr zurück

Serien-Notation

var days = [1..31];

Slices über Syntax und Prädikat

var week1 = days[1.. 0];

Einfügen/Löschen

delete 1 from days; // Ergebnis ist [2..31]

Komponenten und Szenendiagramm mischen

var logo = ImageView = ImageView {
  x: bind (Leinwand.Breite - Logo.Bild.Breite)/2
  y: bind (Leinwand.Höhe - Logo.Bild.Höhe)/2 - 10
  Bild: Bild {
 
url:"{__DIR__}/resources/javacup.png"}
  }
  Effekt: DropShadow {
  offsetX:2
  offsetY:2
  Radius:2
  Farbe:Farbe.GRAY
  }
};

In diesem letzten Beispiel mischen wir Java2D mit Swing. Wir freuen uns auf die neuen JavaFX-Funktionen, mit denen wir spielen können. Jeroen über effektives Java und defektes Java Sun hat einen besonderen Titel für die Redner, die zuvor hohe Noten für ihre Präsentationen erhalten haben, die Java Rock Stars. Heute hatten wir mehrere Rockstars auf der Bühne, vom echten Rockstar Neil Young in der Keynote bis zu Joshua Bloch und Bill Pugh in den technischen Sitzungen. Joshua Bloch sprach über sein neu erschienenes Buch "Effective Java Reloaded". In diesem Buch hat er viele der Beispiele überarbeitet und zahlreiche Java5-bezogene Dinge hinzugefügt. Die wichtigsten Ergänzungen sind das Kapitel Concurrency, das das Kapitel Threading ersetzt und um java.util.concurrent erweitert wurde, sowie die Kapitel Generics und Enums. Er hat eine Menge cooler Code-Beispiele eingefügt, die wir Ihnen natürlich nicht vorenthalten können. Das eine Beispiel, das ich am interessantesten fand, war ein Beispiel für Lazy Initialization, bei dem ein altes Idiom wieder eingeführt wurde. Als wir mit der Programmierung von Java begannen, lernten Sie bald, dass Sie bei Lazy Initialization niemals Double Checked Locking verwenden sollten, weil es nicht funktioniert. Mit der Einführung des Java5 Speichermodells funktioniert das Double Checked Locking Idiom jedoch endlich korrekt. Das Codebeispiel, das er zeigte, war das folgende:

public class DoubleChecked {
  private volatile Object field;
  public Object getField() {
  Object result = field;
  if (Ergebnis == null) {
  synchronisiert (dies) {
  Ergebnis = Feld;
  if (Ergebnis == null) {
  Feld = Ergebnis = initialize();
  }
  }
  }
  Ergebnis zurückgeben;
  }
  private Object initialize() { ... }
}

Es muss betont werden, dass das Instanzfeld flüchtig sein sollte, damit dies korrekt funktioniert. Dieses Beispiel und alle anderen Beispiele finden Sie in seinem neuen Buch, das Sie auf jeden Fall lesen sollten! Bill Pugh hingegen sprach über fehlerhaften Java-Code. Bill ist der Erfinder des FindBugs-Projekts und immer auf der Suche nach neuen Fehlern und neuen Fehlermustern. Er kündigte den FindBugs-Fehlerwettbewerb an, für den die Regeln recht einfach sind. Sie müssen nur Ihren besten Fehler einreichen. Wenn das FindBugs-Team ihn für einen plausiblen Fehler hält und es nicht zu lange dauert, einen Detektor zu schreiben, wird es einen für Sie schreiben. Sie können auch Ihren eigenen Detektor einreichen, wenn Sie möchten. Der Einsender des besten Bugs gewinnt $200, die drei Zweitplatzierten erhalten $100. Nicht schlecht, ich werde sicher unsere eigenen Codebases durchsehen und sehen, ob wir einen guten Bug für sie finden können! Denn wie Bill sagt: "Gehen Sie nicht davon aus, dass ein Fehler so einzigartig ist, dass er niemandem sonst unterlaufen sein kann"... Marco über seinen Tag Prolog Letztes Jahr habe ich die JavaPolis in Antwerpen, Belgien, besucht und obwohl nicht alle Sitzungen meine Zeit wert waren, hat sie mich mit einem positiven Gefühl zurückgelassen. Da mir meine geschätzten Kollegen gesagt haben, dass die JavaOne die erwähnte JavaPolis absolut übertrumpft, bin ich sehr gespannt, was mir diese Konferenz bringen wird. Mein Hauptaugenmerk wird auf SOA liegen, da dies für mich am interessantesten ist, aber ich werde auch einige Zeit mit anderen Themen verbringen. Da ich hier bin, um zu lernen, werde ich versuchen, die Sitzungen zu besuchen, bei denen ich hoffentlich am meisten lerne - obwohl ich auch einige besuchen werde, bei denen ich mich schlau fühle, weil ich bereits alles weiß, worüber sie sprechen. Hey, Selbstwertgefühl ist wichtig, das hat mir meine Mama gesagt! Keynote Die Konferenz begann mit einem Paukenschlag. Wir wurden mit einer sehr professionellen Eröffnung verwöhnt, zu der Tänzer gehörten, die man zuletzt in einem alten Michael-Jackson-Videoclip gesehen hatte, und eine Art nicht-tödliches Katapult, mit dem man T-Shirts auf unschuldige Besucher schoss. Die wichtigsten Themen der kommenden Konferenz wurden alle angesprochen, schade, dass die Demogötter keine Lust hatten, mitzuspielen. Die größte Überraschung war der Gastauftritt des Altrockers Neil Young, obwohl ich das Gefühl hatte, dass er nicht so begeistert war wie wir, hier zu sein. Service-Oriented Architecture and Java technology; Level-Setting Standards, Architecture and Code Leider habe ich den Anfang verpasst, da ich das super-duper Scanning-System nicht bestanden habe, obwohl ich mich tatsächlich für diese Sitzung angemeldet hatte. Die Lösung, die der Kopfscanner bot? Meinen Zeitplan auszudrucken, nur für den Fall, dass es noch einmal passieren würde. Willkommen bei JavaOne 2008... Wie dem auch sei, es ging hauptsächlich um die Grundlagen von SOA und diente als Ausgangspunkt für all die anderen Sitzungen, die ich zu besuchen gedenke. Hier gibt es nichts Erwähnenswertes, sonst müsste es die Haarfarbe eines der Redner sein. Das Beste aus beiden Welten mit Java Business Integration und Service Component Architecture Was bekomme ich also dafür, dass ich den ganzen Weg nach San Francisco gereist bin, das nicht ganz so sonnig ist, wie ich gehofft hatte? Einen Vortrag von zwei niederländischen Kollegen mit dem passenden Akzent. Es ging um JBI & SCA, 2 Themen, über die ich nichts wusste, und wie man sie kombinieren kann. Ich erwarte, dass ich am Ende der Woche die Bedeutung dieses Themas viel besser verstehen werde. GlassFish Project V3 als erweiterbare Server-Plattform Leider wurde ich wieder mit schwer verständlichen Rednern verwöhnt, aber das hat mich nicht davon abgehalten, mich für die nächste Version von Suns modularem und erweiterbarem Anwendungsserver zu interessieren. Die Tatsache, dass er auch als Bibliothek verwendet werden kann, macht ihn noch interessanter. SCA: Flexible and Agile Composition of Distributed Service-Oriented Architecture Applications (SCA: Flexible und agile Zusammenstellung verteilter serviceorientierter Anwendungen) Wieder eine ziemlich coole Sitzung, schade, dass sie nicht vor der bereits erwähnten SCA/JBI-Sitzung stattfand. Da sich die Entwickler nicht um so lästige Details wie Transportmechanismen und Sicherheitsrichtlinien kümmern müssen, ist SCA in meinen Augen ein sicherer Gewinner. Epilog Ein sehr langer Tag (während ich dies schreibe, ist es schon über 13 Stunden her, dass die JavaOne offiziell begonnen hat) mit einigen persönlichen Misserfolgen (die Redner in der Java EE Connector 1.6 Architecture Session schienen sich genauso zu langweilen wie ich - trotzdem hatte ich das Glück, nach 10 Minuten abhauen zu können). Sowohl SCA als auch GlassFish sind es wert, mehr Zeit damit zu verbringen. Das ist auch gut so, denn ich habe in den kommenden Tagen noch einige Sitzungen zu diesen Themen geplant.

Verfasst von

Erik Jan de Wit

Contact

Let’s discuss how we can support your journey.