Why it matters
Enterprise codebases are heavily Java. ADK Java lets teams build agents in their existing stack instead of stitching in Python. This eases integration, ops, and hiring.
The architecture
Core primitives: Agent (the top-level entity), Tool (functions the agent can call), Runner (orchestrates the loop), Session (per-conversation state), Model (LLM abstraction).
Agents compose. A parent agent can delegate to sub-agents. This enables multi-agent architectures.
How it works end to end
Model integration: pluggable model layer supports Gemini natively, plus other providers via adapters.
Session state: keyed by session ID, persisted or in-memory. Enables multi-turn conversations.
Streaming: agent output can be streamed token-by-token for UX responsiveness.
Evaluation harness: run agents against test cases to measure success rates.