A comprehensive journey through Java — from language fundamentals and object-oriented design to concurrency, modern features, and building production-grade applications.
§ SYLLABUS
- 01The 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.
- 02Syntax, 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.
- 03Control Flow & Loops
Master if/else, switch expressions, for, while, and do-while loops, plus how to use break, continue, and labeled statements effectively.
- 04Arrays & Strings
Work with fixed-size arrays and Java's immutable String class. Understand StringBuilder, string pooling, and common pitfalls around equality checks.
- 05Methods & Static Members
Define methods with parameters and return types, understand method overloading, varargs, and the role of the static keyword for class-level behavior.
- 01Classes, Objects & Constructors
Design classes with fields, constructors, and methods. Understand object instantiation, the this keyword, and encapsulation through access modifiers.
- 02Inheritance & Polymorphism
Extend classes, override methods, and leverage polymorphism to write flexible code. Understand the mechanics of dynamic dispatch and the super keyword.
- 03Abstract 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+.
- 04Enums, 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.
- 05Inner 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.
- 01Exception Handling
Handle errors with try-catch-finally and try-with-resources. Understand the checked vs. unchecked exception debate and design your own exception hierarchies.
- 02Collections Framework
Use List, Set, Map, and Queue implementations effectively. Understand how to choose between ArrayList, LinkedList, HashMap, TreeMap, and their concurrent variants.
- 03Generics & Type Safety
Write type-safe, reusable code with generics. Understand type erasure, bounded wildcards (? extends / ? super), and the PECS principle.
- 04I/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.
- 05Functional Programming & Lambdas
Write concise code with lambda expressions, functional interfaces, and method references. Understand how Java bridges OOP and functional paradigms.
- 01Streams API & Collectors
Process collections declaratively with streams. Master filter, map, reduce, and custom collectors while understanding lazy evaluation and parallel streams.
- 02Optional & Null Safety Patterns
Eliminate NullPointerExceptions with Optional. Learn the patterns that make null handling explicit and the anti-patterns to avoid.
- 03Concurrency & Multithreading
Create and manage threads, use synchronized blocks and locks, and understand visibility guarantees with volatile and the Java Memory Model.
- 04Concurrent Collections & Executors
Use ExecutorService, CompletableFuture, and concurrent data structures (ConcurrentHashMap, BlockingQueue) to write scalable concurrent programs.
- 05Virtual Threads (Project Loom)
Understand lightweight virtual threads introduced in Java 21, how they differ from platform threads, and when structured concurrency simplifies your code.
- 06Reflection & 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.
- 01Maven & Gradle
Manage dependencies, build lifecycles, and project structure with Maven or Gradle. Understand POM files, build scripts, and dependency resolution.
- 02Unit 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.
- 03Logging & Debugging
Set up structured logging with SLF4J and Logback. Use IDE debuggers, breakpoints, and profiling tools to diagnose issues efficiently.
- 01JVM Internals & Garbage Collection
Understand heap structure, garbage collection algorithms (G1, ZGC), JIT compilation, and how to tune JVM flags for performance.
- 02Design 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.
- 03Java Module System (JPMS)
Organize large codebases with the module system introduced in Java 9. Understand module-info.java, exports, requires, and strong encapsulation.
- 04Introduction to Spring Framework
Understand dependency injection, inversion of control, and the Spring application context — the foundation that powers most enterprise Java applications.