Core Java Complete Notes By Durga Sir Top Link
A subclass provides a specific implementation for a method already defined in its parent class. The method signature must match exactly. The JVM determines which method to execute at runtime based on the actual object type, not the reference type. Abstraction
Java support Multiple inheritance using classes to avoid ambiguity (The Diamond Problem). However, multiple inheritance is fully supported through interfaces. Polymorphism
Belongs to the class rather than class instances. Highly efficient for memory management.
: Terminates the innermost loop or switch statement immediately.
Arrays in Java are objects. They are created inside the Heap memory area. core java complete notes by durga sir top
Checked exceptions are verified by the compiler (e.g., IOException ). Unchecked exceptions occur at runtime (e.g., NullPointerException ).
+-------------------------------------------------------+ | Class Loader | +-------------------------------------------------------+ | v +-------------------------------------------------------+ | Runtime Data | | +--------+ +--------+ +-------+ +----+ +------+ | | | Method | | Heap | | Stack | | PC | |Native| | | | Area | | Area | | Area | |Reg | | Stack| | | +--------+ +--------+ +-------+ +----+ +------+ | +-------------------------------------------------------+ | v +-------------------------------------------------------+ | Execution Engine | | +--------------------+ +-------------------------+ | | | Interpreter | | JIT Compiler | | | +--------------------+ +-------------------------+ | | | Garbage Collector | | +-------------------------------------------------------+ Class Loader Subsystem
Detailed mechanics of if-else and switch . Note that switch expressions accept bytes, shorts, chars, ints, enums, and Strings.
: Checked by the compiler at compile-time (e.g., IOException , SQLException ). The programmer must explicitly handle or declare them. A subclass provides a specific implementation for a
: Best utilized when the total iteration count is unknown beforehand.
Durga Sir's material is always up-to-date, including a detailed study of modern Java features. topics include Lambda Expressions, Stream API, and functional interfaces (Predicate, Function, Consumer, Supplier). Java 9 topics include private methods in interfaces, try-with-resources enhancements, factory methods for collections, and JShell (the REPL tool).
Caused by application logic; program recovery is possible (e.g., IOException , NullPointerException ).
Thread is ready for execution and waiting for the OS thread scheduler. Highly efficient for memory management
Collection (Interface) | +------------------+------------------+ | | | List (Interface) Set (Interface) Queue (Interface) | | - ArrayList - HashSet - LinkedList - LinkedHashSet - Vector - TreeSet (SortedSet)
Inheritance enables code reusability by allowing a child class to inherit properties from a parent class using the extends keyword. Java supports single and multi-level inheritance but rejects multiple inheritance for classes to avoid the famous "Diamond Problem" (ambiguity during method resolution). Polymorphism
Paused while waiting for a lock, notification, or time duration. Terminated: Finished executing its task. Synchronization
Stores class-level data, including the runtime constant pool, field definitions, method metadata, and static variables. This area is shared across all threads.