Java
Full Java track — every topic, from fundamentals to advanced.
Lessons
- Introduction to Java
- Java Program Structure
- Java Compilation & Execution
- Comments
- Lexical Structure, Tokens & Literals
- Keywords & Identifiers
- Variables
- Constants & final
- Primitive Data Types
- Reference Types
- Type Conversion & Casting
- Console Input
- Console Output
- Operators
- Expressions
- Operator Precedence & Associativity
- if / else if / else
- switch
- for Loop
- while Loop
- do-while Loop
- break / continue / labeled Statements
- Conditional Operator
- Methods
- Method Declaration & Definition
- Method Parameters & Arguments
- Return Values
- Method Overloading
- Varargs
- Recursion
- Arrays
- Multidimensional & Jagged Arrays
- Strings
- StringBuilder & StringBuffer
- Character & Text Handling
- Classes & Objects
- Constructors
- this
- Access Modifiers
- Encapsulation
- Inheritance
- Method Overriding
- Polymorphism
- Abstract Classes
- Interfaces
- Multiple Inheritance via Interfaces
- final, sealed, non-sealed
- Object Class
- Equality & Hashing
- Immutability
- Packages
- Imports
- Nested & Inner Classes
- Enums
- Records
- Introduction to Generics
- Generic Classes
- Generic Methods
- Bounded Type Parameters
- Wildcards
- Type Erasure
- Raw Types
- Exception Handling
- Multiple Catch
- Exception Propagation
- Custom Exceptions
- Try-with-Resources
- Exception Best Practices
- Java Collections Framework Overview
- List
- Set
- Queue & Deque
- Map
- Immutable & Unmodifiable Collections
- Collection Utility Classes
- Comparable & Comparator
- Iterable & Iterator
- Enhanced for Loop
- Lambda Expressions
- Functional Interfaces
- Method References
- Stream API
- Stream Operations
- Collectors
- Optional
- var
- Pattern Matching for instanceof
- Pattern Matching for switch
- Switch Expressions
- Text Blocks
- Local Variable Type Inference
- Sealed Classes
- Modern Java Data Modeling
- Object Creation
- Object Lifetime
- Garbage Collection
- Memory Model Overview
- finalize and Resource Cleanup
- Threads
- Runnable & Callable
- Thread Lifecycle
- Synchronization
- volatile
- Locks
- Atomic Classes
- Executors & Thread Pools
- Futures & CompletableFuture
- Concurrent Collections
- Synchronizers
- Virtual Threads
- Java Memory Model
- Happens-Before
- Race Conditions
- Thread Safety
- File Handling
- NIO.2
- Byte Streams
- Character Streams
- Buffered I/O
- Serialization
- Date & Time API
- Regular Expressions
- Math & Random
- BigDecimal
- UUID
- Reflection
- Annotations
- Annotation Processing
- Class Loaders
- Java Modules
- JAR Files
- Dependency Management
- JVM Architecture
- JVM Runtime Data Areas
- Bytecode
- JIT Compilation
- Class Loading & Linking
- JVM Performance Basics
- Generics — Advanced
- Type Inference
- Method Resolution
- Covariant Returns
- Nested Generic Types
- Wildcard Capture & PECS
- Functional Programming Concepts
- Stream Performance
- Parallel Streams
- Input Validation
- Secure Coding Basics
- Immutability & Defensive Copies
- Assertions
- Debugging Java
- Logging
- Unit Testing Concepts
- Java Performance Fundamentals
- Benchmarking Java
- Profiling
- Common Performance Pitfalls
- Java Language Edge Cases
- Java Concurrency Pitfalls
- Common Java Pitfalls
- Java Best Practices