Complete Syllabus

8 Modules. 55+ Topics. From JVM to Modern Java 21.

Click any module to expand. Covers Java 8 (lambdas, streams), Java 11 (var, HTTP client), Java 14+ (records, pattern matching), and Java 17/21 (sealed classes, virtual threads). Not just legacy Java — modern Java as used in industry today.

01

Java Platform & Language Fundamentals

JVM architecture, memory model, data types, operators, and writing your first Java program

1.1 JVM, JRE & JDK Architecture

What each component does: JDK (development kit), JRE (runtime), JVM (virtual machine). Class loading, bytecode verification, and JIT compilation. Why "Write Once, Run Anywhere" works — and where it doesn't.

1.2 JVM Memory Model: Stack, Heap, Method Area

Where objects live (heap), where local variables live (stack), where class metadata lives (method area). String pool in the heap. Understanding OutOfMemoryError and StackOverflowError — the interview favourites.

1.3 Garbage Collection Fundamentals

How Java automatically reclaims memory. Generational GC (Young, Old, Permanent/Metaspace). When objects become eligible for GC. System.gc() — why calling it is almost always wrong. finalize() deprecation.

1.4 Data Types, Variables & Type Casting

8 primitive types (byte, short, int, long, float, double, char, boolean) — sizes and ranges. Implicit widening vs explicit narrowing. var keyword (Java 10) for local type inference. Literal formats (binary, hex, underscores).

1.5 Operators & Expressions

Arithmetic, relational, logical, bitwise, ternary, instanceof. Operator precedence table. Short-circuit evaluation (&&, ||). Bitwise operations: AND, OR, XOR, shifts — tested in MCQs.

1.6 Wrapper Classes & Autoboxing

Integer, Double, Character, Boolean — converting primitives to objects. Autoboxing/unboxing (Java 5). Integer cache (-128 to 127) — the classic "==" vs .equals() trap. parseXxx() and valueOf() methods.

1.7 Control Flow & Enhanced For Loop

if/else, switch (traditional + switch expressions in Java 14), for, while, do-while. Enhanced for-each loop. Labelled break and continue for nested loops.

Placement relevance: JVM architecture, memory model, garbage collection, and autoboxing/Integer cache are among the top 10 most asked Java interview questions at TCS, Infosys, Cognizant, and Wipro.
02

Arrays, Strings & Core Utilities

Working with collections of data and text manipulation — the most tested data types

2.1 Arrays: 1D, 2D & Jagged

Array declaration, initialisation, bounds checking (ArrayIndexOutOfBoundsException). 2D arrays for matrix operations. Jagged arrays (rows of different lengths). Arrays.sort(), Arrays.binarySearch(), Arrays.copyOf().

2.2 String Immutability & String Pool

Why Java strings are immutable. How the string pool works. "Hello" == "Hello" vs new String("Hello") == new String("Hello") — the classic interview question. Memory implications of string concatenation in loops.

2.3 String Methods & Manipulation

length(), charAt(), substring(), indexOf(), contains(), replace(), split(), trim(), strip() (Java 11), equals() vs ==. Regular expressions basics with Pattern and Matcher.

2.4 StringBuilder & StringBuffer

Mutable string alternatives for performance. StringBuilder (not thread-safe, faster) vs StringBuffer (thread-safe, slower). When to use each — string concatenation in loops MUST use StringBuilder.

2.5 Enums

Enum declaration, enum with fields/methods/constructors. Enum in switch statements. EnumSet and EnumMap. Why enums are preferred over static final constants — type safety and readability.

2.6 Math, Scanner & Utility Classes

Math.pow(), Math.sqrt(), Math.random(), Math.max/min. Scanner for console input (nextInt(), nextLine() — the buffer pitfall). Formatting output with System.out.printf() and String.format().

Placement relevance: String immutability, String pool, StringBuilder vs StringBuffer, and "==" vs .equals() are guaranteed questions in every Java placement test. String manipulation coding problems are among the most frequent.
03

Object-Oriented Programming — Core Concepts

Classes, objects, constructors, encapsulation, this/super, and static members

3.1 Classes & Objects

Class definition, instance variables, methods. Object creation with new. Stack vs heap allocation of objects. Reference variables vs objects — "the variable is not the object."

3.2 Constructors: Default, Parameterised, Copy

