http://forge.ow2.org/projects/asm/. Kurzvorstellung http://forge.ow2.org/forum/forum.php?forum_id=2051.
10. Auflage der Insel (Band 1) online
http://openbook.galileocomputing.de/javainsel/. Die 9. ist (noch) unter http://openbook.galileocomputing.de/javainsel9/ zu erreichen, sie hat teilweise noch mehr Details. Der 1. Band ist natürlich jetzt schmaler, weil der fortgeschrittene Stoff in den 2. Band (http://www.galileocomputing.de/2253?GPP=opjiX) gerutscht ist. Ob der 2. Band online sein wird, ist noch unklar, das hängt auch von den Lesern ab. (Beim Verlag anfragen.) Zwei (gute) Kapitel aus Band 2 sind als PDF verfügbar: http://www.galileocomputing.de/download/dateien/2624/galileocomputing_java_7_mehr_als_eine_insel.pdf mit Neues zu Java 7 und Reflection. Das sind mehr als 100 Seiten.
PS: Auch bei Google Plus https://plus.google.com/111898412819822416170/ verbeischauen.
Schöner Vergleich von Java-Serialisierern
https://github.com/eishay/jvm-serializers/wiki. Der Java SE Default Serialisierer ist mit der Beste, interessant sind aber die Vergleiche zwischen XML und JSON und diversen Implementierungen auf dem Markt.
Eine Java-Bibliothek für Feiertage: Jollyday
http://jollyday.sourceforge.net/. Beispiel von der Webseite:
-
To get a HolidayManager instance for US holidays:
HolidayManager m = HolidayManager.getInstance(HolidayCalendar.UNITED_STATES);
- To get the holidays for the state New York:
Set<Holiday> holidays = m.getHolidays(2010, "ny");
- To get the holidays for New York City in the state New York:
Set<Holiday> holidays = m.getHolidays(2010, "ny", "nyc");
- To get a HolidayManager instance for your own holidays:
- create a Holidays file i.e. Holidays_MyOwn.xml
- put your holiday rules into this (for examples please the XML files in the provided JAR file in the folder holidays)
- put your Holidays_MyOwn.xml in your applications classpath
- to use your holiday rules create an HolidayManager instance by calling HolidayManager m = HolidayManager.getInstance("MyOwn");
- call Set<Holiday> holidays = m.getHolidays(2010); to retrieve the holidays for 2010.
Welche deutschen Feiertage erfasst werden listet http://jollyday.sourceforge.net/data/de.html auf. Die Lib. steht unter der Apache Lizenz und stammt vom Deutschen Sven Diedrichsen.
Zen-Coding: Plugins für’ schnelle Schreiben von HTML/XML
http://code.google.com/p/zen-coding/. Die Idee ist, dass der Editor Ausdrücke wie
div#page>div.logo+ul#navigation>li*5>a
expandiert zu
<div id="page">
<div class="logo"></div>
<ul id="navigation">
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</div>
Plugins gibt es für
- Aptana/Eclipse (crossplatform) https://github.com/sergeche/eclipse-zencoding
- TextMate (Mac). Available in two flavors: basic snippets (Zen HTML and Zen CSS) and full-featured plugin (ZenCoding for TextMate). Bundles > Zen Coding menu item
- Coda (Mac) — external download, via TEA for Coda. Plug-ins > TEA for Coda > Zen Coding menu item
- Espresso (Mac) — external download, via TEA for Espresso. Zen Coding is bundled with Espresso by default, but you should upgrade ZC to latest version. Actions > HTML menu item
- Komodo Edit/IDE (crossplatform) — external download. Tools > Zen Coding menu item
- Notepad++ (Windows). Zen Coding menu item Also a Python version of NPP plugin is available:http://sourceforge.net/projects/npppythonscript/files/
- PSPad (Windows). Scripts > Zen Coding menu item
- <textarea> (browser-based). See online demo.
- editArea (browser-based). See online demo.
- CodeMirror (browser-based). See online demo.
Samsung Galaxy Nexus, Android 4 (Ice Cream Sandwich)
Heute vorstellt und einige Blogger setzen sich damit auseinander und dokumentieren den Event:
http://stadt-bremerhaven.de/google-event-vorstellung-des-samsung-galaxy-nexus
http://stadt-bremerhaven.de/google-event-ice-cream-sandwich
http://www.googlewatchblog.de/2011/10/google-galaxy-nexus/
http://www.googlewatchblog.de/2011/10/ice-cream-sandwich-android-4-0/
http://de.engadget.com/2011/10/19/ice-cream-sandwich-ist-offiziell-erste-screenshots-und-alle-fea/
http://stadt-bremerhaven.de/google-galaxy-nexus-seite-ist-online-teaser-video
http://de.engadget.com/2011/10/19/hands-on-mit-dem-samsung-nexus-galaxy/
http://stadt-bremerhaven.de/android-4-0-ice-cream-sandwich-etwas-ausfuehrlicher
Sieht phantastisch aus, will da noch jmd. ein iPhone? 🙂 (Ja, wegen der Apps….) Das OS und die mitgelieferten Apps werden immer leistungsfähiger, das Look and Feel ist einheitlich. Nur braucht man dafür schon einen riesen-Screen, wie auch das Nexus hat – zu groß für manche.
Von Spring auf Java EE
Java 8: Double/Float.isFinite(), Math.nextDown()
Die Methode Double.isInfinite(double v) liefert true, falls v entweder POSITIVE_INFINITY oder NEGATIVE_INFINITY ist. In Float gibt es die gleiche Methode. Seit Java 8 testet Double.isFinite(double v), ob v nicht unendlich ist und auch nicht NaN ist – ähnliches gilt für Float.
Statt Math.nextAfter(d,Double.NEGATIVE_INFINITY) gibt es in Java 8 auch Math.nextDown().
Java 8 Änderungen an BigInteger: intValueExact(), longValueExact() und shortValueExact()
Die Methoden intValue(), longValue() der Klasse BigInteger (und shortValue(), was aus BigInteger aus Number erbt) liefen ein int/long/short des repräsentierten Werteobjekts, jedoch ist nicht zwingend, dass die Werte in den Datentyp int/long/short passen; falls nicht, werden sie einfach wie bei einer expliziten Typanpassung abgeschnitten. Die in Java 8 eingeführten Methoden intValueExact(), longValueExact() und shortValueExact() lösen eine ArithmeticException aus, falls der vom BigInteger repräsentierte Wert nicht ohne Verlust in den primitiven Datentyp passt.
Google App Engine 1.5.5 freigegeben
Von http://code.google.com/p/googleappengine/wiki/SdkForJavaReleaseNotes:
- We have increased the number of files you can upload with your application to from 3,000 to 10,000.
- We have increased the size limit for a single file uploaded to App Engine from 10MB to 32MB.
- We have increased the Frontend request deadline from 30 seconds to 60 seconds.
- We have increased the online URLFetch maximum deadline from 10 seconds to 60 seconds. The default deadline remains at 10 seconds. The offline maximum deadline for URLFetch remains at 10 minutes.
- We have increased the URLFetch Post payload from 1MB to 5MB.
- App Engine now supports Cross Group (XG) transactions with the High Replication Datastore, which allow you to perform transactions across multiple entity groups. http://code.google.com/appengine/docs/java/datastore/transactions.html
- We have added a graph to the admin console that displays the number of instances for which you will be billed.
- In the XMPP API, getPresence() is deprecated in favor of using the inbound presence handlers documented inhttp://code.google.com/appengine/docs/java/xmpp/overview.html#Handling_User_Presence.
- Fixed an issue in the Admin Console where the "Run Now" button did not work for tasks with a ‚-‚ in the name.
- Fixed an issue to provide a better error message when a user tries to parse an HttpRequest’s input stream more than once in a request.
- Fixed an issue to provide a better error message when using the Mail API to send email to an invalid user address.
- Fixed an issue in the SDK where HttpServletRequest.getInputStream().read() always returned -1.http://code.google.com/p/googleappengine/issues/detail?id=5396
- Fixed an issue where you could not schedule a cron job to run every 100 minutes.http://code.google.com/p/googleappengine/issues/detail?id=5861
Ein paar weitere Details: http://www.infoq.com/news/2011/10/Google-Cloud
Spring 3.1 ist auf dem Weg
Google Cloud SQL, endlich echtes SQL (über MySQL) für die Google App Engine
http://code.google.com/apis/sql/docs/developers_guide_java.html. Noch im Beta-Status
JavaFX 2.0 ist fertig
Siehe http://blogs.oracle.com/thejavatutorials/entry/javafx_2_0_released.
Naja, jetzt habe ich das Kapitel aus der Insel gerade rausgeschmissen, weil der 2. Band zu dick wurde — die ganzen API-Anpassungen in den letzten Monate hätte ich mir sparen können. Naja, vielleicht im 11. Band wenn ich Swing kürze.
Google Guava 10
Nach längerer Wartezeit gibt es nach Guava 0.9 die Version Guava 10 – die Version 1.0 wollten man vermeiden, das klingt so fertig (ja, Google mag Beta-Status). Es ist einiges im io-Paket rausgeflogen und dabei neue Sachen reingekommen, wie ein Caching und ein eigener EventBus, sodass jetzt auf den java.net EventBus jetzt verzichten kann. News siehe
Viele Videos zu schauen von den ScalaDays 2011
PSP Emulator in Java (jpcsp)
Java ist langsam? Nee, denn sonst würde man keinen PSP Emulator in Java programmieren, sondern in C(++)! Doch das Projekt http://jpcsp.org/ (bzw. http://code.google.com/p/jpcsp/) zeigt wieder einmal, wie leistungsfähig Java (plus ein paar nativer Bibliotheken) ist. Die Emulation ist modernen Spielkonsolen ist schwer, da sie mit spezieller Hardware vollgestopft sind, auch wenn die Prozessoren nicht wie in moderne PCs in Gigahertz-Bereich laufen. Die PSP hat mit einem auf MIPS 4000 basierenden RISC-Prozessor und einen “Media-Engine”-Chip, die JPCSP ausgezeichnet emuliert, was an die 300 Speile ausführbar macht: http://www.emunewz.net/forum/forumdisplay.php?fid=65. Der Code greift für die Media-Low-Level-Operationen auf http://lwjgl.org/ zurück. Es steckt sonst noch nativer Anteil drin, etwa für Raw-Sockets (das sind Sockets mit allen TCP/IP-Informationen, also auch den Headern, nicht nur den Transportdaten selbst, http://www.savarese.org/software/rocksaw/) oder eine Bib. namens Xuggler, was ein Java-Wrapper für FFmpeg ist.
Endlich Eclipse 3.7.1 mit Java 7 Unterstützung
Video: Java-Geschichtsstunde mit Neal Gafter
Neue JavaFX-Version (build 42), mal wieder API-Änderungen
Download unter http://javafx.com/. Änderungen betreffen wohl nahezu jedes Hauptprogramm, denn setVisible(true) wird zu show() und setVisible(false) zu hide(). Das ist natürlich super ungewöhnlich, da AWT genau den anderen Weg gegangen ist, und eben Bean-Methoden einführte. 2.: Die Builder sind in ein andere Paket gerutscht, so fällt weg: import javafx.builders.SplitPaneBuilder;
Achtung: Die Online-Doku ist im Moment noch nicht auf dem neusten Stand.
GWT 2.4
So, da haben wir mal wieder in Update von GWT: http://code.google.com/webtoolkit/release-notes.html#Release_Notes_Current. Als ich den Milestone vor ein paar Wochen getestet habe, gab es noch einige Warnungen auf der Kommandozeile. Weiteres: http://code.google.com/webtoolkit/doc/latest/ReleaseNotes.html. So spektakulär ist das nicht in meinen Augen, hätte uach GWT 2.3.x heißen können.