☕ Core Java Concepts Learning Repository
This repository is a comprehensive collection of hands-on examples and explanations covering all Core Java concepts — from basic syntax and OOP principles to advanced topics like multithreading, exception handling, collections, and file handling.
The goal of this repository is to provide clear, practical, and example-driven learning material that helps you build a strong foundation in Java programming and prepare for frameworks like Spring or for technical interviews.
🎯 Objectives
Understand Java fundamentals (data types, control structures, operators)
Master Object-Oriented Programming (OOP) principles
Learn Exception Handling and custom exceptions
Work with Collections Framework (List, Set, Map, etc.)
Explore File Handling and I/O Streams
Understand Multithreading and thread synchronization
Learn Interfaces, Abstract Classes, and Inner Classes
Understand Packages, Access Modifiers, and Static Members
Build small Java programs to reinforce each topic
🧩 Topics Covered
- Introduction to Java JDK, JRE, JVM, Compilation process
- Data Types & Variables Primitive types, literals, and memory usage
- Control Statements if-else, loops, switch, break, continue
- Arrays & Strings Operations on arrays and string manipulation
- Object-Oriented Programming (OOP) Classes, objects, methods, encapsulation, inheritance, polymorphism, abstraction
- Constructors & Static Members Default, parameterized constructors, static methods/variables
- Interfaces & Abstract Classes Implementing abstraction and multiple inheritance
- Exception Handling try-catch-finally, throws, throw, custom exceptions
- Collections Framework ArrayList, HashSet, HashMap, Iterator, Comparator
- File Handling Reading/Writing files using FileReader, BufferedReader, FileWriter
- Multithreading Thread class, Runnable interface, synchronization
- Wrapper Classes & Autoboxing Conversion between primitives and objects
- Inner & Anonymous Classes Understanding scopes and closures
- Java 8 Features (Intro) Lambda expressions, functional interfaces, streams