Schlagwort-Archive: Java

Kuriositäten der Notationen

Kuriositäten der Notationen

Heute habe ich eine interessante Kuriosität entdeckt, die auf den ersten Blick irritiert.

Ich erstellte eine ArrayList und befüllte die inline mit Werten:

ArrayList<String> list = new ArrayList<String>() {{ add("A"); add("B"); add("C"); }};

Danach habe ich versucht die ArrayList zu serialisieren. ArrayList implementiert bekanntlich Interface Serializable.
SerializationUtils.serialize(list);
Dabei flog eine java.io.NotSerializableException.

Ich habe die ArrayList auf eine konventionelle Weise erstellt und mit werten befüllt:
ArrayList list1 = new ArrayList();
list1.add("A");
list1.add("B");
list1.add("C");

Die Serialisierung ging ohne Probleme durch….. Hmmm…..

Die Erklärung ist einfach: die erste Variante erzeugt keine ArrayList, sondern eine anonyme Subklasse von ArrayList und diese ist nicht serialisierbar.

IcedTea

IcedTea

RedHat ermöglichte das Einschließen in die Distribution OpenJDK unter Benutzung ausschließlich von offenen Bibliotheken. Dabei werden binäre Dateien mit den aus GNU Classpath ausgetauscht. Diese Technologie wurde IcedTea genannt.

Realisierung der JVM vom Cacao www.cacaojvm.org setzt auch den GNU Classpath ein.