Skip to content

EhsanulHaqueSiam/Java-Practice-Repo

Repository files navigation

Java Practice Repository ☕

A comprehensive Java practice repository covering fundamental to advanced topics including multithreading, network programming, and data structures with practical mini-projects.

📁 Repository Structure

├── Collection Framework/ │ ├── HashMap & HashSet implementations │ └── Student Management System (Serialization + File I/O) ├── Multithreading/ │ ├── Inter-Thread Communication │ ├── Monitor and Synchronized blocks │ ├── Producer-Consumer pattern │ └── Multithreaded ATM (ReentrantLock) ├── Network Programming/ │ ├── TCP Communication (Reverse Echo Server) │ ├── UDP Communication (Datagram) │ └── Multi-threaded Server └── Others/ └── Miscellaneous exercises 

🎯 Topics Covered

Collection Framework

  • HashMap & HashSet implementations
  • Student Management System - Object persistence with Serialization and File I/O

Multithreading

  • Inter-Thread Communication
  • Monitor and Synchronized blocks
  • Producer-Consumer pattern
  • Multithreaded ATM - Thread-safe operations with ReentrantLock

Network Programming

  • TCP Server - Reverse Echo implementation
  • UDP Communication - Datagram programming
  • Multi-client Server - Handling concurrent connections

💻 Skills Demonstrated

Category Skills
OOP Classes, Inheritance, Encapsulation
Concurrency Thread, Runnable, synchronized, ReentrantLock
Persistence Serializable, File I/O
Networking TCP/UDP Socket programming
Data Structures HashMap, HashSet, Collections

🚀 Running Examples

# Compile Java files javac Multithreading/ATM/*.java # Run the program java Multithreading.ATM.Main

👤 Author

Ehsanul Haque Siam - @EhsanulHaqueSiam

📄 License

MIT License

About

Java practice covering multithreading, networking (TCP/UDP), collections, and concurrency patterns.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages