Siehe http://redstack.wordpress.com/2011/01/06/visualising-garbage-collection-in-the-jvm/:
Interessante Idee und Diskussion von Stephen Colebourne: http://blog.joda.org/2012/12/annotating-jdk-default-data.html
Die c’t, an sich ein starkes Magazin, kommt dieses Mal mit einem peinlichen Artikel über Closures (Lambda-Ausdrücke) in Java 8 daher: Closures in aktuellen Programmiersprachen – c’t-Archiv, 17-2013, Seite 168, c’t – Inhalt 17-2013 – Seite 168. Obwohl die Syntax sehr lange bekannt und festgeklopft ist, basiert der Artikel auf Aufsätzen und Publikationen, die vor Jahren veröffentlicht wurden, namentlich auf http://www.javac.info/closures-v05.html. Der Aufsatz stammt von 2007, ist also fast sieben Jahre alt. Wenn der c’t-Artikel 2007 erschienen wäre, super! Jetzt nur peinlich. Schon September 2011, immerhin fast 2 Jahre her, machte Brian Goetz die C#-Syntax bekannt, was ein Wechsel der Symbole (jetzt -> statt vor Jahren =>) bedeutete. Auch Implementierungsdetails sind völlig anders und inkorrekt sagt der Beitrag:
Intern erzeugt der Compiler draus eine Interface und eine anonyme Klasse mit einer einzigen Funktion […]
Nein, das macht der Compiler natürlich nicht. Erst einmal gibt es in Java keine “Funktionen”, sondern nur Methoden, und dann nutzt der Compiler das in Java 7 eingeführte Invoke-Dynamic.
Der nächste Fehler im Artikel betrifft try-mit- Ressourcen, was in Java 7 schon längst implementiert wurde.
Because they don’t C# (c sharp).
https://code.google.com/p/j2objc/:
Nettes neues enum StandardSystemProperty in Guava V15 (noch beta): https://code.google.com/p/guava-libraries/source/diff?spec=svna8e4dd38cfae3e31ddd270e7f97ce283bf2c15f2&r=a8e4dd38cfae3e31ddd270e7f97ce283bf2c15f2&format=side&path=/guava/src/com/google/common/base/StandardSystemProperty.java
Siehe dazu auch den Blog-Beitrag http://piotrnowicki.com/2013/05/java-ee-7-jms-2-0-with-glassfish-v4/.
Google Guava hat Folgendes ursprünglich geteilt:
EvictingQueue: a non-blocking, bounded queue
In Guava 15, we are introducing EvictingQueue [1], which is a non-blocking, bounded queue that automatically evicts (removes) elements from the head of the queue when attempting to add elements to a full queue. This is different from conventional bounded queues, which either block or reject new elements when full.
Java provides several Queue implementations, depending on what features you need. For example:
Unbounded, non-blocking: ArrayDeque, LinkedList, PriorityQueue
Unbounded, blocking: LinkedBlockingDeque, LinkedBlockingQueue, SynchronousQueue
Bounded, blocking: ArrayBlockingQueue, LinkedBlockingDeque, LinkedBlockingQueue
However, a bounded, non-blocking implementation is noticeably missing from the JDK. Like many of the JDK implementations, EvictingQueue is not thread-safe and does not permit null elements. If you need thread safety, you must wrap it in a synchronized wrapper (Queues#synchronizedQueue). If you need null elements, please give this wiki page [2] a read.
An EvictingQueue can be used to keep track of recent items in a bounded buffer, or even as a simple FIFO cache. Hopefully you’ll find it useful!
Cheers,
-+Kurt Alfred Kluever, Guavian
[1] http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/EvictingQueue.html
[2] https://code.google.com/p/guava-libraries/wiki/LivingWithNullHostileCollections
Selbst C++ (aktueller Standard) hat Lambda-Ausdrücke. So wie sich Java weiter entwickelt, tut es auch C++ (was gerne vergessen wird), das “frühere” C++, hat wenig mehr mit dem heutigen zu tun.
Was sich noch so alles in C++11 getan hat: http://www2.research.att.com/~bs/C++0xFAQ.html
Und für alle C(++) Entwickler, die glauben, sie wüssten schon alles: sehr sehr nett gemachter Folienset http://www.slideshare.net/olvemaudal/deep-c, als PDF unter http://this-download-would-be-faster-with-a-premium-account-at-good.net/dl/1998998/0/0/1318327568/4ea245e7a2f9ea9dbfab51cca1915f9c710c8928/anonroot/0/6/1/061c/deepcslidesoct2012-111010033910-phpapp01.pdf.
Nettes Projekt: http://vll.java.net/. Kurzanleitung auch unter http://today.java.net/article/2011/09/14/visuallanglab-grammar-without-tears.
Der Autor ist jedem ein Begriff, der in der Unix-Welt einmal unterwegs war: Wo die Java-Insel das Standard-Werk für Java ist, ist Koflers Linux-Buch (jetzt auch bei Galileo) DAS Buch für das Open-Source Betriebssystem. Nicht vielen bekannt ist, dass Kofler neben Linux auch noch weitere Bücher verfasst hat, insbesondere als eBook. Eines davon handelt über Java und trägt den kurzen Titel „Die Java-Syntax“. Hier kommen Assoziationen zur Java Language Specification auf, doch mit einer formalen Beschreibung der Sprache hat dieses eBook überhaupt nichts gemeinsam — es ist eher eine allgemeine Einführung in Java und einigen Bibliotheken, wie Date/Time, Threading und Collection. Die Beschreibung ist dabei nicht sonderlich tief und einige Begrifflichkeiten sind doch sehr ungewöhnlich, die Collection-Klassen heißen etwas Aufzählungsklassen, der Autor schreibt oft „Klasse“, wenn er „Typ“ meint, die Sprachst ist im Allgemeinen etwas ungenau und könnte präziser sein, teils irreführend wie bei „Normalerweise können Methoden nur genutzt werden, wenn vorher ein Objekt der betreffenden Klasse erzeugt wird“ klingt, als ob statische Methoden un-normal seien und abartig. Einige Aussagen zeugen von nicht sehr tiefem Java-Verständnis, etwas bei den Überschreibungsregeln der throws
-Klausel, wenn Kofler über die Implementierung der Schnittstelle AutoCloseable
schreibt „Sie müssen nur darauf achten, dass Sie Ihre close-Methode mit throws Exception deklarieren“. Oder wenn der Autor den Minus-Strich im Paketnamen wählt (de.meine-firma
) und ein ganzes Beispiel mit Pakten, und Jar-Archiven darum aufbaut, was aber nie compilieren würde, da „-“ in Bezeichnern überhaupt nicht erlaubt ist. Zusammenfassend lässt sich festhalten, dass Kofler eine Einführung in Java gelungen ist, die aber weit hinter seinen anderen Büchern zurückbleibt. Im dem Segment der Einführungsbücher wird „Die Java-Syntax“ es daher schwer haben. Eine Kurzvorstellung vom Autor gibt es in einem Video, eine Leseprobe auf seiner Webseite. Ein Buch-Update ist geplant.
Die Java-Syntax; Variablen Operatoren Klassen Exceptions Multi-Threading Generics und Collections Lambda-Ausdrücke. Für Java 6, 7 und 8
Michael Kofler. Verlag ebooks.kofler. ISBN 978-3-902643-09-4. 216 Seiten