Refactoring Java, Part 2: Stabilizing your legacy code and technical debt

Pin-down tests are the key to stabilizing your legacy Java code.

Modern Java toys that boost productivity, from type inference to text blocks

Developers using older versions of the Java platform are missing out.

Refactoring Java, Part 1: Driving agile development with test-driven development

Refactoring makes your organization’s code simpler, which means fewer bugs and easier maintenance.

How Java 15 taught me to love virtual hands-on labs

I worked through the three live hands-on labs that came with the latest Java release. You can, too.

Behind the scenes: How do lambda expressions really work in Java?

Look into the bytecode to see how Java handles lambdas.

The joy of writing command-line utilities, Part 2: The souped-up way to find duplicate files

The brute-force method works—but a smarter algorithm improves performance by an order of magnitude.

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

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

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

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, Part 1: Finding duplicate files

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

Quiz yourself: Use the Optional class (advanced)

Do you know how to use Optional? Find out in the latest by Simon and Mikalai.

Quiz yourself: Use PreparedStatement to perform database CRUD operations (intermediate)

PreparedStatement sends SQL to a database. Let’s see how it works.

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

Java Card 3.1 explored

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

Java Cookbook, 4th Edition

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

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.