Everything about

#java‑9

Java Modules Cheat Sheet#post#j_ms #java‑9 #java‑11
A cheat sheet for building and running Java modules from the command line with javac, jar, and java
Java After Eight#talk#java‑9 #java‑10 #java‑11 #java‑12 #java‑13 #java‑14 #java‑15
A live-coding talk during which I update a Java 8 code base to Java 15, making good use of new language features, additional and improved APIs, and JVM capabilities
Java 9 to 11#course#java‑9 #java‑10 #java‑11
A 1 to 2-day course on Java 9 to 11: From new language features, APIs, and JVM capabilities to migration challenges, JDK distributions, and the 6-month release cycle
Java Module System#course#j_ms #java‑9 #java‑11
A 1 to 2-day course on the Java module system, from motivation and basics to underlying concepts and advanced features to migration and modularization of existing projects
How To Use Multi-release JARs To Target Multiple Java Versions#post#tools #java‑9
Multi-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#post#java‑9 #migration #streams #optional #collections #j_ms
Showing 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#post#java‑9 #tools
How 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#post#java‑9 #j_ms #migration
Using annotations from JSR-305 (@Nonnull, @Nullable) and javax.annotation (@Generated, @PostConstruct) on Java 9 causes a split package. Here's the fix.
Code-First Java Module System Tutorial#post#java‑9 #java‑basics #j_ms
Tutorial 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 The -Xlog Option#post#java‑9 #java‑basics
Java 9 introduces unified logging, a central mechanism configurable with -Xlog to observe class loading, threading, garbage collector, module system, etc.
Welcome, Java 9!#video#community #java‑9
Java 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#post#java‑9 #j_ms
Get your code running on the Java 9 Module System with the command line options --add-exports, --add-opens, --add-modules, --add-reads, and --patch-module.
Planning Your Java 9 Update#post#java‑9 #jdeps #migration
A 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#talk#java‑9 #java‑11 #j_ms #migration
A 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#post#java‑9 #j_ms #migration
Solutions 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#post#java‑9
Java 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 with requires static#post#java‑9 #j_ms
The Java Platform Module System allows optional dependencies with requires static. They are accessible at compile but can be absent at run time.
Java 16 Is Coming!#talk#java‑9 #java‑10 #java‑11 #java‑12 #java‑13 #java‑14 #java‑15
In this talk, I introduce the Java language features, new/updated APIs, and new JVM capabilities that recent Java releases brought to the ecosystem
Reflection vs Encapsulation#post#java‑9 #j_ms #project‑jigsaw #reflection
Reflection 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?#post#java‑9 #project‑jigsaw
In 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#post#java‑next #java‑9
Java 9 is coming! Besides Jigsaw it brings new language features and many new and improved APIs. Check out the ultimate guide.
Oh No, I Forgot Stream::iterate!#post#java‑9 #streams
In Java 9 Stream gets a couple of new methods - one of them is an overload of iterate that takes a predicate and returns a finite stream.
Java 9 Additions To Optional#post#java‑9 #optional
Java 9 is coming! One of the changes are new methods on Optional: stream(), or(), and ifPresentOrElse(), which considerably improve Optional's API.
Java 9 Additions To Stream#post#java‑9 #streams
Java 9 is coming! One of the many changes are new Stream methods: takeWhile, dropWhile, and ofNullable. For more fun with streams!
Implied Readability With requires transitive#post#java‑9 #j_ms
In 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#post#java‑9 #jdeps #tools #project‑jigsaw
With 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#post#java‑next #java‑9 #project‑jigsaw
Mark 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#post#java‑next #impulse #java‑9 #community #project‑jigsaw
JavaOne 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#post#java‑next #impulse #java‑9 #community #project‑jigsaw
JavaOne 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#post#java‑next #impulse #java‑9 #community #project‑jigsaw
JavaOne 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#post#java‑next #impulse #java‑9 #community #project‑jigsaw
JavaOne 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?#post#java‑next #java‑9 #project‑jigsaw
Java 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#post#java‑next #java‑9 #project‑jigsaw
My posts about Project Jigsaw got polished and published on InfoQ.
The Features Project Jigsaw Brings To Java 9#post#java‑next #java‑9 #project‑jigsaw
A detailed presentation of the features Project Jigsaw brings to Java 9: modularization, encapsulation, configuration, performance, and more.
Motivation And Goals Of Project Jigsaw#post#java‑next #java‑9 #project‑jigsaw
A 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#post#java‑next #java‑9 #javafx #project‑jigsaw #patterns
JEP253 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#post#java‑9 #jdeps #tools #project‑jigsaw
The JDeps Maven Plugin will break a project's build if it contains dependencies on JDK-internal APIs. This helps to prepare for Java 9.
How Java 9 And Project Jigsaw May Break Your Code#post#java‑next #java‑9 #project‑jigsaw
With Java 9 comes Project Jigsaw - a modularization of the JDK - which will break existing code. An overview over the planned changes lets you see whether yours is affected.