Java Annotated Monthly – September 2021
Welcome to the September edition of our monthly Java-related news! I am taking over the torch from Trisha to bring you the monthly round-up of all the important Java news you need to know. I feel curious and nervous all at the same time. The main insight I had while compiling this blog post is that the Java community is inspiring and very active with lots of events, news, and interesting opinions on various topics. I hope I can inspire you in this Java Annotated Monthly.
Since this major Java release is on the way, Trisha has collected some materials relating to this topic, including links to register for a webinar about the changes in the next LTS Java and tech talks from Oracle Developer Live: Java Innovations. You can also join the Getting Ready for Java 17 webinar with Nicolai Parlog, Developer Advocate for Oracle, Tagir Valeev, Technical Lead for Java Support in IntelliJ IDEA, Trisha Gee, Lead Java Advocate, and Mala Gupta, Developer Advocate. If, before plunging into Java 17, you need to review what new features Java 16 has brought, there is an informative article for you.
If you are looking to up your developer game, you may like our post on useful tips for mouse-free development in IntelliJ IDEA and the list of the most popular live streams by some of the best Java experts around.
Another highlight for the community is the 10th anniversary of Kotlin – the programming language that JetBrains has created from scratch and that has won well-deserved popularity over the last decade. Join the celebration!
Other news, topics for discussion, and articles are below!
What’s New in Java 16 – Though Java 17 is on the way, it may be a good time to review the updates that have been delivered in Java 16. Features such as records, pattern matching, sealed classes, and materializing a stream into a list truly deserve some thorough study.
Introducing JfrUnit 1.0.0.Alpha1 –Here is release announcement of JfrUnit, an extension to JUnit which allows you to assert JDK Flight Recorder events in your unit tests. The article contains step-by-step instructions on how to use it.
Testcontainers 1.16.0 release – This is the first release sponsored by AtomicJar, which brings better Apple M1 compatibility and Testcontainers stability using Docker for Windows, default HttpClient5-based transport, and other impactful changes.
Introducing JDKMon: a New Tool to Detect and Update JDKs – You can read about a new way to keep multiple JDK distributions up to date on a user’s machine.
JetBrains Java IDE adds project analysis, build system improvements – The author briefly highlights the most prominent updates from the last major release, IntelliJ IDEA 2021.2.
Java Tutorials & Tips
JEP Café #2 – Sealed Classes – Watch the second episode of JEP Cafe to learn more about the Sealed Classes release in Java 17.
JEP Café #3 – Switch Expressions – An excellent way to learn more about switch expressions in just 10 minutes.
What are they building—and why? 6 questions for the top Java architects – This is a brilliant and very inspiring interview of several influential Java architects who discussed what keeps Java vibrant, how the teams prioritize the features to be implemented next, what the future of Java is, and many other exciting issues.
Dealing with Legacy Code in OpenJDK (JEP 416) – An opinion about why JEP 416: Reimplement Core Reflection with Method Handles is a good way to make progress. Do you agree?
Project Loom: Modern Scalable Concurrency for the Java Platform (video) – In this talk, Ron Pressler, technical lead for Project Loom at Oracle, explains the differences between concurrency and parallelism and introduces new constructs, such as virtual threads.
Get Super Productive with IntelliJ File Templates – Follow this step-by-step tutorial to be more productive with file templates that can be useful if you use standard code patterns requiring a lot of manual typing.
The missing Java data structures no one ever told you about — Part 2 – This article comes with multiple examples of Synchronized Wrappers and MultiReader Collections.
One does not simply calculate the absolute value – What are the pitfalls of calculating an absolute value? Read on and learn how to overcome them.
Languages, Frameworks, Libraries, and Technologies
Quarkus 2.0 Delivers Continuous Testing, CLI and Supports Minimal JDK 11 – Check out what the Quarkus core team members have to say about the benefits of each newly added feature in Quarkus 2.0.
Microservice, monolith, microlith – If you lack a theoretical background in microservices and monoliths, this post is definitely for you. Vasily Strelnikov defines both conceptions, describes common misconceptions between their architecture, and compares their value to businesses.
The Future of Kotlin (video) – Listen to Roman Elizarov, the project lead for Kotlin, talk about the ambitious plans for the language in the next decade.
10 Years of Kotlin Special (video/podcast )– A special episode of the Talking Kotlin podcast with star guests getting nostalgic about their Kotlin journeys over the past ten years.
Why use Kotlin Coroutines? – You can read a comprehensive introduction to Kotlin coroutines and then get into more details about this feature in the following articles: Coroutines (Part I), (Part II), (Part III), or Coroutine builders.
Conferences and Events
JDK 17: Get Ready for the Next LTS Java – Join the seminar and prepare for the upcoming JDK 17 release in September.
Ten Years of Kotlin! – Join the celebration of another significant event for JetBrains – the anniversary of Kotlin, a statically typed programming language for the JVM. You can watch an inspiring documentary about its creation and ongoing journey.
Oracle Developer Live: Java Innovations – Register for the technical sessions and hands-on labs with industry experts, like our own Mala Gupta, to learn more about the improvements in the new Java 17 release, support for Java developer frameworks, programming tips and techniques, and more. Join now!
Culture & Community
(Coffee Club) Episode 1: Levelling up as a developer– Join the discussion with JetBrains Java advocates about non-technical skills that can help you boost your career in IT.
Personal lessons on how to make friends as an adult – Bad news: after 25, our friendship groups begin to diminish rapidly. Good news: you can still find new friends who share similar values to you, combat loneliness, and stimulate your brain enough to avoid cognitive decline. The author shares some tips and tricks on how to do this.
5 Common Mistakes In User Stories – While examining user story drawbacks that can make software development a nightmare, Dave Farley advises on how to avoid overengineering, stay focused on end-user needs, and create comprehensive requirements for your team.
Shopify’s store name generator – Struggling for a fun name for your business? See if this helps.
The coded language that holds women back at work – How does the language used at work encode gendered expectations? It may not be apparent to employees and employers, but simple changes – to verbs, pronouns, adjectives, or even phraseology – could lead to substantial changes in workplace gender balance. Read on to learn more about what social science researchers have to say about this.
UK workers need the right to disconnect amid ‘overtime epidemic’, says report – If you work remotely, you have likely taken calls or read emails related to work during your time off. So, you can guess what this report is about. Will you vote for the “right to disconnect”?
Book Review: “Help Your Boss Help You” – This sounds like a beneficial book for building healthy work relationships in technology domains. Keep an eye out for Trisha Gee’s interview with Ken Kousen about the book for the GOTO Book Club, which will be published in early September.
Dr. Alexa Hagerty – An exciting discussion on how to live in a world where “Alexa” is more than just your name. Join!
A round-up of blog posts and videos from IntelliJ IDEA and JetBrains:
- IntelliJ IDEA 2021.2.1 Is Available – Get the latest build with all the addressed issues.
- Kotlin 1.5.30 Is Now Available! – This blog comes with short descriptions of the new experimental language and standard library features that will be later released in v1.6.0. You have a chance to give them a try now! It also features a video with all the updates if you prefer listening and watching to reading.
- 10 places you don’t need to use the mouse in IntelliJ IDEA – As an IntelliJ IDEA beginner, I tend to complicate some routine actions that can be done in just a few keystrokes. If you want to know what these magical shortcuts are, this blog post is an absolute must-read.
- IntelliJ IDEA’s Most Popular Live Streams – We’ve prepared a selection of the most-liked live streams for you to come back to.
- Code Completion: Episode 1: Scenarios and Requirements, Episode 2: Why Machine Learning?, Episode 3: Where Is the Dataset?, Episode 4: Model Training – Discover the ins and outs of code completion used in JetBrains products.
That’s all for today! If you have any interesting or useful Java/JVM news to share via Java Annotated Monthly, leave a comment or email us (firstname.lastname@example.org).