Understanding the JDK’s New Superfast Garbage Collectors

November 21, 2019 JVM Internals

ZGC, Shenandoah, and improvements to G1 get developers closer than ever to pauseless Java.

Epsilon: The JDK’s Do-Nothing Garbage Collector

November 21, 2019 JVM Internals

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

Understanding Garbage Collectors

November 21, 2019 Open JDK

How the default garbage collectors work

Testing HTML and JSF-Based UIs with Arquillian

November 21, 2019 Testing

How to use the testing framework to handle pure HTML, JSF, PrimeFaces, and Ajax in all major browsers

Take Notes As You Code—Lots of ’em!

November 21, 2019 From the Editor

A small discipline that pays huge rewards

For the Fun of It: Writing Your Own Text Editor, Part 2

November 21, 2019 Coding

Using Swing to write a GUI for the text editor

Quiz Yourself: Identify the Scope of Variables (Intermediate)

November 21, 2019 Quiz

Nuances of variable scope in for-loops

Quiz Yourself: Inner, Nested, and Anonymous Classes (Advanced)

November 21, 2019 Quiz

Java’s mechanisms and syntax for defining classes inside other classes

Quiz Yourself: String Manipulation (Intermediate)

November 21, 2019 Quiz

The subtleties of string concatenation

Quiz Yourself: Variable Declaration (Intermediate)

November 21, 2019 Quiz

The scope rules of Java variables and an examination of shadowing

Inside Java 13’s switch Expressions and Reimplemented Socket API

October 16, 2019 Java SE

Incremental changes bring future benefits in this release.

Text Blocks Come to Java

October 16, 2019 Java SE

Java 13 delivers long-awaited multiline strings.

Inside the Language: Sealed Types

October 16, 2019 Java SE

How Java is moving toward pattern matching, improved enums, and better switch statements

Java in the Browser with TeaVM

October 8, 2019 Coding

Build web apps using Java on both the front and back ends.

Really Know Your Tools

October 8, 2019 From the Editor

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.

Quiz Yourself: One-Dimensional Arrays (Intermediate)

October 4, 2019 Quiz

The subtleties of using a constructor to create an array

Quiz Yourself: Custom Exceptions (Advanced)

October 4, 2019 Quiz

When exactly do you need to declare an exception?

Quiz Yourself: Read and Set the Locale (Advanced)

October 4, 2019 Quiz

For happy users, specify the locale correctly.

Quiz Yourself: Functional Interfaces (Advanced)

October 4, 2019 Quiz

The subtleties of boxing and unboxing in streams

Know for Sure with Property-Based Testing

August 20, 2019 Testing

How do you test your code against thousands of values?

Arquillian: Easy Jakarta EE Testing

August 20, 2019 Testing

How to use the Arquillian framework to test Jakarta EE applications

Unit Test Your Architecture with ArchUnit

August 20, 2019 Testing

Discover architectural defects at build time.

For the Fun of It: Writing Your Own Text Editor, Part 1

August 20, 2019 Coding

Using a layered design and iterative development, a line editor evolves into a text editor in this new article series.

Getting Started with Kubernetes

July 11, 2019 Kubernetes

Automate the deployment, scaling, and management of containerized applications and services.