FUNDAMENTALS
01. Introduction
02. JDK vs DRE vs JVM
03. JVM (Java Virtual Machine)
04. First Java Program
05. main() method
07. Data Types ( Primitive )
08. Float Inconsistency
09. variables and Literals
10. Type Conversion and Casting
11. Automatic Type Promotion in Expressions
12. Operators ( Arithmetic )
13. Operators ( Bitwise )
14. Operators ( Relational )
15. Operators ( Boolean Logical Operators )
16. Data Types ( Reference )
17. String
18. String Constant Pool (SCP)
19. Pool Demo
20. String Buffer and Builder
21. Control Statements
22. loops
23. Jump Statements
24. Type inference with local variables
25. vargargs
CLASSES AND OBJECTS
01. Class And Objects
02. Field Initialization,Instance and Static Block.md
03. Inheritance
04. Overloading
05. Overriding and Hiding
06. Execution Order
07. Final Keyword and Enum class
08. AutoBoxing
09. Immutable Class
10. Inner Classes
11. Abstract Class
12. Object class
13. Overriding equals method
14. Interface
15. Polymorphism
16. overloading vs overriding
17. Dynamic Binding vs Static Binding
18. Java: call by value not call by reference
19. AutoBoxCache
20. Exceptions
Annotations
01. Introduction
02. Annotations with Reflection
03. Default Values for Annotations
04. Marker Annotations
05. Single Member Annotations
06. Repeating Annotations
Collections
01. Collections
02. Iterating through lists
03. Comparable and Comparator interface
04. Maps
Functional Programming
Generics
Modern Features
01. Switch Case
02. Text Blocks
03. Records
04. Pattern Matching
05. Sealed Classes and Interface
MultiThreading
01. Threads Introduction
02. Thread liveliness
03. Thread Priorities and Synchronization
04. Interthread Communication
05. Deadlock
06. Thread State
07. Transient and volatile modifiers
Concurrent & Parallel Programming
01. Synchronizers
02. Semaphore
03. CountDownLatch
04. CyclicBarrier
05. Exchanger
06. Phaser
07. Executors
08. Callable and Future
09. Locks
10. Atomic Operations
11. Fork Join Frameworks