Skip to content

About

A structured Java knowledge base combining runnable IntelliJ code examples with detailed Obsidian notes. Covers Core Java, Object-Oriented Programming, Collections, Exceptions, Concurrency, DSA fundamentals, and hands-on projects from beginner to advanced levels.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Latest commit

ย 

History

43 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

โ˜• Java Knowledge Base


๐Ÿ“Œ Overview

Welcome to the Java Knowledge Base! This repository is a structured educational resource and reference vault documenting core Java programming concepts, from basic syntax up to multi-threaded concurrency, object-oriented design patterns, and interactive mini-projects.

It is structured to serve dual roles:

  1. IntelliJ Developer Workspace: Highly organized under the unified root namespace javakb.
  2. Obsidian Knowledge Vault: Direct integration with concept notes organized separately inside the docs/ folder, linking directly to source codes.

๐Ÿš€ Learning Roadmap

graph TD
    A[Core Basics: Var, Math, Input] --> B[Control Flow & Loops]
    B --> C[Methods & Arrays]
    C --> D[Object-Oriented Programming OOP]
    D --> E[Inheritance, Abstraction & Polymorphism]
    E --> F[Encapsulation & Relationships]
    F --> G[Collections, Wrappers & Exceptions]
    G --> H[Advanced Basics: Generics, Concurrency, Files]
    H --> I[DSA & Design Patterns]
    I --> J[Spring Boot Prep]
Loading

๐ŸŽฏ Progress Tracker

  • Phase 1: Procedural Fundamentals (Chapters 01 - 06)
  • [๐Ÿ”„] Phase 2: Object-Oriented Programming (Chapters 07 - 11 โ€” OOP Basics Started)
  • [๐Ÿ”„] Phase 3: Core API & Ecosystem (Chapters 12 - 16 โ€” Collections Framework Active)
  • [๐Ÿ”„] Phase 4: Advanced Java Mechanics & Projects (Beginner & Intermediate Projects Built)
  • [๐Ÿ”„] Phase 5: Data Structures & Algorithms (Complexity Analysis & Core DSA Completed)
  • Phase 6: Object-Oriented Design Patterns (Creational, Structural, Behavioral)

๐Ÿ“‚ Chapter Directory

All documentation is stored inside the docs/ folder to keep the source tree clean. Use the links below to navigate between conceptual documentation and IntelliJ-runnable code.

๐Ÿ“‚ Browse folders: All Java Notes | All Java Source Code

Chapter Topic Concept Notes Code Folder Status
ch01 Java Basics (Syntax, Printf, Input) Notes Code [x]
ch02 Control Flow (If-Else, Switch) Notes Code [x]
ch03 Loops (While, For, Nested) Notes Code [x]
ch04 Methods (Scope, Overloading, Varargs) Notes Code [x]
ch05 Arrays (1D, 2D, Linear Search) Notes Code [x]
ch06 Strings (Manipulation, Builders) Notes Code [x]
ch07 Object-Oriented Basics (Classes, Statics) Notes Code [x]
ch08 Inheritance (Subclassing, Super, Overrides) Notes Code [ ]
ch09 Abstraction (Interfaces, Polymorphism) Notes Code [ ]
ch10 Encapsulation (Accessors, Data Hiding) Notes Code [ ]
ch11 Object Relationships (Aggregation, Comp) Notes Code [ ]
ch12 Collections Framework (Lists, Maps, Sets) Notes Code [๐Ÿ”„]
ch13 Exception Handling (Try-Catch, Custom) Notes Code [ ]
ch14 File Handling (Streams, Reader/Writer) Notes Code [ ]
ch15 Generics (Type safety, Bounds) Notes Code [ ]
ch16 Date & Time API (Modern Time APIs) Notes Code [ ]
ch17 Concurrency (Threads, Executors) Notes Code [ ]

๐Ÿ† Projects Showcase

Hands-on console applications categorized by complexity:

๐Ÿ“‚ Browse folder: Projects Source Code | Intermediate Projects README

