Java Cookbook, 4th Edition

Former Java Magazine editor Andrew Binstock reviews an updated classic work that’s great for all coders.

Quiz yourself: Methods that throw an exception (intermediate)

Understanding the checked exception mechanism requires that you understand how to declare a method that throws a checked exception, and how that differs from a method that either does not throw any exceptions or throws only unchecked ones.

Streaming analytics with Java and Apache Flink

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

Get started with concurrency in 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

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

Quiz yourself: Secure serialization and deserialization (advanced)

See if you know how to make rapidly changing code easier to maintain.

Quiz yourself: Refactoring with the core functional interfaces (intermediate)

See if you know how to improve code by refactoring.

Quiz yourself: Using core functional interfaces (intermediate)

See if you know how to use the predicate, consumer, function, and supplier interfaces.

The 25 greatest Java apps ever written

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?

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

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

The Best of the JDK Face-Off

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

The Unsafe Class: Unsafe at Any Speed

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

Quiz Yourself: Creating and Invoking Overloaded Methods (Intermediate)

Overloaded methods must be valid, and all ambiguities must be resolved.

Quiz Yourself: Using Switch and Case Statements (Intermediate)

Java control statements can be confusing to learn and use correctly.

Quiz Yourself: Overriding Operator Precedence (Intermediate)

Parentheses make a real difference in the results of an evaluation.

Quiz Yourself: Migrating to the Java Platform Module System (Advanced)

You’re tasked with moving an application to JPMS. What’s the command line?

How to Test Java Microservices with Pact

Microservice applications present special testing challenges.

Quiz Yourself: Using Core Functional Interfaces: Consumer (Advanced)

The consumer interface can be confusing, even for advanced coders.

Quiz Yourself: Using Core Functional Interfaces: Predicate (Advanced)

Predicate interfaces can be complicated, so be careful when working out the results.