The main news so far has been the release of Java 11. It’s not a large release in terms of new developer functionality since Java 10, but it is the first Long Term Support Release since Java 8, so if you’ve been hanging around on Java 8, now’s the time to look at all new things that made it into Java 9, 10 and 11. Java 11 also removes things. This, like, never happens in Java. Also noteworthy, Oracle changed its licensing and support model since Java 8. Read this month’s Annotated Monthly to find out more.
Java license / support changes
I covered this topic in the last Annotated Monthly, since it was an area of some concern in the community. Since then, the Java Champions (an independent group of experts) have released a comprehensive document covering the situation. I also wrote a summary of what I hope are the most relevant points for developers. Here are other relevant links, if you’re interested.
- Oracle JDK Releases for Java 11 and Later
- Java Community Leaders Clarify Platform Support Options
- Java Champions untangle the Java releases and support confusion
- Java Is Still Free (full document, Medium)
- Time to look beyond Oracle’s JDK
- A Tale of Two Oracle JDKs
- The future of Java and OpenJDK updates without Oracle support (Red Hat)
- End of Public Updates is a Process, not an Event (Oracle)
Having a release every 6 months means that future editions of Java Annotated Monthly will probably not make a big deal out of every release. However, Java 11 is significant in that it’s the first Long Term Support release (in Oracle terms) since Java 8, therefore if you haven’t tried Java 9 or 10 yet, chances are good that your company will jump directly to 11. This month’s links cover a range of things relevant to the new release – Java 11 doesn’t have a lot of new features for developers but it still has some interesting stuff.
- Introducing Java SE 11 – the official Oracle announcement
- Java 11 Released – quick summary of the significant features
- Java JDK 11: All the new features now available
- Java 11 is here! – another look at the features and other changes from Java 11
- Removed from JDK 11, JavaFX 11 arrives as a standalone module – JavaFX is now a standalone library supported by the community
- “Developers will see Java 11 as a better, cleaner implementation of the features they use in Java 8” – interview with Peter Lawrey and Simon Ritter
- Java 11 HttpClient, Gson, Gradle, and Modularization – Ken Kousen’s tutorial on how to use the new HttpClient from Java 11
- The new Java HTTP client and the CompletionStage API – more HttpClient demos and a look at methods for working asynchronously
- All You Need To Know For Migrating To Java 11 – a practical look at how to migrate from Java 8
- Mini-series of interviews with community experts and their impressions of Java 11:
- Java SE 11: The Great Removal – note: most like to take developers by surprise is not the new stuff, but the stuff that was removed
- 90 New Features (and APIs) in JDK 11 – …although there actually are quite a lot of new things, like some new API methods which will make life easier
I could put a lot more stuff in here, but let’s mostly concentrate on Java 11 shall we?
- Proposed schedule for JDK 12 – currently expected 19 March 2019
- JEP draft: Concise Method Bodies – interesting idea to extend what we do with lambda expressions to apply to methods
In this section we look at hands-on examples of code and architecture.
Languages, Frameworks and Libraries
This month we mostly have Spring and Kotlin news.
- RSocket, a New Application Network Protocol for Reactive Applications, Announced at SpringOne – I’m really interested in RSocket because I’ve been looking for a reactive protocol for applications I’ve been working on. I haven’t looked at this in depth but I’m definitely going to do my homework on this
- The Reactive Revolution at SpringOne Platform 2018 (part 1/N) – as well as talking about R2DBC, Josh Long demos some RSocket code
- Spring Config and missing Kotlin members (IntelliJ IDEA Blog)
- Spring and Kotlin final classes (IntelliJ IDEA Blog)
- Spring Kotlin References in @Value-annotation (IntelliJ IDEA Blog)
- Kotlin Conf Keynote (video) – the conference went really well, here’s a playlist of the currently-available videos
Culture & Community
Another mixed bag of “stuff that I found interesting” and “stuff I had to research for upcoming talks”. Last week I gave a couple of talks about Code Reviews, so that was my main reading material last month. If this topic interests you, sign up for my live webinar tomorrow.
- Top 5 lessons learned working at startups – not just applicable to startups
- Software disenchantment – a good read that should make you think hard about what we do, but a bit depressing
- A lack of diversity in tech is damaging AI – apparently diversity is a Good Thing, who knew?
- 3 Surprising Secrets to Maintaining Your Focus – I could really use some of that right now
- There are 3 main types of technical debt. Here’s how to manage them – I like the idea of classifying tech debt to understand that it’s not all equal and there may be different approaches to paying that debt.
- Secrets of Success for Working Remotely – This is the third and final part of a series from Girl Develop It (GDI)
- Trunk Based Development – because “Friends don’t let friends use feature branches or GitFlow. Friends keep all their code on master and use feature toggles.” (Dan North)
- Career Advice for Programmers (video) – in last month’s annotated monthly, I mentioned I was working on a new talk about careers. Well, here it is.
Looking at all the events for October, and noteworthy ones for the next three months.
- 19-20 Oct: Joker, St Petersburg
- 22–25 Oct: Oracle Code One, San Francisco (formally JavaOne) – we have a booth, and Eugene Petrenko, Roman Elizarov and Trisha will be presenting a number of talks and BoFs (related: Code One Presenters Help You Select Which Sessions to Attend)
- 29 Oct–1 Nov: O’Reilly Software Architecture Conference, London – Trisha is presenting Keynote: Career Advice for Architects.
- 12–16 Nov: Devoxx Belgium, Antwerp – Valerie Andrianova, Trisha Gee and Eugene Petrenko are all presenting, and JetBrains has a booth.
Here’s a chance to catch up on the IntelliJ IDEA and other JetBrains news that you might have missed:
- Java 11 and IntelliJ IDEA
- Using Java 11 In Production: Important Things To Know
- Modern development with JetBrains IDEs – covering IntelliJ IDEA and GoLand
- Live webinar: Code Review Best Practices – tomorrow Wednesday 10th October
If you have any interesting or useful Java / JVM news to share via Java Annotated Monthly, drop me a message via Twitter.