Latest Articles

Getting started with JavaFX on Raspberry Pi

Coding

The inexpensive single-board computer works great with Java, making hardware development as easy as traditional software development.

Streaming analytics with Java and Apache Flink

Coding

How to use Flink’s built-in complex event processing engine for real-time streaming analytics

Concurrent programming with Concurnas

Coding

Modern developers have access to hardware of never-before-seen power. Here’s how to leverage Concurnas, a new JVM programming language, to unlock that power.

Get started with concurrency in Jakarta EE

Jakarta EE

One of the cornerstones of any well-written application is good performance, and that often means being able to run two or more tasks at the same time in parallel.

12 recipes for using the Optional class as it’s meant to be used

Java SE

Follow these dozen best practices to protect your applications against ugly null pointer exceptions—and make your code more readable and concise.

The 25 greatest Java apps ever written

Coding

From space exploration to genomics, from reverse compilers to robotic controllers, Java is at the heart of today’s world. Here are a few of the countless Java apps that stand out from the crowd.

Is it time for operator overloading in Java?

Debugging

Love it or loathe it, this article makes the case that operator overloading is essential for making code easier to read, writer, and debug.

The role of preview features in Java 14, Java 15, Java 16, and beyond

Coding

How Oracle gathers feedback on new JDK functionality with preview, experimental, and incubating features

Pattern Matching for instanceof in Java 14

Coding

Use pattern matching for instanceof to simplify the use of the instanceof operator in Java, thereby making your code safer and easier to write.

The Best of the JDK Face-Off

Java SE

Twenty-five years of Java development saw many innovations in languages, libraries, tooling, and runtimes. Tell us what you think matters most.

JUnit 5.6 Makes Testing Easy with New Features

Testing

New features such as the ability to define test execution order and run tests in parallel make this an important release.

Five Code Review Antipatterns

Testing

Everyone cares about best practices, but worst practices can sometimes be more illuminating.

The Unsafe Class: Unsafe at Any Speed

Coding

Just because you can break the rules, doesn’t mean you should break the rules—unless you have a good reason.

How to Test Java Microservices with Pact

Testing

Microservice applications present special testing challenges.

Migrating from JUnit 4 to JUnit 5: Important Differences and Benefits

Testing

Improvements and new features make JUnit 5 compelling.

HTML5 Server-Sent Events with Micronaut.io and Java

HTML

Building a simple, reliable messaging service

Java Flight Recorder and JFR Event Streaming in Java 14

JVM Internals

Get a stream of high-volume data points about your running app.

Java 14 Arrives with a Host of New Features

Java SE

Java 14 contains more new features than the previous two releases—most of them aimed at easing coding.