Friday, December 12, 2014

Recent (November/December 2014) Java/JDK 9 Posts of Interest

I have come across a few Java-related posts in recent weeks that I reference and summarize here.

An Update on Java Modularity

Mark Reinhold's Project Jigsaw: Modular run-time images reports on the status of Project Jigsaw. This post includes coverage of consequences of Project Jigsaw that make its effects more concrete in my mind. Here are some of the interesting consequences of Project Jigsaw that Reinhold pointed out:

  • "The JDK image [will] simply [be] a run-time image [the JRE] that happens to contain the full set of development tools and other items historically found in the JDK."
  • "The endorsed-standards override mechanism has been removed" and will be replaced with "upgradeable modules."
  • "The extension mechanism has been removed."
  • "The internal files rt.jar, tools.jar, and dt.jar have been removed" and "class and resource files previously in tools.jar and dt.jar are now always visible via the bootstrap or application class loaders in a JDK image."

More Java 9 Features

In his post Oracle Confirms New Java 9 Features, Benjamin Ball summarizes and references the latest six JDK Enhancement Proposals (JEPs) associated with JDK 9 (JEP 158, JEP 165, JEP 213, JEP 214, JEP 219, and JEP 224).

Another JDK Versioning Scheme

Bienvenido David describes JDK Enhancement Proposal (JEP) 223 in his post New Java Version - it's not JDK 1.9. He explains that, under this proposed versioning scheme, JDK 1.7.0_65-b20 (7u65) would be JDK 7.6.15+20 (7.6.15).

Recompiling the Java Runtime Library with Debug Symbols

Attila-Mihaly Balazs's post Recompiling the Java Runtime Library with Debug Symbols possesses three characteristics of my favorite blog posts in that it's (1) relatively thorough given its (2) conciseness and it (3) references other related posts ("Credits for inspiration"). The post demonstrates using Ant to build a debug version of rt.jar. Compiling rt.jar (which won't be around in JDK 9 according to the previously mentioned Reinhold post) isn't something one needs to do often, but it's nice to keep a post like it in mind in case this is needed in the future.

It's worth pointing out here that the post "Recompiling the Java Runtime Library with Debug Symbols" is associated with the 2014 Java Advent Calendar ("interesting technical article from various authors related to Java daily between the 1st and 24th of December, each year") and is hosted on the site ("knowledge sharing platform with the same DNA as the Devoxx conferences and a productive relation with").

JVM Essential Guide

Alexey Zhebel's post Java Virtual Machine: the Essential Guide provides a concise (about five printed pages really does mean it focuses on "essentials") overview of the Java Virtual Machine. Topics that are (briefly) covered include architecture, execution, memory, threads, performance optimization, and performance monitoring.

Ascii Art in Javadoc Comments

As one who has used "ASCII art" in Javadoc and other comments before and has seen others use this approach effectively, I found Fabian Kessler's post Graphical Visualizations in JavaDoc interesting. Kessler points out some advantages of "ASCII art" over linking graphics in Javadoc and references the useful online tool asciidraw.

Effective Javadoc that doesn't simply restate what the code already demonstrates can be very helpful and the use of ASCII art is another tactic that can be used to write effective Javadoc that adds to the understanding of what the code is supposed to do.

No comments: