Skip to content

codewithmahad/JAVA_LAB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

JAVA_LAB

A long-term workspace for mastering the Java language through continuous learning, practice, and exploration.


Overview

JAVA_LAB is a permanent repository dedicated exclusively to the Java programming language.

This repository is not a Spring Boot project, backend application, or framework showcase. Its sole purpose is to build and maintain a deep understanding of Java itself—from core language fundamentals to advanced platform features, JVM internals, concurrency, and modern language evolution.

It is designed as a living workspace that grows incrementally over time as new concepts are studied, implemented, experimented with, and revisited.


Purpose

This repository exists to:

  • Strengthen Java fundamentals through practical coding.
  • Explore modern Java language features introduced in recent JDK releases.
  • Understand how the JVM works beyond everyday programming.
  • Maintain a structured reference for revision and experimentation.
  • Continuously improve Java proficiency through hands-on practice.
  • Keep Java knowledge current as the language evolves over time.

Repository Organization

The repository follows a consistent package structure that expands as new topics are studied.

Packages are created and populated only after the corresponding concepts have been learned and implemented, making the repository an accurate record of continuous Java practice rather than a collection of pre-generated examples.

Planned organizational areas include:

Area Focus
Fundamentals Core Java syntax, data types, control flow, methods, arrays, and strings
OOP Classes, objects, inheritance, polymorphism, abstraction, encapsulation, and interfaces
Exceptions Exception handling, custom exceptions, and error management
Collections Lists, sets, maps, queues, sorting, and the Collections Framework
Generics Generic classes, methods, wildcards, and type-safe programming
I/O File handling, streams, NIO, and data persistence
Functional Lambdas, Streams API, Optional, and functional interfaces
Concurrency Threads, synchronization, executors, virtual threads, and concurrent programming
Modern Java Features introduced in recent Java releases
JVM Memory model, garbage collection, class loading, reflection, annotations, and bytecode
Playground Experiments, prototypes, benchmarks, and miscellaneous Java explorations

The actual codebase will evolve gradually as these areas are explored over time.


Development Approach

This repository is maintained incrementally.

A topic is added only when it has been:

  1. Studied
  2. Understood
  3. Implemented in code
  4. Organized within the repository

This approach ensures that the repository reflects real learning and real practice, not placeholder content.


Environment

Component Technology
Language Java
JDK Latest LTS / Current Stable
Build Tool Maven
IDE IntelliJ IDEA
Version Control Git + GitHub

What You Will Find Here Over Time

As the repository grows, it will contain:

  • Runnable Java examples
  • Concept-focused implementations
  • Experiments with new language features
  • JVM and memory-related explorations
  • Concurrency demonstrations
  • Code written specifically for understanding, revision, and long-term reference

Earlier implementations may be revisited and improved as my understanding of Java becomes more advanced.


Repository Philosophy

This repository is intentionally designed to remain active throughout my university journey and professional career.

Learning in software engineering does not stop after a course, a semester, or a job offer. New Java versions, APIs, language features, and best practices continue to emerge, and this workspace is intended to evolve alongside that ongoing learning process.


Status: Active and continuously evolving.

As Java evolves, this repository evolves with it.


Learning never finishes. Neither does this repository.

About

A long-term workspace for mastering the Java language through continuous learning, practice, and exploration.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors