Modern Java Guide

What changed since the original Java 5-era version of these lessons.

Recommended setup

Install a current JDK. For a classroom or long-lived course, Java 25 LTS is the baseline used by this archive. Java 26 is the current feature release. Use a modern IDE such as IntelliJ IDEA, Eclipse, or Visual Studio Code, or work from a terminal with javac, java, and jshell.

Running small programs

The traditional compile-and-run cycle still works: javac Hello.java followed by java Hello. Modern Java can also launch a simple source file directly with java Hello.java. JShell is useful for quick experiments with expressions, variables, and APIs.

Language features you will see in modern Java

The foundational material in this archive—types, expressions, control flow, classes, inheritance, interfaces, arrays, exceptions, collections, and I/O—still matters. Later Java releases also added features such as local-variable type inference with var, records for compact immutable data carriers, text blocks, switch expressions, pattern matching, and many library improvements. These are introduced as extensions rather than used to hide fundamentals.

Applets are historical

Java applets are no longer a deployable web technology. Browsers stopped supporting the required plug-in years ago; the Applet API was deprecated for removal before Java 25 and removed in Java 26. Applet pages remain in this archive only so old links continue to work and so students can study the underlying object-oriented and drawing concepts. For new desktop GUI work, use Swing where it fits or JavaFX/OpenJFX.

Current official learning resources

For installation and modern language references, use Dev.java Learn Java, Java SE 25 documentation, and the Oracle Java downloads page.

About this archive

The original programmed-learning structure and author credits are retained. The modernization focuses on current setup, accurate platform guidance, mobile-friendly presentation, preserved historical URLs, and clear labeling of obsolete APIs.