Chapter 1: Introduction to Java
- Lesson 1: What is Java?
- Lesson 2: History of Java
- Lesson 3: Java Applications and Use Cases
- Lesson 4: Java Environment Setup (JDK, JRE, JVM)
- Lesson 5: Writing Your First Java Program
- Lesson 6: Introduction to Java Syntax
- Lesson 7: Basic Java IDE Setup (Eclipse, IntelliJ, etc.)
Chapter 2: Variables and Data Types
- Lesson 1: Understanding Variables in Java
- Lesson 2: Declaring Variables and Identifiers
- Lesson 3: Java Data Types (Primitive and Non-Primitive)
- Lesson 4: Type Conversion and Casting
- Lesson 5: Constants and the final Keyword
- Lesson 6: var Keyword (Java 10 and later)
Chapter 3: Operators in Java
- Lesson 1: Arithmetic Operators
- Lesson 2: Relational Operators
- Lesson 3: Logical Operators
- Lesson 4: Bitwise Operators
- Lesson 5: Assignment Operators
- Lesson 6: Increment and Decrement Operators
- Lesson 7: Conditional (Ternary) Operator
Chapter 4: Control Structures
- Lesson 1: Introduction to Control Flow
- Lesson 2: if-else Statements
- Lesson 3: switch-case Statement
- Lesson 4: Loops: for, while, and do-while
- Lesson 5: Break, Continue, and Return Statements
- Lesson 6: Enhanced for Loop
Chapter 5: Methods in Java
- Lesson 1: Introduction to Methods
- Lesson 2: Method Declaration, Definition, and Calling
- Lesson 3: Method Overloading
- Lesson 4: Pass-by-value in Java
- Lesson 5: Recursion in Java
- Lesson 6: Default and Static Methods (Java 8 and later)
- Lesson 7: Variable Arguments (Varargs) in Methods
Chapter 6: Arrays and Strings
- Lesson 1: Declaring and Initializing Arrays
- Lesson 2: Multidimensional Arrays
- Lesson 3: Common Array Operations
- Lesson 4: Strings in Java
- Lesson 5: StringBuffer and StringBuilder Classes
- Lesson 6: String Manipulation Methods
- Lesson 7: Arrays vs Lists
Chapter 7: Object-Oriented Programming (OOP) Concepts
- Lesson 1: Introduction to OOP
- Lesson 2: Classes and Objects
- Lesson 3: Constructors and Initialization Blocks
- Lesson 4: Member Variables and Methods
- Lesson 5: Access Modifiers (public, private, protected)
- Lesson 6: this Keyword
- Lesson 7: Static Members and Methods
- Lesson 8: Nested and Inner Classes
- Lesson 9: Anonymous Classes and Functional Interfaces (Java 8 and later)
Chapter 8: Inheritance in Java
- Lesson 1: What is Inheritance?
- Lesson 2: Base and Derived Classes
- Lesson 3: Overriding Methods
- Lesson 4: super Keyword
- Lesson 5: Abstract Classes and Methods
- Lesson 6: Interfaces in Java
- Lesson 7: Multiple Inheritance Using Interfaces
Chapter 9: Polymorphism in Java
- Lesson 1: Understanding Polymorphism
- Lesson 2: Method Overriding and Dynamic Method Dispatch
- Lesson 3: instanceof Keyword
- Lesson 4: Runtime Polymorphism
- Lesson 5: Operator Overloading in Java (Conceptual)
Chapter 10: Encapsulation in Java
- Lesson 1: What is Encapsulation?
- Lesson 2: Accessor and Mutator Methods
- Lesson 3: Data Hiding and Security
- Lesson 4: Bean Classes and JavaBeans
Chapter 11: Exception Handling
- Lesson 1: Introduction to Exceptions
- Lesson 2: try, catch, and finally Blocks
- Lesson 3: throw and throws Keywords
- Lesson 4: Checked vs Unchecked Exceptions
- Lesson 5: Custom Exception Classes
- Lesson 6: Using try-with-resources (Java 7 and later)
Chapter 12: Java Collections Framework
- Lesson 1: Introduction to Collections
- Lesson 2: List Interface and Implementations (ArrayList, LinkedList)
- Lesson 3: Set Interface and Implementations (HashSet, TreeSet)
- Lesson 4: Map Interface and Implementations (HashMap, TreeMap)
- Lesson 5: Queue and Deque Interfaces
- Lesson 6: Iterators and forEach Loop
- Lesson 7: Comparator and Comparable Interfaces
Chapter 13: Generics in Java
- Lesson 1: Introduction to Generics
- Lesson 2: Generic Classes and Methods
- Lesson 3: Bounded Type Parameters
- Lesson 4: Wildcards in Generics
- Lesson 5: Type Erasure and Compatibility
Chapter 14: File I/O and Working with Dates and Times
- Lesson 1: Introduction to File Handling
- Lesson 2: Reading and Writing Files
- Lesson 3: Buffered Streams
- Lesson 4: Serialization and Deserialization
- Lesson 5: NIO and NIO.2 (Java 7 and later)
- Lesson 6: File Walks and Directory Streams
- Lesson 7: Introduction to Dates and Times in Java
- Lesson 8: The java.time Package (Java 8 and later)
- Lesson 9: Formatting and Parsing Dates and Times
- Lesson 10: Time Zones and Duration Calculations
Chapter 15: Multithreading in Java
- Lesson 1: Understanding Threads
- Lesson 2: Thread Lifecycle
- Lesson 3: Creating Threads Using Thread Class and Runnable Interface
- Lesson 4: Synchronization and Locks
- Lesson 5: Inter-thread Communication
- Lesson 6: Concurrency Utilities (Java 5 and later)
- Lesson 7: Parallel Streams (Java 8 and later)
Chapter 16: Lambda Expressions and Functional Programming
- Lesson 1: Introduction to Lambda Expressions
- Lesson 2: Functional Interfaces
- Lesson 3: Method References
- Lesson 4: Stream API (Java 8 and later)
- Lesson 5: Collectors and Terminal Operations
- Lesson 6: Optional Class
Chapter 17: Advanced Features and Modern Java
- Lesson 1: Modules and the Java Platform Module System (JPMS)
- Lesson 2: Record Classes (Java 14 and later)
- Lesson 3: Sealed Classes (Java 17 and later)
- Lesson 4: Pattern Matching and Switch Expressions (Java 17 and later)
- Lesson 5: Text Blocks (Java 15 and later)
- Lesson 6: New Features in Recent Java Releases
Chapter 18: Java Design Patterns
- Lesson 1: Introduction to Design Patterns
- Lesson 2: Creational Patterns | Singleton, Factory Method, Abstract Factory, Builder, Prototype
- Lesson 3: Structural Patterns | Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy
- Lesson 4: Behavioral Patterns | Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor
Chapter 19: Debugging and Testing in Java
- Lesson 1: Debugging Techniques and Tools
- Lesson 2: Unit Testing with JUnit
- Lesson 3: Mocking Frameworks (e.g., Mockito)
- Lesson 4: Test-Driven Development (TDD)
- Lesson 5: Performance Testing Tools
Chapter 1: Java Virtual Machine (JVM) Internals
- Lesson 1: JVM Architecture
- Lesson 2: Class Loading and Bytecode
- Lesson 3: Garbage Collection Mechanisms
- Lesson 4: Java Memory Model
Chapter 2: Java Frameworks
- Lesson 1: Introduction to Java Frameworks
- Lesson 2: Spring Framework Basics
- Lesson 3: Hibernate and JPA
- Lesson 4: Microservices with Spring Boot
- Lesson 5: Dependency Injection and AOP
Chapter 3: Networking in Java
- Lesson 1: Java Networking Basics
- Lesson 2: Sockets and Client-Server Communication
- Lesson 3: HTTP Clients (HttpURLConnection, HttpClient)
- Lesson 4: WebSocket Programming
- Lesson 5: RMI (Remote Method Invocation)
Chapter 4: Advanced Java Features
- Lesson 1: JavaFX for GUI Development
- Lesson 2: Advanced Multithreading Techniques
- Lesson 3: Asynchronous Programming with CompletableFuture
- Lesson 4: Reactive Programming (Project Reactor, RxJava)
- Lesson 5: Integration with Databases (JDBC)
Chapter 5: Java for Embedded Systems
- Lesson 1: Introduction to Embedded Systems
- Lesson 2: Java on Microcontrollers
- Lesson 3: Interfacing with Arduino Boards Using Java
- Lesson 4: Java ME (Micro Edition) for Embedded Devices
- Lesson 5: Real-time Programming and Optimization
Chapter 6: Building and Deploying Java Applications
- Lesson 1: Introduction to Build Tools (Maven, Gradle)
- Lesson 2: Packaging and Deploying Applications
- Lesson 3: Continuous Integration/Continuous Deployment (CI/CD)
- Lesson 4: Dockerizing Java Applications
- Lesson 5: Monitoring and Logging Tools
Chapter 7: Java Security
- Lesson 1: Basics of Java Security
- Lesson 2: Encryption and Decryption
- Lesson 3: Secure Coding Practices
- Lesson 4: Authentication and Authorization
- Lesson 5: Java Cryptography Architecture (JCA)
- Lesson 6: Working with SSL