Java Knowledge Base
Structured Open-Source Java Documentation & Engineering Vault
“How do you learn Java in a structured way that compounds over time?”

Case Study Index (4 Sections)↓
Overview & Philosophy
Educational content for programming languages often separates conceptual explanations from executable code. The Java Knowledge Base unifies these domains by linking Obsidian markdown notes directly with IDE-compilable Java packages, covering core OOP principles, memory models, collections, and algorithmic problem solving.
Learn by explaining concepts cleanly in markdown notes, then immediately implement them as compilable Java source code and standalone CLI applications.
Repository & Knowledge Structure
docs/ (Obsidian conceptual guides linked via vault syntax) <-> src/ (chapter-based compilable Java source) <-> projects/ (standalone CLI apps).
Knowledge Progression: Structured chronologically into conceptual chapters: 01-Fundamentals, 02-OOP-Principles, 03-Collections-Framework, 04-Exception-Handling, 05-CLI-Applications.
Engineering Decisions
Inlining long conceptual documentation inside Java docstrings polluted source code readability and IDE auto-complete.
Separated docs/ (Obsidian markdown) from src/ (runnable Java) while mirroring directory and package structure across both.
Requires maintaining parallel folder organization when adding new topics.
Kept source files lean and compilation-focused while building a rich documentation vault.
Challenges & Solutions
Reinforcing Abstract OOP Concepts
Issue: Concepts like polymorphism and interfaces remain abstract until applied in non-trivial code contexts.
Decision/Solution: Built dedicated CLI engineering projects (Inventory Manager, Student Management System) specifically designed to test OOP patterns.
What's Next
Key Takeaways
Organizing knowledge for public teaching forces much deeper personal technical understanding.
Dual-purpose folder structures (Vault + IDE) keep explanations and executable code in sync.
Related Engineering Projects
Thunderstorm
Built an interactive algorithm visualizer rendering step-by-step sorting executions and array transformations with custom speed controls.
Portfolio V3
Designed and built an interactive engineering portfolio featuring adaptive case study templates, custom motion design, and a canonical registry architecture.