| OOP Concepts |
Inheritance, Polymorphism, Abstraction, Encapsulation, Method Overriding |
| Classes & Objects |
Constructors, this keyword, super keyword, Overloading, Object Cloning |
| Access Modifiers |
public, private, protected, default, package-level access |
| Static & Final |
static variable, static method, static block, final class, final method |
| Data Types & Variables |
primitive types, type casting, var keyword, literals, reference variables |
| Strings |
immutability, StringBuilder, StringBuffer, String pool, equals vs == |
| Arrays |
1D array, 2D array, Arrays utility class, sorting, searching |
| Collections |
List, Set, Map, Iterator, HashMap |
| Generics |
bounded types, wildcards, generic methods, type erasure, raw types |
| Exception Handling |
try-catch, finally, throws, throw, custom exceptions |
| Java I/O |
InputStream, OutputStream, Reader, Writer, BufferedReader |
| NIO |
Path, Files, Channels, Buffers, Selectors |
| Multithreading |
Thread, Runnable, synchronization, sleep, join |
| Concurrency |
ExecutorService, Future, ConcurrentHashMap, Atomic classes, Locks |
| JVM Internals |
ClassLoader, Bytecode, Class loading, JIT, GC basics |
| Memory Model |
heap, stack, references, garbage collection, happens-before |
| Lambda & Functional Interfaces |
lambda syntax, Predicate, Function, Consumer, Method reference |
| Streams API |
map, filter, reduce, collect, flatMap |
| Annotations |
built-in annotations, custom annotation, Retention, Target, Marker annotations |
| Reflection |
Class object, getMethods, getFields, invoke, dynamic proxy |
| JDBC |
Connection, Statement, PreparedStatement, ResultSet, batch updates |
| Serialization |
Serializable, transient, serialVersionUID, writeObject, readObject |
| Date & Time API |
LocalDate, LocalTime, LocalDateTime, Instant, DateTimeFormatter |
| Modules (JPMS) |
module-info, requires, exports, opens, modular JARs |
| ClassLoader |
bootstrap loader, system loader, extension loader, delegation, custom loader |
| Garbage Collection |
G1 GC, CMS, GC roots, mark-sweep, pause time |
| JIT Compiler |
interpreter vs JIT, tiered compilation, inlining, escape analysis, optimization |
| Advanced Concurrency |
ForkJoinPool, CompletableFuture, parallel streams, RecursiveTask, locks |
| Bytecode & Instrumentation |
javap, Java Agent, ASM, bytecode inspection, class redefinition |
| Performance Tuning |
JFR, heap dump analysis, thread dump analysis, profiling, GC tuning |