How to Build Java Applications Today: July 5, 2021

TL;DR

Google’s Firebase gets new features, free Java production profiling to whither away, Sonatype Lift bundles static code analyzers, Quarkus 2.0.0, Apache Camel 3.11, and IntelliJ IDEA 2021.1.3.

README

This is issue 43 of my weekly newsletter, “How To Build Java Applications Today”. I read all the Java newsletters, so you don’t have to! And it’s “Java news with a smile”.

Quote of the Week

I used to think that the brain was the most wonderful organ in my body. Then I realized who was telling me this.‌

Stand-Up

I hope my readers in the US (or “the colonies”, as some still call them over here in merry ol’ England) had a good Independence Day! I had a busy weekend, too, with two InfoQ articles of mine getting published. Fortunately, there isn’t a lot of summer weather distracting me here. 🌧 You’ll read about one article in the main section below.

Code Review

Issue 42 from June 28, 2021

Java Applications in Windows 11 App Store

Last week I wrote about how Java apps can appear in the Windows 11 app store. Now a Windows 11 preview is available for download, but many questions remain: What are the requirements? Will the blue screen of death really turn black? And does Windows 11 still have UI layers, as Windows 10 does, that go back to Windows 8/7/Vista/XP/2000/95? Only time will tell.

Bookmarks

Frameworks & Libraries

Google’s Backend-as-a-Service Firebase Gets New Features

Firebase offers many free services for Java, web & mobile apps: Authentication, configuration, push notifications, analytics, performance monitoring, mobile app distribution, and more. We pay for storing data in databases & files. But you have to like both the cloud & Google!

  • Cloud Storage stores files. I can define Access Control Lists (ACL) that reference authentication properties. This is the only service I pay when the file volume exceeds my free Google Cloud tier.
  • I distribute my native iOS and Android app tests versions with App Distribution. The recipients of my test versions need a Google account.
  • I analyze iOS and Android app crashes with Crashlytics.
  • I plan to send push notifications with Firebase Cloud Messaging later this year. From what I can see, that’s free, no matter how many notifications I send.
  • I hope to use Remote Config for feature flags.

Tools

Free Java Production Profiling To Whither Away?

Java Flight Recorder (JFR) is an imperfect but free tool for profiling Java applications in production. The upcoming Project Loom will amplify its deficiencies. Who’ll step in to fix them?

  • Marcus also thinks JFR needs wall-clock profiling. That is a low-overhead way to dump thread stacks. Once more, the Virtual Threads of Project Loom make that harder still.
  • The current CPU profiling in JFR doesn’t include native libraries or native JVM threads. It should, according to Marcus.
  • JFR can produce “millions of events per minute” on a 96 core machine, “resulting in recording sizes of hundreds of megabytes per minute”. Now that certainly doesn’t sound like the 1% overhead that Oracle promises! Datadog fixed this already for memory allocation with a rate-limited profiler in Java 16. But Marcus thinks it’s also needed in other areas.

Sonatype Lift Bundles Static Code Analyzers for Java & Other Languages

Static Code Analyzers find bugs that tests often don’t. Sonatype Lift bundles many open-source analyzers for Java and other languages. Lift is free for public Git repositories but not for private ones.

Releases

Quarkus 2.0.0

Spring Boot’s most humble competitor adds continuous testing, a CLI, and a GraphQL client in version 2.0. JDK 11 is now the minimal version, and dependencies got upgraded.

Apache Camel 3.11

Apache Camel is an integration framework that implements the “Enterprise Integration Patterns” from the book of the same name. This version is an LTS release with 101 new features, improvements, and fixes.

IntelliJ IDEA 2021.1.3

If you’ve used IntelliJ IDEA, then it probably already nagged you to upgrade to this new version.

About

Karsten Silz is the author of this newsletter. He is a full-stack web & mobile developer with 22 years of Java experience, author, speaker, and marathon runner. Karsten got a Master’s degree in Computer Science at the Dresden University of Technology (Germany) in 1996.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Karsten Silz

Karsten Silz is a full-stack web & mobile developer with 23 years of Java experience, author, speaker, and contractor.