java-fundamentals

    Java Fundamentals Course

    Java Fundamentals: JVM internals, LTS strategy, Java 21, and enterprise engineering mastery.

    33
    Lessons
    8
    Modules
    0/33
    Completed

    Architecture

    JVM Memory Model

    How the JVM organizes memory across the heap, stack, metaspace and GC regions.

    HEAP
    Young Gen — Eden + S0/S1
    Old Gen — long-lived objects
    G1 / ZGC collects here
    STACK (per thread)
    Frame: main()
    Frame: service()
    Frame: query()
    Local vars + return addr
    METASPACE
    Class metadata
    Method bytecode
    Constant pool
    Native memory (off-heap)
    .java
    source
    javac
    compile
    .class
    bytecode
    JVM
    JIT → native
    Curriculum

    Enterprise learning path

    8 modules · 33 lessons

    Java Fundamentals

    0/11 complete
    1. 1
      Java Fundamentals Home
      Next up

      Welcome to Java Fundamentals: From JVM Internals to Enterprise Engineering — an internal academy for engineers who need to understand not just Java syntax, but why Java dominate…

    2. 2
      Java Introduction

      Java was born in 1995 when James Gosling's team at Sun Microsystems needed a language for interactive TV set-top boxes — devices with unreliable hardware and strict memory limits.

    3. 3
      Java LTS Versions: 8, 11, 17 & 21

      Enterprise Java is not one language — it is a timeline of LTS baselines that teams adopt every few years.

    4. 4
      JDK vs JRE vs JVM

      Every production incident involving "Java is slow," "OutOfMemoryError," or "ClassNotFoundException" eventually traces back to the same platform layer: JDK, JRE, and JVM.

    5. 5
      Java Syntax

      Java syntax is not arbitrary punctuation — it is a contract between compiler, JVM, and every engineer on your team.

    6. 6
      Variables and Data Types

      Every variable in Java has a type — the compiler and JVM use it to allocate memory, enforce operations, and catch bugs before production.

    7. 7
      Object Oriented Programming

      Object-Oriented Programming (OOP) is not an academic exercise — it is how banking systems model the real world.

    8. 8
      SOLID Principles

      SOLID is not a checklist for code reviews — it is the engineering vocabulary staff architects use to explain why one design scales to 200 microservices and another collapses at 20.

    9. 9
      Design Patterns

      Design patterns are named solutions to recurring design problems — not copy-paste code, but shared vocabulary that lets engineers communicate architecture in one word instead of…

    10. 10
      Collections Framework

      Every enterprise Java service — payment ledgers, user sessions, rate-limit counters, in-memory caches — stores data in the Java Collections Framework (JCF).

    11. 11
      Generics

      Before Java 5 (2004), collections stored Object — every get() required a cast, and every wrong cast caused ClassCastException at runtime.

    Concurrency & JVM

    0/5 complete
    1. 12
      Multithreading

      Every Spring Boot payment service, Kafka consumer, and batch settlement job runs on threads — lightweight execution paths scheduled by the JVM on OS threads.

    2. 13
      Executors Framework

      Every payment settlement batch, fraud scoring pipeline, and Spring Boot @Async handler delegates work to an ExecutorService — the production abstraction over raw Thread.

    3. 14
      Java Memory Model

      Two payment-processing threads can both "see" a stale balance because the JVM allows CPU caches and compiler reordering unless you establish a happens-before relationship.

    4. 15
      Garbage Collection

      A payment service that pauses 800ms every GC cycle misses authorization SLAs — customers see timeouts while the JVM stops-the-world to reclaim heap.

    5. 16
      Java 21 LTS Enhancements

      Java 21 (LTS, September 2023) is the 2026 enterprise baseline — the release staff engineers standardize on when greenfielding services, planning migrations off Java 8/11, and ev…

    Modern Java

    0/3 complete
    1. 17
      Streams API

      Every nightly settlement batch, fraud scoring pipeline, and regulatory report at a tier-1 bank processes millions of payment rows.

    2. 18
      Functional Programming

      Before Java 8, passing behavior meant anonymous inner classes — 15 lines of boilerplate to filter a list of wire transfers.

    3. 19
      Records & Sealed Classes

      Payment domain models in legacy Java meant POJOs with 80 lines of boilerplate — constructors, getters, equals, hashCode, toString — and stringly-typed status fields where "SETTL…

    Spring Ecosystem

    0/3 complete
    1. 20
      Spring Core

      Every enterprise Java service you ship in 2026 runs on Spring — not because it is trendy, but because Inversion of Control (IoC), Dependency Injection (DI), and a well-defined b…

    2. 21
      Spring Boot

      Spring Boot is how enterprises ship Java services in 2026 — not a replacement for Spring Core, but an opinionated layer that auto-wires datasources, Jackson, Tomcat, and Microme…

    3. 22
      REST APIs

      Every Spring Boot microservice exposes REST APIs — HTTP resources identified by URLs, manipulated with standard verbs (GET, POST, PUT, PATCH, DELETE), and documented for consume…

    Database Engineering

    0/2 complete
    1. 23
      SQL for Java Developers

      Spring Data JPA hides SQL — until production latency spikes, the read replica falls over, or a reconciliation job finds missing rows.

    2. 24
      JPA & Hibernate

      JPA (Jakarta Persistence API) is the standard ORM interface; Hibernate is the implementation Spring Boot uses by default.

    Microservices

    0/3 complete
    1. 25
      Microservices Architecture

      Microservices decompose a monolithic Java application into independently deployable services aligned to business capabilities — each with its own codebase, database, and release…

    2. 26
      Kafka

      Apache Kafka is the event streaming platform behind LinkedIn, Uber, Netflix, and most Java microservices architectures.

    3. 27
      Redis

      Redis is an in-memory data store used by Java services for sub-millisecond caching, session storage, rate limiting, and distributed locks.

    Cloud Native

    0/3 complete
    1. 28
      Docker

      Docker packages Java applications as immutable images — filesystem snapshots with JRE, jar, and config — run as isolated containers on any host.

    2. 29
      Kubernetes

      Kubernetes (K8s) orchestrates Docker containers across a cluster — scheduling Java services as Pods, managing releases with Deployments, exposing traffic via Services, and injec…

    3. 30
      OpenTelemetry

      OpenTelemetry (OTel) is the vendor-neutral standard for tracing, metrics, and logs — replacing fragmented agents (Jaeger client, Prometheus client, custom MDC) with one SDK and…

    System Design & Staff Engineer

    0/3 complete
    1. 31
      System Design for Java Engineers

      System design is how Java engineers turn business requirements into architectures that survive Black Friday, regional outages, and decade-long maintenance.

    2. 32
      Distributed Systems Patterns

      Distributed patterns are the staff engineer's toolkit for building correct systems when a single @Transactional boundary no longer spans the work.

    3. 33
      Staff Engineer Mindset

      Staff engineering is not senior engineering with more meetings — it is organizational leverage through technical direction.