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.

Eine Java-Bibliothek für Feiertage: Jollyday

http://jollyday.sourceforge.net/. Beispiel von der Webseite:

    1. To get a HolidayManager instance for US holidays:

      HolidayManager m = HolidayManager.getInstance(HolidayCalendar.UNITED_STATES);
    2. To get the holidays for the state New York:
        Set<Holiday> holidays = m.getHolidays(2010, "ny");
    3. To get the holidays for New York City in the state New York:
        Set<Holiday> holidays = m.getHolidays(2010, "ny", "nyc");
    4. To get a HolidayManager instance for your own holidays:
      1. create a Holidays file i.e. Holidays_MyOwn.xml
      2. put your holiday rules into this (for examples please the XML files in the provided JAR file in the folder holidays)
      3. put your Holidays_MyOwn.xml in your applications classpath
      4. to use your holiday rules create an HolidayManager instance by calling HolidayManager m = HolidayManager.getInstance("MyOwn");
      5. 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

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://www.basicthinking.de/blog/2011/10/19/galaxy-nexus-und-das-ice-cream-sandwich-sind-da-lassts-euch-schmecken/

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.

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.

http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/2a8072c7cf99

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

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.

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.