Java

The JVM language behind a huge share of enterprise software.

Java is taught here in 13 lessons, running from Java: getting started through to Testing, logging and JVM tooling. Each lesson takes one topic, shows the working code, and links onward to the next, so the course can be read straight through in order.

TrackBack-end Development
Lessons13
LevelBeginner to intermediate
Reading timeabout 3 hours
PrerequisitesHelpful, but not required: PHP

Lessons

  1. Java: getting startedHow the JDK, JVM and bytecode fit together, and the smallest program you can compile and run.
  2. Java types and variablesPrimitives versus objects, autoboxing traps, and the equality rules that decide whether two values are 'the same'.
  3. Java collectionsList, Set and Map — which implementation to pick, and why the interface you declare matters more than the class you use.
  4. Exceptions and try-with-resourcesChecked versus unchecked exceptions, how to catch and rethrow well, and closing resources without leaks.
  5. Classes, records and interfacesConstructors, access modifiers, inheritance, and the modern shortcuts — records, enums and interfaces with defaults.
  6. Setting up a modern Java toolchainInstall an LTS JDK, learn what javac and java really do, lay out a project, and pick between Maven and Gradle.
  7. Control flow, methods and the modern mainConditionals, the enhanced switch, loops and method design, plus compact source files for scripts and small tools.
  8. Generics, lambdas and the streams APIGeneric types and bounded parameters, functional interfaces, Optional, and stream pipelines with collectors.
  9. Dates, text and numbersjava.time types, formatting and parsing, BigDecimal for money, and text blocks for readable strings.
  10. Files, I/O and JSONjava.nio.file Path and Files, buffered reading and writing, charsets, and serialising records to JSON safely.
  11. Modules, packages and build configurationPackages and visibility, JPMS modules, multi-module Maven and Gradle builds, and producing a runnable jar.
  12. Concurrency, virtual threads and structured concurrencyThreads and executors, CompletableFuture, virtual threads for I/O, structured concurrency scopes, and the races that still bite.
  13. Testing, logging and JVM toolingJUnit 5 assertions and lifecycle, parameterised tests and mocks, SLF4J with Logback, and starting with JFR.

More in Back-end Development

Node.js PHP HTTP Go Rust Spring Boot Laravel Ruby GraphQL

FAQ

How long does the Java course take?
It has 13 lessons, about 3 hours of reading. Expect roughly twice that if you type out and run every example.
Do I need prior experience for Java?
Not strictly. It helps to have read PHP first, because some lessons build on it, but every lesson explains its own assumptions.
What should I read after Java?
Continue with HTTP (13 lessons), the next course in Back-end Development.

Last refreshed 2026-09-18.