What you will find in this catalog
The catalog currently contains 24 tutorials organised into three difficulty tracks. Every tutorial follows the same structure: a one-paragraph summary, a worked example you can copy and run, a line-by-line explanation, common pitfalls, and four hands-on exercises at the end. The average tutorial is roughly eight to twelve minutes of reading plus ten minutes of practice — short enough to fit in a coffee break, deep enough to leave you with a skill you can apply the next day.
All code examples are tested against a current Long-Term-Support version of Java (JDK 17 or JDK 21). Where a feature was introduced in a specific Java version — for example records in Java 16, sealed classes in Java 17, pattern matching for switch in Java 21, or virtual threads in Java 21 — we say so explicitly. If you are using an older JDK in production, we note any alternatives that work on Java 8 or Java 11 where relevant. The code snippets themselves are licensed under the MIT License, so you can paste them into your own commercial or personal projects without attribution, although a credit link is appreciated.
We add new tutorials roughly every two weeks and refresh existing ones whenever a new Java LTS ships. If there is a topic you cannot find here, please tell us — reader requests drive a significant portion of our editorial calendar.
Tutorials by difficulty level
Each tutorial is tagged beginner, intermediate, or advanced. If you are new to Java, work through the beginner tutorials in the order they appear below before moving on. If you already know another programming language, you can safely skim the beginner tutorials and start with the intermediate track. The advanced track assumes you are comfortable with object-oriented programming, the collections framework, and exception handling.
Beginner tutorials (10 tutorials)
The beginner track covers the syntax and building blocks you will use in every Java program. Topics include installing the JDK, the basic structure of a .java file, primitive and reference types, operators, control flow with if and switch, all four loop forms, methods, arrays, and the immutable String class. By the end of the beginner track you should be able to read most Java source code and write small command-line utilities from scratch. Tutorials in this track: Introduction, Syntax, Variables, Data Types, Operators, Conditions, Loops, Methods, Arrays, Strings.
Intermediate tutorials (9 tutorials)
The intermediate track is where you learn to design your own types and to work with the standard library's data structures. You will meet classes, objects, the four pillars of object-oriented programming (encapsulation, inheritance, polymorphism, abstraction), interfaces, exception handling, and the two collections you will use every day at work: ArrayList and HashMap. We also cover file I/O with the modern java.nio.file API, which is cleaner and safer than the legacy java.io.File approach. Tutorials in this track: Classes & Objects, Inheritance, Polymorphism, Encapsulation, Interfaces, Exception Handling, ArrayList, HashMap, File Handling.
Advanced tutorials (5 tutorials)
The advanced track covers the topics that distinguish a working Java professional from someone who has merely read the syntax. You will learn the functional Streams API, lambda expressions and method references, multithreading with both classic platform threads and Java 21 virtual threads, database access with JDBC, and building production web applications with Spring Boot. These tutorials assume you can already write idiomatic Java and are ready to take on the wider ecosystem. Tutorials in this track: Streams, Lambda Expressions, Multithreading, JDBC, Spring Boot.
If you have never written Java before, start with the Java Introduction tutorial. It walks you through installing the JDK and running your first program in under ten minutes.