Skip to content

This repository is a comprehensive Java study playground. It covers fundamental concepts, advanced topics, design patterns, concurrency, and Joshua Bloch’s "Effective Java" best practices.

Notifications You must be signed in to change notification settings

msergenergen/java-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Java Playground 🚀

This repository is a comprehensive Java study and interview preparation playground.
It covers fundamental concepts, com.playground.advanced topics, design patterns, com.playground.concurrency, and Joshua Bloch’s Effective Java best practices.


📌 Goals

  • Master Software Engineering Fundamentals
  • Build strong foundations in Core Java
  • Learn Effective Java best practices
  • Practice Advanced Java topics
  • Prepare for technical interviews
  • Provide ready-to-use Java code snippets for reference

📂 Repository Structure

1. Algorithms

  • Sorting (BubbleSort, MergeSort, QuickSort, etc.)
  • Searching (Binary Search, Linear Search)
  • Dynamic Programming (Fibonacci, Knapsack)
  • Graph Algorithms (DFS, BFS, Dijkstra)

2. Data Structures

  • Arrays, LinkedList, Stack, Queue
  • HashMap, HashSet
  • Trees (Binary Tree, BST, Trie)
  • Graphs

3. OOP Paradigms

  • Encapsulation, Inheritance, Polymorphism, Abstraction
  • SOLID Principles
  • Clean Code Examples

4. Design Patterns

  • Creational: Singleton, Builder, Factory
  • Structural: Adapter, Decorator, Proxy
  • Behavioral: Strategy, Observer, Command

5. Java Fundamentals

  • Collections Framework
  • Streams API
  • Functional Interfaces & Lambdas
  • Generics
  • Exception Handling

6. Concurrency

  • Threads and Synchronization
  • ExecutorService & ForkJoin
  • Locks and Semaphores
  • CompletableFuture
  • Virtual Threads (Java 21+)

7. Advanced Topics

  • Reflection API
  • Custom Annotations
  • Java NIO2 (Files, WatchService)
  • Java Modules (JPMS)
  • GraalVM & Native Image

8. Effective Java (Joshua Bloch)

  • Best practices from Effective Java, 3rd Edition
  • Each Item has its own Java example

🛠 How to Use

Clone the repo and explore each module:

git clone https://github.com/<your-username>/java-playground.git
cd java-playground

About

This repository is a comprehensive Java study playground. It covers fundamental concepts, advanced topics, design patterns, concurrency, and Joshua Bloch’s "Effective Java" best practices.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages