Architect

Level: Architect | Prerequisites: Java Expert track | Docker: zchencow/innozverse-java:latest

OpenJDK Temurin 21.0.10 + Maven 3 · All labs Docker-verified


Overview

The Architect track covers advanced JVM internals, modern Java features (Loom, Panama, GraalVM), distributed systems patterns, and production platform engineering. Each lab builds toward the capstone: a fully integrated production platform.


Labs

#
Lab
Topics
Key APIs

01

ClassLoader hierarchy, delegation, bytecode, JIT

ClassLoader.defineClass, ASM, javap

02

AOT vs JIT, Truffle, SubstrateVM, polyglot

native-image, ScriptEngine, reflect-config.json

03

Virtual threads, carrier threads, ScopedValues

Thread.ofVirtual(), newVirtualThreadPerTaskExecutor

04

JMM, happens-before, VarHandle, StampedLock

VarHandle, StampedLock, LongAdder

05

PECS, type erasure, TypeToken, sealed+generics

TypeToken, ? extends, ? super, sealed interface

06

Flow API, backpressure, Processor pipeline

Publisher, SubmissionPublisher, Processor

07

Foreign memory, native calls, MemoryLayout

MemorySegment, Arena, Linker, MethodDescriptor

08

EC P-256, ECDSA, PBKDF2, AES-GCM, KeyStore

KeyPairGenerator, Signature, Cipher, KeyStore

09

Service definition, streaming, interceptors

ManagedChannel, ServerBuilder, ServerInterceptor

10

Circuit breaker, saga, event sourcing, CQRS, outbox

CircuitBreaker, Retry, EventStore, SQLite

11

Producer/Consumer, EOS, offset management, Avro

KafkaProducer, KafkaConsumer, ConsumerRebalanceListener

12

Manual DI, property binding, conditions, lifecycle

Reflection, @Component, @Inject, @Value

13

OTel traces, Micrometer metrics, structured logs

SdkTracerProvider, Counter, Timer, MDC

14

JMH, GC tuning, JIT flags, String interning

@Benchmark, -XX:+UseZGC, -Xlog:gc*

15

Full integration: Loom + gRPC + SQLite + R4j + OTel

All of the above


Learning Path


Quick Start


Docker Image Contents

Component
Version

OpenJDK Temurin

21.0.10

Maven

3.x (/usr/share/java/maven-3/)

OS

Linux (x64)

Pre-cached Maven dependencies (fast startup):

  • io.grpc:grpc-*:1.58.0

  • io.github.resilience4j:*:2.1.0

  • io.opentelemetry:opentelemetry-sdk:1.32.0

  • org.xerial:sqlite-jdbc:3.47.0.0

  • org.apache.kafka:kafka-clients:3.6.1

  • org.openjdk.jmh:jmh-core:1.37

  • org.junit.jupiter:junit-jupiter:5.10.1

  • io.micrometer:micrometer-core:1.12.0


Key Concepts by Topic

Concurrency

  • Virtual threads (Loom): JVM-scheduled, cheap, blocking I/O is fine

  • VarHandle: Precise memory ordering (plain/opaque/acquire-release/volatile)

  • StampedLock: Optimistic reads for read-heavy workloads

  • Reactive Streams: Backpressure via request(n) — never overwhelm subscribers

JVM Internals

  • ClassLoader delegation: Bootstrap → Platform → Application → Custom

  • GraalVM AOT: Faster startup, lower memory, restricted reflection

  • Project Panama: Replace JNI with type-safe FFM API

  • JIT tiers: Interpreter → C1 (profiling) → C2 (optimized)

Distributed Systems

  • Circuit breaker: CLOSED → OPEN → HALF_OPEN state machine

  • Saga: Compensating transactions for distributed consistency

  • Event sourcing: Append-only facts, rebuild state by replaying

  • Outbox pattern: Atomic DB write + event in same transaction

Security

  • EC P-256: secp256r1 — NIST-standard elliptic curve

  • ECDSA: Non-deterministic signatures (use RFC 6979 for deterministic)

  • AES-GCM: Authenticated encryption — ciphertext includes auth tag

  • PBKDF2: 600,000 iterations (OWASP 2023) for password hashing

Observability

  • OTel tracing: traceparent header propagates trace-id across services

  • Micrometer: Vendor-neutral metrics facade (Prometheus/Datadog/etc.)

  • MDC: Thread-local key/value injected into every log line


Verified Test Results

All labs verified against zchencow/innozverse-java:latest:

Last updated