Hello, Coherence Community Edition, Part 3: Packaging, deployment, scaling, persistence, and operations with Java

How to push a Coherence CE application out to a Kubernetes cluster, and then scale and manage that cluster

Refactoring Java, Part 3: Regaining business agility by simplifying legacy code

By making the code easier to understand, you also make it easier—and safer—to maintain.

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

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

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.

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.

How to write your own Maven plugins

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

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.

JUnit 5.6 Makes Testing Easy with New Features

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

How to Test Java Microservices with Pact

Microservice applications present special testing challenges.

Creating Your Own Debugging Tools

JDK serviceability technologies allow you into the JVM to solve difficult debugging problems.