Tag Archives: Java

General Java programming


JavaFX provides some dedicated system properties to customize its behavior. Usually these are specified as command-line flags on the java/javaw invocation, using the syntax “java -Dname=value” followed by the JavaFX application path. I’ve previously noted two especially useful ones, as of Java SE 8u66-77: -Dprism.order=sw enables software rendering, even if JavaFX thinks hardware acceleration is […]

Programming Languages in 2015

You probably already heard that Java topped the TIOBE index in 2015, with an impressive growth spurt of 6% that put it close to 2006 levels and clearly outdistanced stagnant C (21.5% vs 16%). The rest of the field remained fairly unchanged, except for rapidly declining Objective-C, suggesting that Java drew renewed interest from across […]

Java SE 8 Update 40 Released

Java Standard Edition 8 Update 40 is now upon us, and despite the “Update” designation this was a fairly massive feature release. You can find overviews at Java Source and Java Tutorials, and of course the detailed release notes. The changes I’m most interested in concern JavaFX, including accessibility support, new controls – more on […]

Core Java 8 for the Impatient

Core Java for the Impatient — Cay S. Horstmann, Addison-Wesley 2015 (for Java SE 8), ISBN 978-0-321-99632-9 This 480-page book is a compromise between Horstmann’s brief introduction Java SE 8 for the Really Impatient (215 pages) and the traditional monumental Core Java tomes (2092 pages for Java SE 7). Rather than covering virtually the entire […]

Loop Closures in Java & C#

The lambda expressions introduced in Java 8 can capture, or “close over”, any local variable that’s within scope and effectively final (Java 8 Language Specification §15.27.2, §4.12.4). Interestingly, this includes the loop variables of enhanced for loops, or for-each loops as I prefer to call them. Cay Horstmann mentions this very useful but non-obvious fact […]

Glyph Positioning in JFreeSVG & OrsonPDF

Object Refinery Ltd. makes two small but extremely useful Java libraries for producing vector graphics. JFreeSVG (free & commercial) supports Scalable Vector Graphics (SVG) and HTML5 Canvas output, and OrsonPDF (commercial with free demo) supports Adobe PDF output. Each provides a custom implementation of java.awt.Graphics2D, the 2D drawing surface for the Java AWT graphics library. […]

Java 8 for C# Programmers

My overview article Java for C# Programmers has been updated for Java SE 8. You can find many links to the new features in the announcement and follow-up post at Oracle’s Java Tutorials Blog. I also once again recommend Cay S. Horstmann’s book, Java SE 8 for the Really Impatient. That said, here’s a quick […]

Grand Java SE 8 Update

Following Oracle’s long-awaited release of Java SE 8, I went through my Java-related articles and updated them to the latest version. Most benchmark results haven’t changed much, but neither has Oracle’s annoying default Windows JVM packaging. Here are some updates on this sorry subject: Java Client VM — Java SE 8 is faster across the […]

Overviews for HTML5 & Java SE 8

Two new entries in the Developer Books review archive. MacDonald’s HTML5 intro is well-suited for people who already know HTML 4, and Horstmann’s Java SE 8 overview should remain useful even after Core Java has been updated. I recommend both books. HTML5: The Missing Manual — Matthew MacDonald, O’Reilly 2013 (2nd ed.) This is not […]

Struct Performance 2014

Once again and probably for the last time, I’ve updated my .NET Struct Performance article with results for the latest batch of compilers and runtimes. Microsoft’s and Mono’s current CLRs are unchanged as expected, and so is the excellent MinGW gcc. Visual C++ 2013 gave a nasty shock with massive optimizer failures for user-defined types […]