Presenters

Source

🚀 The Future of Java: Performance, AI, and the Quest for Minimalist Engineering

The Java ecosystem is undergoing a massive transformation. From the record-breaking 1 Billion Row Challenge to the rise of AI-native development, the landscape is shifting. Recently, I had the pleasure of sitting down with Gunnar Morling, a veteran technologist at Confluent and a key figure in the Java data space, to discuss how we can build faster, leaner, and more resilient systems in this new era.


💡 The Legacy of the 1 Billion Row Challenge

Two years ago, the 1 Billion Row Challenge took the Java world by storm. It proved that Java could compete at the highest level of performance, shattering the myth that the language is inherently slow.

Gunnar notes that the project’s success came from hitting a “sweet spot”: a problem that was trivial to explain but offered infinite room for optimization. While the repository is now closed, the community’s curiosity remains high. The biggest lesson? Modern Java is fast, but you have to know how to use it.


📈 Why You Should Upgrade Your JDK Today

If you are still stuck on Java 8, it is time to move. Gunnar emphasizes that upgrading to a current version (like Java 17 or later) is no longer the “breaking” experience it used to be.

  • Performance as a Feature: Newer versions bring substantial improvements to Garbage Collection (like ZGC) and memory management.
  • The Business Case: When pitching upgrades to leadership, don’t just talk about language syntax. Talk about hard costs: saving money through lower memory usage, reduced infrastructure footprints, and better observability via Java Flight Recorder.
  • Compact Object Headers: This upcoming JEP is a game-changer, promising to reduce object size on the heap, which directly translates to less GC pressure and higher performance.

🛠️ Durable Execution: Bringing Sanity to Complex Workflows

Gunnar is currently exploring durable execution engines in Java. The core problem: enterprise applications are full of long-running, multi-step business transactions that are hard to trace when they fail.

  • The Goal: Write your business logic as plain, linear Java code, but make it resumable.
  • The Tradeoff: If a process fails mid-way, the engine uses a state store (like SQLite) to track progress. When you restart, the system skips the already-completed steps.
  • The Impact: It abstracts away the complexity of distributed transactions, letting developers focus on the what rather than the how.

🪵 Hardwood: A New Approach to Parquet

Gunnar’s latest project, Hardwood, is a high-performance, dependency-free Apache Parquet parser for Java.

  • The Problem: Existing Parquet libraries are often “dependency-heavy,” pulling in the entire Hadoop stack, which creates massive supply-chain risks and binary bloat.
  • The Solution: Hardwood is built from scratch with zero mandatory dependencies.
  • Key Features:
    • Parallelization: It uses adaptive load balancing to distribute work across CPU cores, optimizing performance for different column types.
    • Memory Efficiency: It leverages off-heap memory and primitive arrays to avoid the dreaded boxing overhead.
    • AI-First Development: Gunnar built Hardwood with the help of AI coding assistants, using a strict design-document-first approach to ensure maintainability.

🤖 AI: The Productivity Booster vs. The Skill Gap

The conversation inevitably turned to the role of AI in engineering. Gunnar views AI as a massive productivity multiplier for experienced developers, but he shares a concern many of us have: How do we onboard the next generation?

  • The “Copy-Paste” Trap: Relying solely on AI to generate code without understanding the underlying architecture creates “holes” in a developer’s skill set.
  • The Solution: We must remain “prescriptive” with our AI tools. Use them to write boilerplate and tests, but guide them with design documents and maintain strict standards.
  • The Future: As we push toward more automation, the industry must focus on the hard problems—like sustainability, reducing electricity consumption, and ensuring that junior developers still learn the fundamentals of mechanical sympathy.

🎯 Final Thoughts

Whether it is through the Vector API, Foreign Memory API, or projects like Hardwood, Java is evolving to meet the demands of modern, high-performance computing.

Gunnar’s advice is simple: Stay curious, keep your dependencies thin, and don’t be afraid to pull back the curtain on how your code actually runs on the metal.

Big shout out to the community members like Orion and Andre Almir who are helping turn Hardwood into a reality!


Follow Gunnar Morling’s journey on his blog and keep an eye on the Hardwood GitHub repository for the upcoming 1.0 release! 🚀

Appendix