Latest Articles

Happy anniversary! Celebrating 10 years of Java Magazine

From the Editor

From Java 7 to Java 16 and beyond, this technical journal has been a resource by and for the Java community.

Java for the cloud, and the cloud for Java

Frameworks

Running Java in the cloud helps lower costs, speed up operations, and simplify the deployment.

10 good reads from the Java Magazine archives

Coding

For years, some important articles have not been available on the magazine website. They are now.

Functional programming in Java, Part 2: Lambda reuse, lexical scoping and closures, and reduce()

Coding

Learn how to use lambda expressions to greatly reduce code clutter.

Exploring Joshua Bloch’s Builder design pattern in Java

Design Patterns

Bloch’s Builder pattern can be thought of as a workaround for a missing language feature.

You don’t always need an application server to run Jakarta EE applications

Jakarta EE

Depending on the requirements, you can do well with Helidon, Piranha, or Hammock.

Functional programming in Java, Part 1: Lists, lambdas, and method references

Coding

Learn how to use lambda expressions to greatly reduce code clutter.

Pedal to the metal: High-performance Java with GraalVM Native Image

GraalVM

How Native Image’s G1 GC garbage collector and profile-guided optimizations can help build fast, efficient, easy-to-distribute binaries for Java applications

Make Java REST development easier with the Jareto library

REST

A small open source library helps with mapping Java exceptions and transporting HTTP metadata.

Everything you need to know about OpenJDK’s move to Git and GitHub

Java 17

The move from Mercurial to Git provided an opportunity to consolidate the source code repositories.

Understanding Java generics, Part 2: The hard part

Coding

Learn about wildcards, bounded wildcards, subtyping, and type erasure.

A peek into Java 17: Continuing the drive to encapsulate the Java runtime internals

JVM Internals

The need to encapsulate the runtime is fundamentally caused by Java’s nature as an open programming environment.

Understanding Java generics, Part 1: Principles and fundamentals

Coding

Learn how to use generics to increase type safety and code readability.

Guava: A treasure trove of Java functionality

Tools

This broad collection of utilities and functions from Google merits a principal place in your toolkit.

Even more greatness packed into Java 16, including tools for improving future JVMs

Java 16

Java Champions love pattern matching for instanceof, records, Stream.toList(), the vector API, the foreign linker API, and the foreign-memory access API.

First steps with Oracle Cloud Infrastructure SDK for Java

Coding

Learn how to control Oracle Cloud Infrastructure resources through Java code.

Two gifts you can give your Java developers—today

Coding

Your words, actions, and attitude can inspire creativity. Here’s what to do.

Java still rocks the finance industry. Here’s why Java 16 makes it even better.

Java 16

High-speed trades? Quantitative analysis? The investment pays off.

Java for the enterprise: What to expect in Jakarta EE 10

Jakarta EE

The release is only a year away. Here’s what to expect.

Essential Java 16 resources and downloads

Java 16

Information from the Oracle Java Platform Group and from Java Magazine

From the vector API to records to elastic metaspace, there’s a lot packed into Java 16

Java 16

The Java Champions say these are a few of their favorite things.

Enabling Java for Windows on Arm64

Java 16

Porting Java to the AArch64 architecture is a JEP 388 success story.

How to program machine learning in Java with the Tribuo library

Java 16

Tribuo is an open source ML library designed for business applications—and for interoperability with many popular ML platforms.

Working and unit testing with temporary files in Java

Testing

Temporary files are frequently used in testing and in production. Here is how to create and manage—and delete—them.

Mastering the mechanics of Java method invocation

JVM Internals

Special bytecodes make calling methods particularly efficient. Knowing how they operate reveals how the JVM executes your code.

The best of 2020: The 10 most popular Java Magazine articles

Read them, reread them, share them.