Constructor chaining with this(). No-arg constructor auto-generation rules. Copy constructors (Java doesn't have them built-in — how to implement). Constructor overloading.

3.3 this & super Keywords

this — refers to current object. this() — calls another constructor. super — refers to parent class. super() — calls parent constructor. Why super() must be the first statement. Interview favourite.

3.4 Encapsulation & Access Modifiers

private, default (package-private), protected, public — scope rules across classes and packages. Getter/setter pattern. Why encapsulation matters for maintainability. Immutable class design.

3.5 Static Members, Methods & Blocks

Class-level vs instance-level. Static methods (can't access instance members). Static blocks for initialisation. Static import. The singleton pattern using static. Why main() is static.

3.6 final Keyword: Variables, Methods, Classes

final variable = constant. final method = can't override. final class = can't extend. final vs immutability (final reference ≠ immutable object). Blank final variables and initialisation.

3.7 Object Class Methods

Every class extends Object. toString(), equals(), hashCode() — the contract between equals and hashCode. clone() — shallow vs deep copy. getClass(), instanceof operator. Why you must override equals AND hashCode together.

Placement relevance: this vs super, static members, final keyword, equals/hashCode contract, and access modifier scope are standard MCQ questions in TCS NQT, Infosys SP, and Cognizant GenC.
04

Inheritance, Polymorphism & Abstraction

Code reuse, method dispatch, interfaces, and designing extensible class hierarchies

4.1 Inheritance: extends & IS-A Relationship

Single inheritance (Java doesn't support multiple class inheritance). Constructor chaining in inheritance. Method hiding (static methods). Protected access across packages. When to use inheritance vs composition.

4.2 Method Overriding & @Override

Rules for valid overriding: same signature, covariant return types, access can't be more restrictive, can't throw broader checked exceptions. @Override annotation — why you should ALWAYS use it.

4.3 Upcasting, Downcasting & instanceof

Upcasting: automatic (Dog → Animal). Downcasting: explicit and dangerous (ClassCastException). instanceof check before downcasting. Pattern matching instanceof (Java 16): if (obj instanceof String s).

4.4 Polymorphism: Compile-Time vs Runtime

Compile-time: method overloading. Runtime: method overriding + dynamic method dispatch. Which method gets called when a parent reference holds a child object? The most asked OOP question.

4.5 Abstract Classes & Abstract Methods

abstract keyword on classes and methods. Can't instantiate abstract classes. Abstract vs concrete methods. When to use abstract classes vs interfaces. Template method pattern.

4.6 Interfaces: default, static & private Methods

Interfaces as contracts. Multiple interface implementation (Java's answer to multiple inheritance). Default methods (Java 8) — why they were added. Static methods in interfaces. Private methods (Java 9). Functional interfaces.

4.7 Sealed Classes & Records (Java 17/14)

sealed classes — restricting which classes can extend. permits clause. Records — immutable data carriers with auto-generated equals, hashCode, toString. record Point(int x, int y) {} — one line replaces 50.

Placement relevance: Method overriding rules, dynamic dispatch, abstract vs interface, and upcasting/downcasting are tested in every Java interview and MCQ section. Pattern matching and records signal modern Java knowledge in product company interviews.
05

Exception Handling & Inner Classes

Writing robust code that handles errors gracefullyn

5.1 Exception Hierarchy

Throwable → Error (JVM-level, unrecoverable) and Exception (application-level). RuntimeException (unchecked) vs checked exceptions. Common exceptions: NullPointerException, ArrayIndexOutOfBounds, ClassCastException, IOException.

5.2 try-catch-finally & try-with-resources

Basic try-catch. Multi-catch (Java 7): catch(IOException | SQLException e). finally block — guaranteed execution (almost). try-with-resources (Java 7): AutoCloseable interface for automatic cleanup. Why finally beats return.

5.3 throw, throws & Custom Exceptions

throw — creating and throwing exceptions. throws — declaring checked exceptions in method signatures. Creating custom exception classes. Checked vs unchecked — when to use which. The "throw early, catch late" principle.

5.4 final vs finally vs finalize

The classic interview trilogy. final: constant/prevent-override/prevent-extend. finally: guaranteed cleanup block. finalize: deprecated garbage collection hook. Why they're asked together — and why finalize is gone in modern Java.

5.5 Inner Classes: Member, Static, Local, Anonymous

Member inner class (tied to outer instance). Static nested class (independent). Local inner class (inside a method). Anonymous inner class (inline implementation). When to use each. How lambdas replaced most anonymous classes.

5.6 Packages & Code Organisation

Package declaration, import statements, static import. java.lang (auto-imported), java.util, java.io. Creating custom packages. Classpath and module path. Access control across packages.

Placement relevance: Checked vs unchecked exceptions, try-with-resources, final vs finally vs finalize, and exception hierarchy are standard questions in every Java placement test. Custom exception design is asked in product company interviews.
06

Collections Framework & Generics

The Java data structure toolkit — Lists, Sets, Maps, Queues, and type-safe generics

6.1 Collections Hierarchy Overview

Collection interface → List, Set, Queue. Map interface (separate hierarchy). Iterable → Collection flow. Choosing the right collection: when to use ArrayList vs LinkedList vs HashSet vs TreeMap.

6.2 List: ArrayList, LinkedList, Vector

ArrayList (dynamic array, O(1) random access). LinkedList (doubly linked, O(1) insert/delete at ends). Vector (thread-safe, legacy). List.of() for immutable lists (Java 9). When to use which.

6.3 Set: HashSet, LinkedHashSet, TreeSet

HashSet (O(1) lookup, no order). LinkedHashSet (insertion order preserved). TreeSet (sorted, O(log n), backed by red-black tree). Custom sorting with Comparator. Duplicate detection relies on equals/hashCode.

6.4 Map: HashMap, LinkedHashMap, TreeMap

HashMap (O(1) get/put, no order). HashMap internal working: hashing, buckets, collision handling (linked list → tree in Java 8). LinkedHashMap (insertion order). TreeMap (sorted keys). Map.of() for immutable maps.

6.5 Queue, Deque & PriorityQueue

Queue interface (FIFO). ArrayDeque (double-ended, preferred over Stack). PriorityQueue (min-heap by default). Using PriorityQueue with custom Comparator for max-heap. Used in BFS, Dijkstra's, k-th largest problems.

6.6 Comparable vs Comparator

Comparable: natural ordering (compareTo in the class itself). Comparator: external ordering (compare in a separate class or lambda). Sorting with Collections.sort() and List.sort(). Multi-field sorting. Interview staple.

6.7 Iterators & for-each

Iterator interface (hasNext, next, remove). ListIterator (bidirectional). ConcurrentModificationException — why you can't modify a collection while iterating. Using Iterator.remove() safely. Spliterator for parallel processing.

6.8 Generics: Type Safety & Erasure

Generic classes, methods, and interfaces. Bounded types (<T extends Comparable>). Wildcards: ? extends, ? super (PECS: Producer Extends, Consumer Super). Type erasure — how generics work at compile time but disappear at runtime.

Placement relevance: HashMap internal working, ArrayList vs LinkedList, Comparable vs Comparator, and generics wildcards are among the top 5 most asked Java collection questions. Every product and service company tests Collections extensively.
07

Functional Programming: Lambdas, Streams & Optional

Java 8+ functional features that changed how Java code is written

7.1 Lambda Expressions

Syntax: (params) -> expression or (params) -> { statements }. Lambdas as implementations of functional interfaces. Capturing variables (effectively final requirement). Replacing anonymous classes with lambdas.

7.2 Functional Interfaces

@FunctionalInterface annotation. Built-in interfaces: Predicate<T> (test), Function<T,R> (apply), Consumer<T> (accept), Supplier<T> (get), BiFunction, UnaryOperator. Composing functions with andThen, compose.

7.3 Method References

Four types: static (Math::max), instance on object (str::length), instance on class (String::toLowerCase), constructor (ArrayList::new). When to use method references vs lambdas — readability wins.

7.4 Stream API: Creation & Intermediate Operations

Creating streams: stream(), Stream.of(), Arrays.stream(), IntStream.range(). Intermediate operations: filter, map, flatMap, distinct, sorted, peek, limit, skip. Lazy evaluation — nothing executes until a terminal operation.

7.5 Stream API: Terminal Operations & Collectors

Terminal operations: forEach, collect, reduce, count, min, max, anyMatch, allMatch, findFirst. Collectors: toList, toSet, toMap, groupingBy, partitioningBy, joining, summarizingInt. The power of Collectors.groupingBy.

7.6 Optional<T>

Eliminating NullPointerException with Optional. Creating: Optional.of(), Optional.ofNullable(), Optional.empty(). Consuming: ifPresent, orElse, orElseGet, orElseThrow. Chaining: map, flatMap, filter. Why Optional should be used for return types, not parameters.

Placement relevance: Lambda expressions, Stream API (filter-map-collect pattern), and functional interfaces are now standard in product company Java interviews. Service companies are rapidly adding Stream API questions to their tests. Optional is asked in code review discussions.
08

Multithreading, File I/O & Modern Java Features

Concurrency, file operations, annotations, and Java 11–21 features

8.1 Multithreading: Thread Class & Runnable

Creating threads: extending Thread vs implementing Runnable. Thread lifecycle (NEW, RUNNABLE, BLOCKED, WAITING, TERMINATED). Thread.sleep(), join(), yield(). Why Runnable is preferred over Thread extension.

8.2 Synchronisation & Thread Safety

synchronized keyword (method-level and block-level). Intrinsic locks/monitors. Deadlock — what it is, how it happens, how to avoid it. volatile keyword. wait(), notify(), notifyAll() for inter-thread communication.

8.3 ExecutorService & Thread Pools

Why creating threads manually doesn't scale. ExecutorService, FixedThreadPool, CachedThreadPool, ScheduledExecutorService. Submitting tasks with submit() and invokeAll(). Shutting down gracefully.

8.4 CompletableFuture (Java 8)

Asynchronous programming without callback hell. supplyAsync, thenApply, thenAccept, thenCompose, thenCombine. Exception handling with exceptionally and handle. Composing multiple async operations.

8.5 File I/O: Streams, Reader/Writer & NIO

Byte streams (FileInputStream/OutputStream), character streams (FileReader/Writer), buffered streams. Serialisation with Serializable and transient keyword. java.nio.file: Path, Files, Files.readAllLines(), Files.write().

8.6 Annotations

Built-in: @Override, @Deprecated, @SuppressWarnings, @FunctionalInterface. Meta-annotations: @Retention, @Target. Creating custom annotations. Annotations in frameworks (Spring, JUnit) — why understanding them matters.

8.7 Date/Time API (java.time)

LocalDate, LocalTime, LocalDateTime, ZonedDateTime, Instant, Duration, Period. DateTimeFormatter for parsing and formatting. Why java.util.Date is legacy and java.time is the modern replacement.

8.8 Modern Java: Text Blocks, Virtual Threads & More

Text blocks (Java 13): multi-line strings with """. Switch expressions (Java 14). Virtual threads (Java 21): lightweight threads for massive concurrency. Modules system (Java 9) overview. What's coming next in Java.

Placement relevance: Multithreading concepts (synchronisation, deadlock, thread lifecycle) are standard interview questions. ExecutorService and CompletableFuture are asked in product company interviews. Serialisation and File I/O appear in service company MCQs. Modern Java features (records, text blocks, virtual threads) signal up-to-date knowledge — a differentiator.
Hands-On Practice

What Students Build During This Module

OOP Class Hierarchy

Design an employee/banking/vehicle hierarchy using inheritance, polymorphism, interfaces, and exception handling.

Custom Collections

Implement a generic Stack and Queue using arrays and linked nodes — understanding what ArrayList and LinkedList do internally.

String & Array Algorithms

Anagram detection, palindrome checks, duplicate removal, sorting — all in Java with proper use of String methods and Collections.

Stream API Data Processing

Process employee/student datasets using filter, map, collect, groupingBy — the pattern used in every real Java backend.

File-Based CRUD Application

Student record system with File I/O, Serialisation, exception handling, and menu-driven CLI — integrating all core concepts.

Multi-Threaded Task Executor

Build a simple task processing system using ExecutorService and CompletableFuture — understanding real-world concurrency patterns.

How We Deliver

Live Training + Daily Practice + Weekly Assessments

Live Instructor Sessions

Expert trainers explain concepts, code live, and solve OOP design problems interactively. 3–5 sessions per week.

Coding Platform Practice

Daily Java problems on our platform — Collections-based, OOP-based, and algorithm problems with JDK 21 compiler and automated testing.

Weekly Assessments

MCQ tests on OOP/Collections theory + timed coding challenges. Auto-evaluated with topic-wise analytics.

Progress Analytics

Student-wise dashboards tracking Java concept mastery, Collections fluency, and coding speed. TPOs see batch-level readiness.

Why Core Java Matters for Placements

The Language Every Service Company Runs On

TCS, Infosys, Wipro, Cognizant All Test Java

Every major IT service company's technical screening includes Java-specific questions — OOP concepts, Collections, exception handling, multithreading. Students who can't answer these lose marks in sections their aptitude prep didn't cover.

Enterprise Backend = Java

Spring Boot, Hibernate, microservices — the enterprise world runs on Java. Students learning Core Java are building the foundation for the most in-demand backend skill stack. Full Stack Development tracks build directly on this module.

Android Development Starts Here

Android apps are built in Java (and Kotlin, which is Java-compatible). Students targeting mobile development roles at Samsung, Google, or app-focused startups need Core Java fluency.

Java Is Accepted for DSA Interviews

Product companies like Amazon, Goldman Sachs, and Flipkart accept Java for coding interviews. Java's Collections (HashMap, TreeMap, PriorityQueue) are powerful tools for DSA problem-solving — competitive with C++ STL.