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 … Continue reading “Java 8 for C# Programmers”

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 … Continue reading “Grand Java SE 8 Update”

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 … Continue reading “Overviews for HTML5 & Java SE 8”

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 … Continue reading “Struct Performance 2014”

yWorks yEd & UML Doclet

The core products of yWorks are the yFiles libraries for Java, .NET, and JavaScript which handle graph analysis, layout, and visualization. The libraries are enterprise-priced (thousands of dollars) but yWorks also offers some very interesting free tools. Aside from the yGuard bytecode obfuscator, these are all diagramming applications based on yFiles. yEd Graph Editor The … Continue reading “yWorks yEd & UML Doclet”

Jumping out of Java finally

The definition of the return statement in the current Java Language Specification (§14.17) features an innocuous-looking sentence: It can be seen, then, that a return statement always completes abruptly. Other statements that “always complete abruptly” include break (§14.15), continue (§14.16), and of course throw (§14.18). So what? Well, Java also has try-finally blocks (§14.20). As … Continue reading “Jumping out of Java finally”

Overview: Java versus C#

Today every programmer learns Java at school, but my university (where I walked uphill, both ways, barefoot, in the snow) had used C, Pascal, and Ada of all things. Later I went straight from C/C++ to C# when Microsoft released the .NET Framework. Eventually I also picked up Java on the side, after it had … Continue reading “Overview: Java versus C#”

Effective Java & Pro JavaFX 2

Effective Java — Joshua Bloch, Addison-Wesley 2008 (2nd ed.), ISBN 978-0-321-35668-0 (The third edition of this book is now available and covered by an updated review.) Pro JavaFX 2 — James L. Weaver et al., Apress 2012, ISBN 978-1-4302-6872-7 With most JavaFX literature still based on version 1, this is the first comprehensive title for … Continue reading “Effective Java & Pro JavaFX 2”

Referrer Filter Released

The new Referrer Filter utility, or ReferFilter for short, is the result of my efforts to get a realistic idea of legitimate traffic from my server logs. ReferFilter is a small Java command-line program that reads a server log from stdin, checks the entries against a referrer whitelist, and produces a filtered log on stdout, … Continue reading “Referrer Filter Released”

Oracle Java on Windows

Added a page with tips regarding Oracle Java on Windows. These tips are sadly necessary because Oracle keeps defaulting Windows users to a 32-bit JRE that installs a dangerous and useless browser plugin, attempts to install obnoxious paid crapware, and lacks the modern Server VM to boot. The simplest workaround is to manually download the … Continue reading “Oracle Java on Windows”