Focus: Mastering the "Java Way" of thinking.
Introduction to Java: JVM Architecture (JDK vs. JRE), Platform Independence, and the Compilation Process.
Java Language Basics: Data Types, Literals, Variables, and Type Casting (Automatic vs. Explicit).
Control Flow: Advanced Loop constructs (for-each), Switch-case, and Decision Making.
Object-Oriented Programming (OOP):
Classes, Objects, and Memory Management (Heap vs. Stack).
Constructors: Default, Parameterized, and Constructor Overloading.
Static vs. Instance: Static blocks, methods, and variables.
The this and super keywords.
Arrays & Strings: 1D/2D Arrays, String vs. StringBuilder vs. StringBuffer, and String Constant Pool.
Focus: Code reusability and architectural design.
Inheritance: Single, Multilevel, and Hierarchical Inheritance.
Polymorphism: Method Overloading vs. Method Overriding (Dynamic Method Dispatch).
Abstraction: Abstract Classes vs. Interfaces (including Default and Static methods in Java 8).
Packages: Creating, Accessing, and Importing packages; Access Modifiers (private, protected, public).
Final Keyword: Final variables, methods, and classes.
Focus: Building crash-proof, high-performance applications.
Exception Handling:
The Hierarchy: Throwable, Error, Exception.
Checked vs. Unchecked Exceptions.
Try-with-resources (Modern Java approach) and finally block.
Custom Exception Creation.
Multithreading:
Thread Lifecycle and Thread Creation (Thread class vs. Runnable interface).
Synchronization: Thread safety, Synchronized blocks, and Volatile keywords.
Inter-thread Communication: wait(), notify(), and notifyAll().
Handling Deadlocks.
Focus: Industry-standard tools for data manipulation.
Java Collections Framework: List (ArrayList, Vector), Set (HashSet), and Map (HashMap, TreeMap).
Generics: Type safety in collections.
Modern Features: * Autoboxing and Unboxing.
Enumerations (Enums) & Annotations.
Lambda Expressions: Introduction to Functional Programming in Java.
Java 8 Date & Time API: LocalDate, LocalTime, and DateTimeFormatter.
Focus: Connecting your code to the world and databases.
Input/Output (I/O): File handling, Streams (Byte vs. Character), and Serialization.
Database Connectivity (JDBC): * JDBC Drivers (Type I to IV).
Connecting to MySQL/Oracle, Statement vs. PreparedStatement, and ResultSets.
Networking: Socket Programming (TCP/UDP), URL class, and Client-Server architecture.
GUI & Event Handling: * AWT vs. Swing components.
The Delegation Event Model (Listeners and Adapters).
Layout Managers.