The hidden gems in Java 16 and Java 17, from Stream.mapMulti() to HexFormat

There’s much more to a new Java release than the well-known JEPs.

Look out, Duke! Part 2: Control a Java game with a Raspberry Pi and a joystick

It takes only a little hardware, and only a little software, to attach a single-board computer to a Java game.

How to solve the classic Traveling Salesman Problem in Java

July 23, 2021 Download a PDF of this article [This article is excerpted from Classic Computer Science Problems in Java, Chapter 9, and is published with the kind permission of Manning Publications. —Ed.] The Traveling Salesman Problem (TSP

Ripe for the picking: 11 essential Java features to help modernize your code

Use these Java language improvements to make your code easier to write, read, and maintain.

Look out, Duke! Part 1: How to build a Java game with JavaFX and the FXGL library

You’ll be amazed at how little code is needed to create a 2D arcade game.

Web microservices development in Java that will Spark joy

The Spark framework might be the platform you need for building web applications that run in the JVM.

Pushing Data in Both Directions with WebSockets, Part 2

Using WebSockets’ long-lasting connections to build a simple chat app

Building Apps Using WebSockets, Part 1

The easy-to-use API for long-lived connections

Annotations: An Inside Look

How annotations work, how best to use them, and how to write your own

Java for the cloud, and the cloud for Java

Running Java in the cloud helps lower costs, speed up operations, and simplify the deployment.

Functional programming in Java, Part 2: Lambda reuse, lexical scoping and closures, and reduce()

Learn how to use lambda expressions to greatly reduce code clutter.

Exploring Joshua Bloch’s Builder design pattern in Java

Bloch’s Builder pattern can be thought of as a workaround for a missing language feature.

Functional programming in Java, Part 1: Lists, lambdas, and method references

Learn how to use lambda expressions to greatly reduce code clutter.

Understanding Java generics, Part 2: The hard part

Learn about wildcards, bounded wildcards, subtyping, and type erasure.

Understanding Java generics, Part 1: Principles and fundamentals

Learn how to use generics to increase type safety and code readability.

Guava: A treasure trove of Java functionality

This broad collection of utilities and functions from Google merits a principal place in your toolkit.

Even more greatness packed into Java 16, including tools for improving future JVMs

Java Champions love pattern matching for instanceof, records, Stream.toList(), the vector API, the foreign linker API, and the foreign-memory access API.

First steps with Oracle Cloud Infrastructure SDK for Java

Learn how to control Oracle Cloud Infrastructure resources through Java code.

Two gifts you can give your Java developers—today

Your words, actions, and attitude can inspire creativity. Here’s what to do.

How to make the most of Java enums

Anytime you have a set of known constant values, an enum is a type-safe representation that prevents common problems.