Tag Archives: Java

General Java programming

Class Diagrammer 2.1.0 Released

Wrapping up the Java port of my Tektosyne library (for computational geometry and graph algorithms), I recreated a number of UML diagrams for documentation, using my recently ported Class Diagrammer. That was its biggest project to date, and sure enough a large number of fixes and enhancements resulted. Class Diagrammer 2.1.0 is now available for […]

Java Method Reference Evaluation

Along with lambda expressions, Java SE 8 introduced method references as a shorthand notation. These are mostly used to reference static methods (e.g. Double::toString) or constructors (e.g. String[]::new), and these uses are straightforward. However, method references to instance methods can yield results that differ from lambda expressions in surprising ways. This is because the invocation […]

Core Java 10 for Java 8

Core Java, Volume I: Fundamentals — Cay S. Horstmann, Prentice Hall (Oracle) 2015 (10th ed. for Java SE 8), ISBN 978-0-13-417730-4 Core Java, Volume II: Advanced Features — Cay S. Horstmann, Prentice Hall (Oracle) 2016 (10th ed. for Java SE 8), ISBN 978-0-13-417729-8 These 1000-page tomes originated as Sun’s official guide to the Java platform […]

Diagrammer Fixes & Samples

I have been using my recently released Class Diagrammer for Java to document two more of my projects, and along the way inevitably found a number of bugs that needed fixing and features that needed adding. So here is Class Diagrammer 2.0.1 with the following fixes, enhancements, and new samples. 2016-06-05: Minor update to version […]

Class Diagrammer for Java

Class Diagrammer 2.0 is now available for download, written in Java & JavaFX and designed to reverse-engineer Java JAR files into UML class and package diagrams. This is mostly a direct rewrite of the previous version which was written in C# and operated on .NET Framework assemblies. The download page still offers the final .NET […]

JavaFX and JAVA_TOOL_OPTIONS

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 […]