Java Modules Cheat Sheet#postA cheat sheet for building and running Java modules from the command line with
How To Use Multi-release JARs To Target Multiple Java Versions#postMulti-release JARs allow you to create a single JAR that contains bytecode for several Java versions with jar --version 9 (or 10, or...). Presented with a multi-release JAR, JVMs version 9 and later will load the code that was included for their version.
Code-First Java 9 Tutorial#postShowing code for the most important Java 9 features: private interface methods, stream and optional APIs, collection factories, reactive streams, stack walking, multi-release JARs, redirected platform logging, unified logging, the module system, and more. If you're new to Java 9, start here.
Maven on Java 9 and later - Six Things You Need To Know#postHow to use the compiler executable, toolchains, and mavenrc to run Maven on Java 9 and how to use mvn/jvm.config and profiles to configure your build.
Making JSR 305 Work On Java 9#postUsing annotations from JSR-305 (
@PostConstruct) on Java 9 causes a split package. Here's the fix.
Code-First Java Module System Tutorial#postTutorial of Java 9 module system basics: declare modules with module-info.java, compile, package, launch them, learn of module path and readability graph.
Unified Logging Of JVM Messages With TheJava 9 introduces unified logging, a central mechanism configurable with
-Xlogto observe class loading, threading, garbage collector, module system, etc.
Welcome, Java 9!#videoJava 9 is out today and with other members of the community I'm throwing a welcome party. Get an all around view on the new Java release with various opinions, tips, and great sources!
Five Command Line Options To Hack The Java Module System#postGet your code running on the Java 9 Module System with the command line options
Planning Your Java 9 Update#postA Java 9 update is not always trivial; quite the opposite, migrating to Java 9 can be challenging. Here's how to gather and categorize problems.
To JAR Hell And Back#talkA live-coding talk where we take a typical Java 8 code base and update it to Java 9 and beyond, overcoming some common and some less common hurdles like dependencies on internal APIs and split packages
Java 9 Migration Guide: The Seven Most Common Challenges#postSolutions to the seven most common challenges for a Java 9 migration. Each of them explained with background, symptoms, and fixes.
Java 9 Resources - Talks, Articles, Repos, Blogs, Books And Courses#postJava 9 draws and the number of posts and talks about it skyrocketed in the recent months. Here's a list of recommended talks and articles but also further resources where new, high-quality content will pop up.
Optional Dependencies withThe Java Platform Module System allows optional dependencies with
requires static. They are accessible at compile but can be absent at run time.
Reflection vs Encapsulation#postReflection wants to break into all code; encapsulation wants to give modules a safe space. How can this stand off be resolved?
SPJCN II: What's Taking So Long?#postIn the second issue of SitePoint’s Java Channel Newsletter (from September 23rd 2016) I wonder why Java 9 takes so long.
The Ultimate Guide To Java 9#postJava 9 is coming! Besides Jigsaw it brings new language features and many new and improved APIs. Check out the ultimate guide.
Oh No, I ForgotIn Java 9
Streamgets a couple of new methods - one of them is an overload of
iteratethat takes a predicate and returns a finite stream.
Java 9 Additions ToJava 9 is coming! One of the changes are new methods on Optional:
ifPresentOrElse(), which considerably improve Optional's API.
Java 9 Additions ToJava 9 is coming! One of the many changes are new Stream methods:
ofNullable. For more fun with streams!
Implied Readability WithIn Java 9 a module must read another to use its API. With implied readability a 3rd module passes the dependency on, allowing the 1st to read the 2nd.
JDeps Maven Plugin 0.2 Released#postWith v0.2 the JDeps Maven Plugin allows the creation of flexible exceptions from build-breaking for a self-paced preparation for Java 9 and Project Jigsaw.
Six-Month Delay Of Java 9 Release#postMark Reinhold proposed a six-month delay of JSR 376 / Project Jigsaw and thus of the Java 9 release. According to this JDK 9 would come out in March 2017.
JavaOne 2015: Under The Hood Of Project Jigsaw#postJavaOne 2015 saw a series of talks by the Project Jigsaw team about modularity in Java 9. This one gives a peek under the hood discussing layers and class loaders.
JavaOne 2015: Advanced Modular Development#postJavaOne 2015 saw a series of talks by the Project Jigsaw team about modularity in Java 9. This one details different migration scenarios.
JavaOne 2015: Introduction to Modular Development#postJavaOne 2015 saw a series of talks by the Project Jigsaw team about modularity in Java 9. This one introduces the basic concepts.
JavaOne 2015: Prepare For JDK 9#postJavaOne 2015 saw a series of talks by the Project Jigsaw team about modularity in Java 9. This one explains how to prepare for it.
Will There Be Module Hell?#postJava 9's Project Jigsaw promises to solve JAR hell but falls short when it comes to conflicting versions. Will there be module hell instead?
All About Project Jigsaw On InfoQ#postMy posts about Project Jigsaw got polished and published on InfoQ.
The Features Project Jigsaw Brings To Java 9#postA detailed presentation of the features Project Jigsaw brings to Java 9: modularization, encapsulation, configuration, performance, and more.
Motivation And Goals Of Project Jigsaw#postA look at how Project Jigsaw (coming in Java 9) aims to solve JAR/classpath hell and at its goals to improve security, maintainability and performance.
JavaFX, Project Jigsaw and JEP 253#postJEP253 aims to prepare JavaFX for Project Jigsaw by defining public APIs for functionality that will become inaccessible due to modularization.
First Release of JDeps Maven Plugin#postThe JDeps Maven Plugin will break a project's build if it contains dependencies on JDK-internal APIs. This helps to prepare for Java 9.