Latest Articles

Venkat Subramaniam: Java is changing in a responsible manner


When Java shows up at a party, it always brings a delicious dessert.

Reactive streams programming over WebSockets with Helidon SE

Reactive Programming

With Helidon SE, client applications can regulate asynchronous traffic by signaling remote publishers how much data to send at a time.

Four common pitfalls of the BigDecimal class and how to avoid them


When doing currency calculations in Java, you might use java.math.BigDecimal—but beware of some of that class’s unique challenges.

Inside Java 15: Fourteen JEPs in five buckets

Java 15

Hidden classes, sealed classes, text blocks, records, and EdDSA: There’s lots of goodness in JDK 15.

The code underpinning the Brazilian healthcare system—and other world-changing Java applications


Your reactions to the list of the 25 greatest Java apps ever written

Beyond the simple: An in-depth look at JUnit 5’s nested tests, dynamic tests, parameterized tests, and extensions


With the new JUnit Jupiter test engine, the popular framework is much more flexible than ever before and can be customized at will to fit your testing needs.

Hello, Coherence Community Edition: Creating cloud native stateful applications that scale, Part 1


Use the open source Oracle Coherence Community Edition to create stateful applications that are as easy to scale, if not easier, than the stateless applications you are building today.

The joy of writing command-line utilities: Finding duplicate files, Part 1


Step-by-step creation of a small project that has practical utility

How to write your own Maven plugins


Creating custom plugins for the Apache Maven build tool is easier than you might think.

Java frameworks for the cloud: Establishing the bounds for rapid startups


Making the case for using the GraalVM platform for serverless applications

The Java Optional class: 11 more recipes for preventing null pointer exceptions

Design Patterns

How to avoid Optional class antipatterns and design smells—all while streamlining application development

Java Card 3.1 explored

Java Card

The new release tunes the popular Java platform for IoT applications as well as the cloud.

Getting started with JavaFX on Raspberry Pi


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

Concurrent programming with Concurnas


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 14

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

Java 25th Anniversary

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.