Skip to content

piyushpingale23/core-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Core Java

A comprehensive collection of Core Java programs, examples, notes, and interview-oriented implementations covering fundamental to advanced Java concepts.

Topics Covered

Java Fundamentals

  • Variables and Data Types
  • Operators
  • Control Statements
  • Arrays
  • Strings
  • Wrapper Classes

Object-Oriented Programming

  • Class and Object
  • Constructor
  • Inheritance
  • Polymorphism
  • Abstraction
  • Encapsulation
  • Interface
  • Association, Aggregation, Composition

Exception Handling

  • Try-Catch-Finally
  • Throw and Throws
  • Custom Exceptions

Collections Framework

  • List
  • Set
  • Queue
  • Map
  • Iterator
  • Comparable
  • Comparator

Generics

  • Generic Classes
  • Generic Methods
  • Wildcards

Multithreading

  • Thread Class
  • Runnable Interface
  • Thread Lifecycle
  • Synchronization
  • Inter-Thread Communication
  • Executor Framework

Java 8 Features

  • Lambda Expressions
  • Functional Interfaces
  • Method References
  • Stream API
  • Optional
  • Default Methods
  • Static Methods
  • Predicate
  • Consumer
  • Supplier
  • Function
  • Method Chaining
  • Date and Time API

Design Principles (SOLID)

S - Single Responsibility Principle (SRP)

A class should have only one reason to change.

O - Open/Closed Principle (OCP)

Software entities should be open for extension but closed for modification.

L - Liskov Substitution Principle (LSP)

Objects of a superclass should be replaceable with objects of its subclasses.

I - Interface Segregation Principle (ISP)

Clients should not be forced to depend on interfaces they do not use.

D - Dependency Inversion Principle (DIP)

High-level modules should not depend on low-level modules; both should depend on abstractions.

File Handling

  • File Operations
  • Buffered Streams
  • Serialization
  • Deserialization

Reflection API

  • Class Metadata
  • Dynamic Method Invocation
  • Accessing Fields and Methods at Runtime

Design Patterns

  • Singleton Pattern
  • Factory Pattern
  • Builder Pattern

Interview Programs

  • String Programs
  • Collection Programs
  • Stream API Programs
  • Multithreading Programs
  • Comparator and Comparable Examples
  • Java 8 Coding Questions

Project Structure

src/
├── java_fundamentals/
├── oops/
├── collections/
├── multithreading/
├── java_8/
├── exception_handling/
├── generics/
├── reflection/
├── design_principles/
├── design_patterns/

Prerequisites

  • Java 8 or higher
  • IntelliJ IDEA / Eclipse / VS Code

Clone Repository

git clone https://github.com/piyushpingale23/core-java.git

Run Program

Compile:

javac FileName.java

Run:

java FileName

Purpose

This repository is intended for:

  • Java Beginners
  • Interview Preparation
  • Java Revision and Practice
  • Understanding Core Java Concepts Through Examples
  • Learning Java 8 Features
  • Understanding SOLID Design Principles

Author

Piyush Ingale

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages