Basic Syntax
Keywords
Data Types
Variables
Constants
Type Casting
Operators
Arithmetic Operators
Relational Operators
Logical Operators
Bitwise Operators
Assignment Operators
Ternary Operator
Unary Operators
Control Statements
If-else
Switch-case
Loops (for, while, do-while)
Break and Continue
Arrays
One-dimensional Arrays
Multi-dimensional Arrays
Array Operations (sorting, searching)
Methods
Method Declaration and Definition
Method Overloading
Recursion
Variable Arguments (Varargs)
Classes and Objects
Creating Classes and Objects
Constructors
Instance vs Static Variables
Static Methods
This Keyword
Inheritance
Extending Classes
Method Overriding
Super Keyword
Constructor Inheritance
Polymorphism
Method Overloading
Method Overriding
Dynamic Method Dispatch
Abstraction
Abstract Classes
Abstract Methods
Interfaces
Encapsulation
Access Modifiers (private, public, protected, default)
Getters and Setters
Exception Handling
Try, Catch, Finally Blocks
Throw, Throws
Custom Exceptions
Strings
String Handling
StringBuilder
StringBuffer
Regular Expressions
Collections Framework
List
Set
Map
Queue
Iterator
Comparable and Comparator
Generics
Generic Methods
Generic Classes
File I/O
Reading/Writing Files (File, BufferedReader, BufferedWriter)
Serialization
Object Streams
Multithreading
Thread Creation (extending Thread, implementing Runnable)
Thread Lifecycle
Synchronization
Deadlock
Lambda Expressions
Syntax and Usage
Functional Interfaces
Streams API
Java 8 Features
Default Methods in Interfaces
Method References
Stream API
Java Memory Management
Stack vs Heap Memory
Garbage Collection
Memory Leaks
JVM Internals
ClassLoader
Bytecode Execution
JIT Compiler
Annotations
Defining Annotations
Built-in Annotations (Override, Deprecated, SuppressWarnings)
Java Security
Cryptography (Symmetric/Asymmetric Encryption)
Secure Coding Practices