Skip to main content

Java Handbook · Courses

Learn Java the way it runs — from main() to Kafka and Flink.

In-depth courses by Gopi Gorantala, a Staff Engineer who builds real-time Kafka and Flink platforms for core banking. Every lesson pairs the idea with code you run yourself — deep enough for production and for interviews. In-depth courses by Staff Engineer Gopi Gorantala. Every lesson pairs the idea with code you run yourself.

cluster: javahandbook.com · 1 producer · 5 topics · 5 consumer groups

cluster: javahandbook.com · 5 topics

Pick a topic. Subscribe to the one you need.

Pick a topic. Subscribe to it.

producer.send() → course log → consumer.poll()

Diagram: one producer publishes five course topics, each read by a learner consumer group

KafkaProducer
<Course, Lesson>

Gopi Gorantala

Staff Engineer. Kafka at ING Bank, Flink and core-banking platforms in production.

acks=all · idempotence=true

group.id=system-design I'm moving into system design
group.id=real-time I want real-time pipelines
group.id=first-program I'm writing my first program
group.id=interview-prep I'm prepping for interviews
group.id=at-work I write Java at work

Browse all courses

// directory

Everything on this site, in one table.

Section What's inside Come here when… Find it at
Core Java Syntax, OOP, collections, the JVM You're writing your first program /learn-java/
Strings & interview Qs String pool, immutability, primitives vs wrappers An interview is on the calendar /java-strings/
Data structures Arrays zero-to-hero, bit manipulation, challenges You're grinding coding problems /java-arrays-mastery/
Modern Java Lambdas, functional interfaces, the Streams API A review comment says "use streams" /java-streams-api/
Build & design Maven, multi-module builds, design patterns The project outgrew one module /maven-course/
Apache Kafka Partitions, delivery guarantees, rebalancing, Streams Kafka keeps showing up in design meetings /apache-kafka-course/
Apache Flink Event time, keyed state, checkpoints Batch jobs aren't fast enough /flink/ (soon)
Blog & newsletter Debugging notes, one deep lesson a week You want to follow along /blog/ · /rss/

Hi, I'm Gopi.

I build real-time platforms for financial infrastructure — streaming on Apache Kafka and Apache Flink, with strict ordering, exactly-once processing, watermarking, and schema evolution. I've built reconciliation pipelines for core banking, where a lost event isn't a bug — it's a financial discrepancy. I build real-time Kafka and Flink platforms for core banking. A lost event isn't a bug — it's a financial discrepancy.

// newsletter · weekly

One deep lesson a week. Nothing else. One deep lesson a week.

Kafka and Flink internals, Java that isn't obvious, and the failure modes nobody writes down. 2,400 engineers read it.

Subscribing…

You're in. Check your inbox.

That email didn't go through. Try again.