Programming language
Java Basic To Advance
A free, 26-module Java course built for engineers preparing for serious technical interviews — from language fundamentals to the JVM, concurrency, and the questions FAANG interviewers actually ask.
Java Basic To Advance
This isn't a syntax tour. It's a 26-module Java curriculum built around interview reality — language fundamentals plus the depth most prep platforms never reach: the Java Memory Model and concurrency at the level senior engineers actually use it, JVM memory architecture and garbage collection, and JVM internals like bytecode and the JIT compiler.
You'll work through the fundamentals (syntax, control flow, arrays, strings, methods), the full object-oriented model (classes, inheritance, interfaces, abstraction), and the depth that separates mid from senior offers: collections internals, generics, lambdas and streams, functional programming, multithreading and concurrency, JVM memory management, JVM internals, reflection, JDBC, testing, build tools, and modern Java features — closing with a dedicated interview-synthesis module.
Every module and every topic in this course is free.
What you will learn
- Java language fundamentals from the engineer's perspective, not the tutorial perspective
- The complete object-oriented model: classes, inheritance, interfaces, and abstraction
- Collections internals, generics, lambdas, streams, and functional programming
- Multithreading, concurrency, and the Java Memory Model at interview depth
- JVM internals: memory management, garbage collection, bytecode, and the JIT compiler
- How to answer the Java questions FAANG interviewers actually ask
Course outline
Module 1: Introduction to Java
Introduction to Java - 8 topics.
- Why Java Matters 9 min read
- What is Java 8 min read
- History of Java 7 min read Pro lesson
- Features of Java 7 min read
- JDK JRE JVM 8 min read
- Environment 6 min read
- First Program 6 min read
- How Java Works 9 min read
Module 2: Basic Syntax
Basic Syntax — 9 topics.
- Variables Types 8 min read
- Primitive Types 8 min read
- Reference Types 8 min read Pro lesson
- Type Casting 8 min read Pro lesson
- Operators 9 min read Pro lesson
- Input Output 6 min read
- Comments 7 min read Pro lesson
- Naming Conventions 6 min read Pro lesson
- Interview Lens 9 min read Pro lesson
Module 3: Control Flow
Control Flow — 9 topics.
- If Else 7 min read
- Switch 8 min read Pro lesson
- For Loop 7 min read Pro lesson
- While Loop 7 min read Pro lesson
- Do While 6 min read Pro lesson
- Enhanced for 7 min read Pro lesson
- Break Continue 7 min read
- Labeled Statements 7 min read Pro lesson
- Interview Lens 10 min read Pro lesson
Module 4: Arrays
Arrays — 6 topics.
- Arrays Basics 8 min read
- Array Operations 8 min read Pro lesson
- Multidimensional Arrays 7 min read Pro lesson
- Arrays Class 7 min read Pro lesson
- Copying Arrays 7 min read Pro lesson
- Interview Lens 9 min read Pro lesson
Module 5: Strings
Strings — 9 topics.
- String Basics 7 min read
- String Methods 7 min read Pro lesson
- String Immutability 7 min read Pro lesson
- StringBuilder 7 min read Pro lesson
- StringBuffer 6 min read Pro lesson
- String Formatting 6 min read Pro lesson
- String Comparison 6 min read Pro lesson
- Regular Expressions 6 min read Pro lesson
- Interview Lens 9 min read Pro lesson
Module 6: Methods
Methods — 8 topics.
- Methods Basics 8 min read
- Method Parameters 8 min read Pro lesson
- Return Types 7 min read Pro lesson
- Method Overloading 7 min read Pro lesson
- Variable Arguments (Varargs) 6 min read Pro lesson
- Recursion 7 min read Pro lesson
- Pass by Value 7 min read Pro lesson
- Interview Lens 9 min read Pro lesson
Module 7: Object-Oriented Programming
Object-Oriented Programming — 13 topics.
- Introduction to OOP 10 min read
- Classes Objects 8 min read
- Fields Methods 7 min read Pro lesson
- Constructors 9 min read Pro lesson
- Access Modifiers 8 min read Pro lesson
- Encapsulation 9 min read Pro lesson
- Static Members 8 min read Pro lesson
- This Keyword 7 min read Pro lesson
- Object Class Methods 8 min read Pro lesson
- Anonymous Classes 6 min read Pro lesson
- Final Keyword 7 min read Pro lesson
- Records 7 min read Pro lesson
- Interview Lens 10 min read Pro lesson
Module 8: Inheritance
Inheritance — 14 topics.
- Introduction to Inheritance 9 min read
- Extends Keyword 7 min read Pro lesson
- Super Keyword 6 min read Pro lesson
- Method Overriding 7 min read Pro lesson
- Override Annotation 5 min read Pro lesson
- Polymorphism 7 min read Pro lesson
- Dynamic Dispatch 6 min read Pro lesson
- Inheritance Constructors 5 min read Pro lesson
- Final and Inheritance 5 min read Pro lesson
- Object Class Root 6 min read Pro lesson
- Multiple Inheritance 6 min read Pro lesson
- Composition vs Inheritance 7 min read Pro lesson
- Sealed Classes 6 min read Pro lesson
- Interview Lens 9 min read Pro lesson
Module 9: Interfaces
Interfaces — 13 topics.
- Introduction to Interfaces 7 min read
- Declaring Implementing 6 min read Pro lesson
- Interface Methods 6 min read Pro lesson
- Default Methods 8 min read Pro lesson
- Static Methods 5 min read Pro lesson
- Private Methods 5 min read Pro lesson
- Interface Constants 5 min read Pro lesson
- Interface Inheritance 6 min read Pro lesson
- Multiple Implementation 5 min read Pro lesson
- Functional Interfaces 6 min read Pro lesson
- Marker Interfaces 5 min read Pro lesson
- Interfaces vs Abstract 7 min read Pro lesson
- Interview Lens 9 min read Pro lesson
Module 10: Abstract Classes
Abstract Classes — 12 topics.
- Introduction to Abstract Classes 7 min read
- Abstract Keyword 6 min read Pro lesson
- Abstract Methods 5 min read Pro lesson
- Concrete Methods 6 min read Pro lesson
- Constructors 6 min read Pro lesson
- Fields State 5 min read Pro lesson
- Extending 6 min read Pro lesson
- Abstract Inheritance 5 min read Pro lesson
- Template Method 7 min read Pro lesson
- Abstract vs Interfaces 7 min read Pro lesson
- Skeletal Implementation 6 min read Pro lesson
- Interview Lens 10 min read Pro lesson
Module 11: Packages and Modules
Packages and Modules — 9 topics.
- Why Packages 6 min read
- Declaring Packages 5 min read Pro lesson
- Naming Conventions 5 min read Pro lesson
- Import Statement 5 min read Pro lesson
- Static Imports 5 min read Pro lesson
- Wildcard Imports 5 min read Pro lesson
- Package Private 6 min read Pro lesson
- Module System 5 min read Pro lesson
- Interview Lens 9 min read Pro lesson
Module 12: Exception Handling
Exception Handling — 11 topics.
- Introduction to Exception Handling 6 min read
- Exception Hierarchy 6 min read Pro lesson
- Checked vs Unchecked 6 min read Pro lesson
- Try Catch Finally 6 min read Pro lesson
- Throwing 6 min read Pro lesson
- Custom Exceptions 6 min read Pro lesson
- Try with Resources 6 min read Pro lesson
- Multi Catch 5 min read Pro lesson
- Exception Chaining 5 min read Pro lesson
- Best Practices 8 min read Pro lesson
- Interview Lens 10 min read Pro lesson
Module 13: File I/O
File I/O — 12 topics.
- Introduction to File I/O 6 min read
- Path API 5 min read Pro lesson
- Files Class 5 min read Pro lesson
- Reading Files 6 min read Pro lesson
- Writing Files 5 min read Pro lesson
- Input Output Streams 5 min read Pro lesson
- Readers Writers 5 min read Pro lesson
- Buffered I/O 5 min read Pro lesson
- Directories 5 min read Pro lesson
- Attributes 4 min read Pro lesson
- Production Patterns 8 min read Pro lesson
- Interview Lens 9 min read Pro lesson
Module 14: Collections Framework
Collections Framework — 25 topics.
- Introduction to Collections 6 min read
- Interface Hierarchy 6 min read Pro lesson
- Iterable Iterator 6 min read Pro lesson
- ArrayList 6 min read Pro lesson
- LinkedList 6 min read Pro lesson
- ArrayList vs LinkedList 6 min read Pro lesson
- List Operations 5 min read Pro lesson
- HashSet 6 min read Pro lesson
- LinkedHashSet TreeSet 5 min read Pro lesson
- Collections Utility 5 min read Pro lesson
- Interview Lens 8 min read Pro lesson
- Introduction to Maps 6 min read Pro lesson
- HashMap 6 min read Pro lesson
- Map Patterns 6 min read Pro lesson
- LinkedHashMap 6 min read Pro lesson
- TreeMap 6 min read Pro lesson
- Choosing Map 5 min read Pro lesson
- Iterating Maps 5 min read Pro lesson
- Compute Merge 6 min read Pro lesson
- Equals Hashcode 6 min read Pro lesson
- Concurrent HashMap 5 min read Pro lesson
- HashMap Internals 10 min read Pro lesson
- HashMap Tuning 7 min read Pro lesson
- Avoid Maps 7 min read Pro lesson
- Interview Lens: Maps 9 min read Pro lesson
Module 15: Generics
Generics — 12 topics.
- Introduction to Generics 7 min read
- Generic Classes 6 min read Pro lesson
- Generic Methods 6 min read Pro lesson
- Bounded Type Parameters 6 min read Pro lesson
- Wildcards 7 min read Pro lesson
- PECS 7 min read Pro lesson
- Generic Interfaces 6 min read Pro lesson
- Generics Inheritance 6 min read Pro lesson
- Raw Types 6 min read Pro lesson
- Type Erasure 9 min read Pro lesson
- Common Pitfalls 7 min read Pro lesson
- Interview Lens 9 min read Pro lesson
Module 16: Lambdas and Streams
Lambdas and Streams — 14 topics.
- Introduction to Streams Lambdas 7 min read Pro lesson
- Lambda Expressions 7 min read Pro lesson
- Method References 6 min read Pro lesson
- Functional Interfaces 6 min read Pro lesson
- Stream Pipeline Basics 6 min read Pro lesson
- Intermediate Operations 6 min read Pro lesson
- Terminal Operations 6 min read Pro lesson
- Collectors 6 min read Pro lesson
- Optional 6 min read Pro lesson
- Primitive Streams 5 min read Pro lesson
- Stream Internals 7 min read Pro lesson
- Parallel Streams 8 min read Pro lesson
- Common Pitfalls 7 min read Pro lesson
- Interview Lens 10 min read Pro lesson
Module 17: Functional Programming
Functional Programming — 10 topics.
- Functional Thinking 7 min read Pro lesson
- Pure Functions 8 min read Pro lesson
- Immutability Records 8 min read Pro lesson
- Function Composition 6 min read Pro lesson
- Higher Order Functions 7 min read Pro lesson
- Currying Partial Application 6 min read Pro lesson
- Lazy Memoization 7 min read Pro lesson
- Functional Error Handling 7 min read Pro lesson
- Common Patterns 7 min read Pro lesson
- Interview Lens 10 min read Pro lesson
Module 18: Multithreading and Concurrency
Multithreading and Concurrency — 17 topics.
- Introduction to Concurrency 8 min read Pro lesson
- Threads Runnables 8 min read Pro lesson
- Java Memory Model 11 min read Pro lesson
- Synchronization Locks 9 min read Pro lesson
- Volatile Visibility 7 min read Pro lesson
- Atomic Variables 7 min read Pro lesson
- Concurrent Collections 7 min read Pro lesson
- Executor Framework 7 min read Pro lesson
- ThreadPoolExecutor Deep Dive 8 min read Pro lesson
- CompletableFuture 7 min read Pro lesson
- Fork Join 8 min read Pro lesson
- Coordination Primitives 7 min read Pro lesson
- BlockingQueue 7 min read Pro lesson
- Virtual Threads 9 min read Pro lesson
- Common Pitfalls 8 min read Pro lesson
- Production Patterns 7 min read Pro lesson
- Interview Lens 14 min read Pro lesson
Module 19: JVM Memory Management
JVM Memory Management — 11 topics.
- JVM Memory Architecture 8 min read
- Heap Allocation 8 min read Pro lesson
- GC Fundamentals 8 min read Pro lesson
- GC Algorithms 7 min read Pro lesson
- Memory Leaks 9 min read Pro lesson
- Reference Types 7 min read Pro lesson
- Stack Method Frames 8 min read Pro lesson
- Metaspace Classloaders 7 min read Pro lesson
- JVM Tuning 8 min read Pro lesson
- Profiling Memory 8 min read Pro lesson
- Interview Lens 14 min read Pro lesson
Module 20: JVM Internals
JVM Internals — 11 topics.
- JVM Abstract Machine 9 min read Pro lesson
- Bytecode Fundamentals 8 min read Pro lesson
- Class File Format 8 min read Pro lesson
- Class Loading Lifecycle 8 min read Pro lesson
- Method Dispatch 8 min read Pro lesson
- invokedynamic Lambdas 7 min read Pro lesson
- JIT Compiler 8 min read Pro lesson
- Optimization Techniques 11 min read Pro lesson
- Intrinsics 7 min read Pro lesson
- AOT GraalVM 8 min read Pro lesson
- Interview Lens 16 min read Pro lesson
Module 21: Reflection and Metaprogramming
Reflection and Metaprogramming — 11 topics.
- Why Reflection Exists 8 min read Pro lesson
- Class Object 8 min read Pro lesson
- Fields Methods Constructors 8 min read Pro lesson
- Accessibility Modules 7 min read Pro lesson
- MethodHandles vs Reflection 8 min read Pro lesson
- Annotations at Runtime 8 min read Pro lesson
- Dynamic Proxies 8 min read Pro lesson
- Bytecode Manipulation 8 min read Pro lesson
- How Frameworks Use Reflection 8 min read Pro lesson
- Reflection and Native Image 8 min read Pro lesson
- Interview Lens 14 min read Pro lesson
Module 22: JDBC and Databases
JDBC and Databases — 12 topics.
- Database Connection Problem 8 min read Pro lesson
- JDBC API Fundamentals 8 min read Pro lesson
- PreparedStatement Injection 8 min read Pro lesson
- Connection Pools 9 min read Pro lesson
- ResultSet Mechanics 8 min read Pro lesson
- Transactions Isolation 10 min read Pro lesson
- Batching Bulk 7 min read Pro lesson
- Performance Patterns 8 min read Pro lesson
- JDBC and ORMs 7 min read Pro lesson
- Production Database 8 min read Pro lesson
- NoSQL Other Stores 8 min read Pro lesson
- Interview Lens: Database 13 min read Pro lesson
Module 23: Testing in Java
Testing in Java — 12 topics.
- Why We Test 10 min read Pro lesson
- JUnit 5 Fundamentals 8 min read Pro lesson
- Good Unit Tests 9 min read Pro lesson
- Test Doubles 9 min read Pro lesson
- Mockito in Practice 8 min read Pro lesson
- Test the Code Not Mocks 9 min read Pro lesson
- Integration Testing 10 min read Pro lesson
- Testing Database Code 10 min read Pro lesson
- Testing Concurrent Code 11 min read Pro lesson
- Property Based Testing 9 min read Pro lesson
- Flaky Tests 10 min read Pro lesson
- Interview Lens: Testing 12 min read Pro lesson
Module 24: Build Tools
Build Tools — 12 topics.
- Build Tool Problem 11 min read Pro lesson
- Maven Fundamentals 9 min read Pro lesson
- Maven Dependency Management 9 min read Pro lesson
- Maven Plugins Lifecycle 9 min read Pro lesson
- Gradle Fundamentals 10 min read Pro lesson
- Gradle Dependency Management 9 min read Pro lesson
- Multi Module Builds 10 min read Pro lesson
- Build Performance 9 min read Pro lesson
- CI Integration 10 min read Pro lesson
- Publishing 8 min read Pro lesson
- Modern Build Concerns 10 min read Pro lesson
- Interview Lens: Build Tools 13 min read Pro lesson
Module 25: Modern Java Features
Modern Java Features — 12 topics.
- Modern Java Story 10 min read Pro lesson
- Records 11 min read Pro lesson
- Sealed Types 11 min read Pro lesson
- Pattern Matching 11 min read Pro lesson
- Switch Expressions 10 min read Pro lesson
- Text Blocks 9 min read Pro lesson
- The var Keyword 9 min read Pro lesson
- Module System 8 min read Pro lesson
- Virtual Threads 12 min read Pro lesson
- Structured Concurrency 11 min read Pro lesson
- Putting It Together 11 min read Pro lesson
- Interview Lens: Modern Java 13 min read Pro lesson
Module 26: Cracking the Java Interview
Cracking the Java Interview — 12 topics.
- How to Use 11 min read Pro lesson
- Stuck Protocol 14 min read Pro lesson
- Coding Round Anatomy 13 min read Pro lesson
- Dsa Patterns Refresher 12 min read Pro lesson
- Concurrency Interviews 12 min read Pro lesson
- JVM Performance 12 min read Pro lesson
- System Design 11 min read Pro lesson
- Modern Java Interviews 11 min read Pro lesson
- Code Quality Signals 14 min read Pro lesson
- Communication During Coding 12 min read Pro lesson
- Reading Signals 11 min read Pro lesson
- Last Mile 14 min read Pro lesson