Why we organise tutorials by topic

Java is a large language. The official tutorial on Oracle's website runs to thousands of pages, and the most popular Java reference books exceed 1,500 pages. No reader consumes that in one sitting. The two common ways to slice a large body of material are by difficulty (beginner, intermediate, advanced) or by topic (basics, OOP, collections, and so on). Difficulty is good for absolute beginners who need a guided path; topics are good for working developers who already have a job to do and need to deepen one specific area.

If you are debugging a memory issue, you do not want to read four tutorials about loops and conditions first. You want to go straight to Multithreading, or to Collections, or to File I/O — whatever is closest to the failing code. Topic pages give you that direct route. Each topic page opens with a short prose overview of the area, lists the tutorials in that topic, and points at related topics so you can cross-reference easily.

The six topics below cover roughly 90 percent of what a working backend Java developer uses in a typical week. The remaining 10 percent — niche libraries, vendor-specific extensions, performance tuning, deployment — is the kind of thing you learn on the job. We deliberately do not split topics more finely than these six because the result would be pages with one or two tutorials each, and navigation across 20 tiny topics is worse than navigation across six well-populated ones.

Within each topic page you will also find a “Why this topic matters” section explaining the real-world value, a “Core concepts” section listing the key vocabulary, and a “Common pitfalls” section so you can recognise the bugs you are most likely to hit. We have found these three sections to be the most-saved pages on the site; many readers bookmark the topic page rather than the individual tutorials because the topic page serves as a launchpad.

Six topics

Browse by topic

Each topic card opens a topic page with prose context, the tutorial list, and pointers to related topics.

If you are new to Java and want a structured path through the topics, we recommend tackling them in the order below. This order matches how the concepts build on each other: you cannot write a class until you know the syntax, you cannot use collections until you know OOP, and you cannot understand streams until you understand collections. Topics further down the list assume you are comfortable with everything above.

  1. Java Basics — syntax, types, operators, control flow, methods, arrays, strings.
  2. Object-Oriented Programming — classes, inheritance, polymorphism, encapsulation, interfaces.
  3. Collections — List, Set, Map, Queue, and their concrete implementations.
  4. Streams & Lambda — declarative data pipelines and functional interfaces.
  5. Database (JDBC) — connecting Java to a relational database and running SQL.
  6. Spring Framework — production web applications and REST APIs.

Each topic page lists the tutorials in the recommended reading order within the topic. If you skip ahead and feel lost, return to the topic one level up. The topics are designed so that a reader who has finished Java Basics and Object-Oriented Programming can understand roughly 70 percent of production Java codebases; finishing Collections and Streams brings that figure to about 90 percent.

Topics that depend on each other

Some topics are tightly coupled. Streams and Lambda, for example, are almost always used together — a stream pipeline is built from lambda expressions, and a lambda expression is most often used inside a stream. We have grouped them under one topic page for that reason. Similarly, Database (JDBC) and Spring Framework share a lot of ground because Spring Data JPA is built on top of JDBC; the Spring topic page points back to the JDBC topic for the underlying concepts.

If you find yourself jumping between topics, that is normal. Most working developers do not consume tutorials in a strict linear order — they read the specific section they need for the task at hand. The topic pages are designed to support that non-linear reading pattern by giving you a one-screen overview of everything in the topic, with deep links into the individual tutorials.

Frequently asked questions

What is the difference between a tutorial and a topic?

A tutorial is a single, focused article that teaches one Java concept — for example, the ArrayList tutorial covers how to create, add to, iterate, and remove from an ArrayList. A topic is a thematic grouping of multiple tutorials — the Collections topic page includes the ArrayList, HashMap, and Arrays tutorials plus a prose overview of the collections framework. Topics are launchpads; tutorials are the deep dives.

Why are there only six topics?

We chose six because it is a small enough number to fit in one navigation menu without scrolling, and large enough to cover the major areas of working Java. If we added topics like “Generics” or “Concurrency” or “Testing” as separate top-level topics, the menu would balloon and readers would struggle to find anything. Tutorials on those areas still exist — Multithreading is in the advanced track — but they are reached through the existing topics rather than via their own menu entry.

Can I download all the tutorials in a topic as a PDF?

Not yet, though it is on our roadmap. In the meantime, every tutorial page is print-friendly — use your browser's “Print to PDF” option and you will get a clean, paginated document with the code examples preserved. We are working on official downloadable PDFs of each topic for offline study; subscribe to our contact form with “PDF” in the subject to be notified when they ship.

Which topic should I read if I am preparing for a job interview?

Read Object-Oriented Programming and Collections first — those are the two areas most heavily tested in Java interviews. Streams and Lambda come third; many interviewers now ask functional-style questions. The interview page lists ten classic Java interview questions with worked answers, and the questions there are cross-referenced with the relevant topic pages.