Level Project Description Code Link Specs Link
Beginner ๐Ÿ’ฐ Compound Interest Calculator Computes compound interest based on standard principal and rate user inputs. Code Doc Notes
Beginner ๐Ÿงฎ Console Calculator Multi-function CLI calculator utilizing static methods and varargs. Code Doc Notes
Beginner ๐Ÿ“Š Student Marks Analyzer Array statistics analyzer (total, average, max, min, pass/fail thresholds). Code Doc Notes
Intermediate ๐ŸŽ“ Student Management System Full CRUD student management application built with ArrayList, custom sorting (Name/GPA), and reversed views. Code Project README
Intermediate ๐Ÿ›๏ธ Apex Banking System Full console banking application with constructor chaining, static vault tracking, inter-account transfers, and interest engines. Code Project README
Intermediate ๐Ÿ›’ Console Vending Machine Retail vending machine simulation with inventory tracking, payment validation, and change calculation. Code Doc Notes
Intermediate ๐Ÿ“ฆ Inventory Management System Multi-array inventory tracking application with low-stock alert monitoring. Code Doc Notes
Intermediate ๐Ÿ”ค Text Analyzer Project Text metrics analyzer with word/character counts, vowel breakdown, and palindrome validation. Code Doc Notes
Advanced Placeholder Future multi-threaded file storage & concurrency applications Code Doc Notes

๐Ÿ“Š DSA Notes

๐Ÿ“‚ Browse folder: All DSA Notes

Detailed analysis and implementations of Data Structures and Algorithms:

Topic Notes Link Status
Space-Time Complexity Time & Space Complexity [x]
Recursive Space-Time Complexity Recursive Time & Space Complexity [x]

๐Ÿšง In Progress: More Data Structures (Arrays, Linked Lists, Trees, Graphs) and Algorithmic paradigms are currently under development.


๐ŸŽจ Design Patterns

๐Ÿ“‚ Browse folder: Design Patterns Folder

Object-Oriented Design Patterns and their clean implementations in Java:

๐Ÿšง In Progress: Notes and Java examples for Creational, Structural, and Behavioral patterns are in planning and development.


๐Ÿง  Obsidian Vault Setup

This project is optimized to be used as an Obsidian Knowledge Vault. To set up the vault locally:

  1. Download Obsidian: Download and install Obsidian from obsidian.md (free, cross-platform).
  2. Open Vault: Launch Obsidian, select "Open folder as vault", and choose the docs/ directory specifically (do not select the repository root folder).
    • Why only docs/? This ensures Obsidian only indexes the markdown concept notes and ignores raw Java source code or build folders. Notes can still link to code folder paths relatively (../../src/), but your Obsidian vault environment remains clean and focused solely on note-taking.
  3. Core Plugins Recommended:
    • Graph View: Turn this on to visualize how different Java chapters, DSA concepts, and projects connect with each other.
    • Outline / Bookmarks: Helpful for navigating long concept sheets.
    • Tags Pane: Displays properties and tags configured across notes.

Note: All files are standard GitHub-Flavored Markdown. Relative links and formatting will render correctly directly on GitHub, but features like interactive graphs and visual canvas boards are best experienced inside Obsidian.


๐Ÿ› ๏ธ IntelliJ Setup & Compilation

To run the examples in this repository using IntelliJ IDEA:

  1. Import the root java-knowledge-base folder into IntelliJ.
  2. Mark the src folder as the Sources Root (Right-click src $\rightarrow$ Mark Directory As $\rightarrow$ Sources Root).
  3. If packages show errors, run a project build/reindex (Build $\rightarrow$ Rebuild Project).

Manual Compilation from Command Line

Because the code uses the base namespace package javakb, compile and run from the root folder:

# Compile a chapter file
javac -d out -sourcepath src src/javakb/ch07_oop/ClassesAndObjects.java

# Run the compiled file
java -cp out javakb.ch07_oop.ClassesAndObjects

๐Ÿ”ฎ Future Roadmap & Expansion

This repository is built to scale into these domains, combining ongoing expansions and planned modules:

  • DSA (docs/dsa/): Expanding from complexity analysis into core Data Structures (Arrays, LinkedLists, Trees, Graphs) & Algorithmic paradigms.
  • Design Patterns (docs/design_patterns/): Documenting Creational, Structural, and Behavioral patterns (structure initiated).
  • Advanced Java (src/javakb/advanced_java/): Advanced stream APIs, Lambdas, JVM profiling.
  • JDBC (src/javakb/jdbc/): Database integration patterns.
  • Spring Boot (docs/spring_boot/): REST API creation and enterprise configurations.

๐Ÿ‘จโ€๐Ÿ’ป Author

Harsh Wardhan

  • GitHub: @harshwardhan1507
  • Focus: Core Java โ€ข Software Architecture โ€ข DSA

About

A structured Java knowledge base combining runnable IntelliJ code examples with detailed Obsidian notes. Covers Core Java, Object-Oriented Programming, Collections, Exceptions, Concurrency, DSA fundamentals, and hands-on projects from beginner to advanced levels.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages