Java Performance, 2nd edition

By Andrew Binstock

From garbage collection to threading to JVM switches, here’s what you need to know.

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

By Andrew Binstock Coding, Java SE, Testing, Tools

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

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

By Andrew Binstock Coding, Java SE, Testing, Tools

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

Java Cookbook, 4th Edition

By Andrew Binstock Coding, Frameworks, Java SE

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

Mind Mapping Your Way to Better Code

A simple tool delivers big benefits in design and implementation of code, especially on personal projects.

Epsilon: The JDK’s Do-Nothing Garbage Collector

The benefits of Java’s memory allocator that does no garbage collection

Take Notes As You Code—Lots of ’em!

A small discipline that pays huge rewards

Really Know Your Tools

Great programmers all possess deep knowledge of their primary tools. If you’re not expert in yours, invest the time you need. Here’s a start.

Continuous Delivery in Java

By Andrew Binstock October 2019 October 2019

By Daniel Bryant and Abraham Marín-Pérez

The New Java Magazine

Hello, world! from our new, more readable, higher-frequency home.

Improving the Reading Experience

After months of preparation, Java Magazine is moving to a new, responsive web format.

The Largest Survey Ever of Java Developers

By Andrew Binstock Survey

What 10,500 Java developers tell us about their projects, their tools, and themselves

Testing Java Microservices

By Alex Bueno, Andy Gumbrecht, and Jason Porter

Optimizing Java

By Andrew Binstock July/August 2018 2018, July/August 2018

By Ben Evans, James Gough, and Chris Newland