Java Annotated Monthly – June 2021
June is here, which means it’s almost summer for us in the northern hemisphere! With the pandemic still ongoing, it’s important to try to find time to recharge and take those vacation days, if at all possible. While you’re at work, you can do fun things like reading this newsletter! We’ve got a variety of content including feature highlights from Java 16 and Java 17 (the upcoming LTS release) as well as links about our latest banter on whether you should comment your code.
I, Dalia, annotated this newsletter with collaboration from the wonderful Trisha. In case you’re wondering, we, the Java Advocacy team, have decided to take a more collabortive approach to the beloved Java Annotated newsletter so you’ll be sometimes hearing from me, Trisha or Helen.
Java 16 was released in March with lots of awesome features highlighted in the links below. We’re also highly anticipating Java 17, the next long-term-support (LTS) version, planned for September of this year.
- Even more greatness packed into Java 16, including tools for improving future JVMs – a compilation of favorite features in Java 16 from Java Champions, including our own, Mala Gupta.
- A peek into Java 17: Continuing the drive to encapsulate the Java runtime internals – recommended read for folks planning to migrate to Java 17.
- JDK 17: The new features in Java 17 – a look at a few features planned for JDK 17.
- What Does the Future Hold for Java? – Trisha was on this panel. One of the takeaways: modern Java has been influenced more by ML than by Kotlin.
- GraalVM 21.1 Supports JDK 16
- Java’s Project Loom, Virtual Threads and Structured Concurrency with Ron Pressler (podcast & transcript) – Ron Pressler, technical lead for project Loom, gives a great overview of project Loom.
- JEP 409: Sealed Classes – this JEP proposes to finalize Sealed Classes in JDK 17, with no changes from JDK 16.
Java Tutorials & Tips
- Teeing, a hidden gem in the Java API – I hadn’t heard of the
teeingmethod before. This is useful if you’re looking for an alternative to using a custom
- Upgrade to Java 16 or 17 (video and transcript) – Johan Janssen talks about migrating to Java 16+ and provides some great tips for your migration.
- Spring Boot JPA Tutorial | 2021 – a great tutorial for developers wanting to get started with Spring Data JPA.
- Failed to write core dump – how to get rid of “Failed to write core dump” messages.
— Programmer Humor (@PR0GRAMMERHUM0R) May 21, 2021
Languages, Frameworks, Libraries and Technologies
- Wire – an open-source implementation of Google’s Protocol Buffers designed for Android and Java.
- How I Hacked Google App Engine: Anatomy of a Java Bytecode Exploit – a detailed look at a Java bytecode exploit.
- Getting Started With Quarkus – if you’ve been wanting to learn about Quarkus, checkout this Refcard.
- Do or Donut. There is no try. – use Java and Kotlin with the Eclipse Collection library to solve the Donut Code Kata.
- Kotlin 1.5.0 – the First Big Release of 2021 – an overview of the Kotlin 1.5 release. You can also checkout the recording for the Kotlin 1.5.0 Release Community Event.
- Pedal to the metal: High-performance Java with GraalVM Native Image – includes ways to improve the performance of native images.
- Everything you need to know about OpenJDK’s move to Git and GitHub – some history and the reasoning behind the decision to move from Mercurial on java.net to Git on GitHub.
- Tips for using IntelliJ IDEA effectively – Sebastian Daschner walks us through his favorite IntelliJ IDEA tips. I always learn something new from Sebastian’s content. Also, while you’re at it, checkout Trisha’s talk on the subject.
- Hacking third-party APIs on the JVM – wouldn’t recommend doing this but you can try it at your own risk.
- Automated Visual Testing With Robot Framework – an overview of the Robot Framework DocTest library which compares differences in images and reports. I remember having to do a lot of visual verification myself so I can definitely see the value of this automation. If you’re interested in this subject, you can also checkout Angie Jones’ Your Tests Lack Vision talk.
- Using regex groups in Replace templates
- What Is TDD? | SHORTS – 1-min video by Dave Farley on TDD.
- Why CI is BETTER Than Feature Branching (video) – another video by Dave Farley on the advantages of using continuous integration over feature branching.
- From Java to Kotlin in 20 minutes ⚡️ – a mob-programming session where a team took a Java project and converted it to Kotlin.
- Getting the Most from JPA with Kotlin (video) – talks about using JPA with Kotlin for your application’s database access layer.
- Recreating “Still D.R.E.” in Kotlin – loved this.
Conferences and Events
- 25-26 June: jLove conference – jLove – The most lovely conference! – one of the loveliest conferences out there. We have a promo code:
JAVAANNOTATEDthat gives you a 50% discount on full-priced tickets. Our own Helen Scott will be speaking at the conference.
Culture & Community
- Those pesky pull request reviews – a more collaborative approach to pull request reviews. I have definitely benefited from talking to coworkers during the code review process instead of doing it in isolation.
- Tips For Leaders On Running Successful One-On-One Meetings – some great advice on how to run 1×1 meetings. Some of my favorite managers did a variation of what is mentioned in the article.
- The meltdown at Basecamp shows even small tech firms are sociopathic – another perspective on the Basecamp situation.
- 12 Java Developers to Follow – great list! Especially the second dev 😃
- Payara Platform 2021 Survey Results – I always find it interesting to see data on the features developers are prioritizing. There is also some good insight on Java EE/Jakarta EE adoption.
- Do we need comments in our code? – to comment or not to comment? That is the question…. that was brought up during a Twitter Space that Trisha and I hosted. Checkout this link to read Trisha’s perspective. This blog post also aligns with Trisha’s opinion. On the other side, this blog post and this one align more with my view point.
- If the boss thinks you are working hard at home, you can carry on
- The four essential values we relied on last year – and forget now at our peril – I love this piece. A reminder of four important values as some of us are easing back to “normal”: respect, patience, honesty and kindness.
- What Introverts Want Extroverts To Know About Workplace Collaboration – very good insight and some useful advice on how to make the workplace more introvert-friendly.
- How To Leverage The 7 Types Of Rest To Be Your Happiest, Most Productive Self – insightful, I didn’t know there were 7 types of rest.
- Miles are my meditation – info.michael-simons.eu – Michael Simons shares how cycling/running has had a positive impact on his life. I want to +1 everything Michael said. When I decided to do the Couch to 5K program, I noticed a very positive change in my mood and productivity.
- Feeling nervous isn’t bad – it happens to us all – a witty piece on being okay feeling nervous, it’s human nature.
- Prosus’s Acquisition of Stack Overflow: Our Exciting Next Chapter – my first response was: who is Prosus?
- Disaster patriarchy: how the pandemic has unleashed a war on women – “Covid has revealed the fact that we live with two incompatible ideas when it comes to women. The first is that women are essential to every aspect of life and our survival as a species. The second is that women can easily be violated, sacrificed and erased.” This is an issue I care about deeply. I’ve spoken to countless women that have been sacrificed one way or another during the pandemic. We all have a responsibility to make sure we’re not contributing to an oppressive system.
1/ Reflecting at my time at $UBER, I do think it’s possible for start ups to have “too much capital”. I personally fell into two traps in retrospect:
— Annanth Aravinthan (@ProtagorasTO) May 23, 2021
A round up of blog posts and videos from IntelliJ IDEA and JetBrains:
- IntelliJ IDEA 2021.2 EAP Is Open!
- Top 10 Plugins for IntelliJ IDEA You Don’t Want to Miss – maybe you’ll discover some new plugins to install.
- Technology Preview: Jetpack Compose for Web – also checkout this blog to learn more about Jetpack Compose for the Web
- Intro to Docker [with Java Examples] – if you’ve been putting off learning Docker, checkout my video. When I first started learning Docker, I noticed a lack of resources geared towards Java developers so I created this video to explain Docker from a Java perspective.
- Working with Gradle – we got a lot of great feedback from the Gradle video that we turned it into a guide. We recently launched the IntelliJ IDEA Guide. If you have any feedback on the format, let us know.
- Kotlin for Education (video)
- Summary of the First-ever ‘IntelliJ IDEA Conf’
- Live Stream Summary: Spring Boot Loves K8s – I loved hosting Madhura and learned a lot from this session.
- Join us for this month’s Live Streams: Fixing Security Flaws in Spring Boot Applications Using IntelliJ IDEA and Snyk
If you have any interesting or useful Java / JVM news to share via Java Annotated Monthly, leave a comment or drop Trisha a message via Twitter.