HOME / CATALOG / JAVA PROGRAMMING
01
ROADMAP / BEGINNER

Java Programming

28 TOPICS · 30 HOURS · BEGINNER · SCALE 1:4
START CANVAS

A comprehensive journey through Java — from language fundamentals and object-oriented design to concurrency, modern features, and building production-grade applications.


§ SYLLABUS

§ SECTION 01 · LANGUAGE FOUNDATIONS
  1. 01
    The JVM & Java Ecosystem

    Understand what the Java Virtual Machine is, how Java source code is compiled to bytecode, and why the write-once-run-anywhere promise matters. You will learn the difference between JDK, JRE, and JVM.

  2. 02
    Syntax, Variables & Primitive Types

    Learn Java's basic syntax, how to declare variables, and the eight primitive types (int, double, boolean, etc.) along with their wrapper classes and autoboxing.

  3. 03
    Control Flow & Loops

    Master if/else, switch expressions, for, while, and do-while loops, plus how to use break, continue, and labeled statements effectively.

  4. 04
    Arrays & Strings

    Work with fixed-size arrays and Java's immutable String class. Understand StringBuilder, string pooling, and common pitfalls around equality checks.

  5. 05
    Methods & Static Members

    Define methods with parameters and return types, understand method overloading, varargs, and the role of the static keyword for class-level behavior.

§ SECTION 02 · OBJECT-ORIENTED PROGRAMMING
  1. 01
    Classes, Objects & Constructors

    Design classes with fields, constructors, and methods. Understand object instantiation, the this keyword, and encapsulation through access modifiers.

  2. 02
    Inheritance & Polymorphism

    Extend classes, override methods, and leverage polymorphism to write flexible code. Understand the mechanics of dynamic dispatch and the super keyword.

  3. 03
    Abstract Classes & Interfaces

    Define contracts with interfaces and partial implementations with abstract classes. Learn when to use each and how default methods changed the landscape in Java 8+.

  4. 04
    Enums, Records & Sealed Classes

    Use enums for fixed sets of constants, records for immutable data carriers, and sealed classes to control inheritance hierarchies — modern Java's approach to domain modeling.

  5. 05
    Inner Classes & Anonymous Classes

    Understand static nested classes, inner classes, local classes, and anonymous classes — patterns you will encounter in legacy code and event-driven APIs.

§ SECTION 03 · CORE APIS & COLLECTIONS
  1. 01
    Exception Handling

    Handle errors with try-catch-finally and try-with-resources. Understand the checked vs. unchecked exception debate and design your own exception hierarchies.

  2. 02
    Collections Framework

    Use List, Set, Map, and Queue implementations effectively. Understand how to choose between ArrayList, LinkedList, HashMap, TreeMap, and their concurrent variants.

  3. 03
    Generics & Type Safety

    Write type-safe, reusable code with generics. Understand type erasure, bounded wildcards (? extends / ? super), and the PECS principle.

  4. 04
    I/O and NIO

    Read and write files using both classic I/O streams and the modern NIO.2 API (Path, Files). Understand buffering, character encodings, and resource management.

  5. 05
    Functional Programming & Lambdas

    Write concise code with lambda expressions, functional interfaces, and method references. Understand how Java bridges OOP and functional paradigms.

§ SECTION 04 · ADVANCED LANGUAGE FEATURES
  1. 01
    Streams API & Collectors

    Process collections declaratively with streams. Master filter, map, reduce, and custom collectors while understanding lazy evaluation and parallel streams.

  2. 02
    Optional & Null Safety Patterns

    Eliminate NullPointerExceptions with Optional. Learn the patterns that make null handling explicit and the anti-patterns to avoid.

  3. 03
    Concurrency & Multithreading

    Create and manage threads, use synchronized blocks and locks, and understand visibility guarantees with volatile and the Java Memory Model.

  4. 04
    Concurrent Collections & Executors

    Use ExecutorService, CompletableFuture, and concurrent data structures (ConcurrentHashMap, BlockingQueue) to write scalable concurrent programs.

  5. 05
    Virtual Threads (Project Loom)

    Understand lightweight virtual threads introduced in Java 21, how they differ from platform threads, and when structured concurrency simplifies your code.

  6. 06
    Reflection & Annotations

    Inspect and manipulate classes at runtime with the Reflection API. Create custom annotations and understand how frameworks like Spring use them under the hood.

§ SECTION 05 · BUILD TOOLS & TESTING
  1. 01
    Maven & Gradle

    Manage dependencies, build lifecycles, and project structure with Maven or Gradle. Understand POM files, build scripts, and dependency resolution.

  2. 02
    Unit Testing with JUnit & Mockito

    Write reliable unit tests with JUnit 5, use Mockito for mocking dependencies, and practice test-driven development to catch bugs before they ship.

  3. 03
    Logging & Debugging

    Set up structured logging with SLF4J and Logback. Use IDE debuggers, breakpoints, and profiling tools to diagnose issues efficiently.

§ SECTION 06 · PRODUCTION-GRADE JAVA
  1. 01
    JVM Internals & Garbage Collection

    Understand heap structure, garbage collection algorithms (G1, ZGC), JIT compilation, and how to tune JVM flags for performance.

  2. 02
    Design Patterns in Java

    Apply classic patterns — Factory, Strategy, Observer, Builder, Decorator — idiomatically in Java. Know when a pattern helps and when it adds unnecessary complexity.

  3. 03
    Java Module System (JPMS)

    Organize large codebases with the module system introduced in Java 9. Understand module-info.java, exports, requires, and strong encapsulation.

  4. 04
    Introduction to Spring Framework

    Understand dependency injection, inversion of control, and the Spring application context — the foundation that powers most enterprise Java applications.