Follow our official account and send 【Learning】 to receive materials
Last week, a new guy in our team asked me: “Boss, why are new projects using Rust? Is Java really outdated?”
I didn’t answer directly, but opened the highly discussed 20 million particle simulation experiment on GitHub—this test result might overturn your perception of Java.

Java’s Rendering
The Veteran’s Comeback: Java’s Path to Revival
Many people still perceive Java as the “old, heavy, and bloated” enterprise language, while Rust is synonymous with performance and safety. However, a developer named David Gerrells has shattered this stereotype with actual testing.
The challenge of this experiment is extremely hardcore: using only the CPU to simulate 20 million 2D particles, allowing them to move under gravitational influence and render in real-time—this is a typical CPU-intensive task, which is traditionally the stronghold of compiled languages like Rust.

Surprisingly, when Java 21’s Vector API (SIMD instruction set) was enabled, this “veteran” displayed astonishing power. The key startup command for the experiment is quite particular:
bash
java --add-modules jdk.incubator.vector --enable-preview -jar ParticleSim.jar
Performance Showdown: The Truth Behind the Numbers
With SIMD optimization applied, the performance gap between Java and Rust has narrowed to a surprising extent.
According to the latest performance comparisons for 2025, in CPU-intensive tasks, Rust typically outperforms JDK21 by about 20%-50%. However, in IO-intensive tasks, the gap may shrink to less than 10%, and JDK21 can even surpass Rust through virtual thread optimizations.
Specifically for this particle simulation experiment, when Java enables all modern features:
- It performs close to Rust in multithreading optimization and vector computation
- Real-time rendering of 20 million particles remains smooth
- Memory management has significantly improved with the ZGC collector
All of this is thanks to the technological innovations that Java has quietly undergone in recent years: Virtual threads have significantly enhanced concurrent processing capabilities, while Vector API finally allows Java to directly utilize the CPU’s SIMD instruction set.

Why Can Java “Bloom Anew”?
1. Vector computation is no longer exclusive to C/C++/Rust
Java’s Vector API allows developers to directly use SIMD instructions, meaning one instruction can process multiple data simultaneously. For parallel computing tasks like particle simulation, the performance boost is revolutionary.
2. Virtual threads reshape the concurrency model
JDK21’s virtual threads fundamentally change Java’s concurrency capabilities through lightweight thread management. In IO-intensive scenarios, this even gives Java the potential to surpass Rust.
3. Continuous JVM optimization
The Just-In-Time (JIT) compiler continuously optimizes hot code at runtime, and the ZGC garbage collector keeps pause times at the millisecond level—these improvements make Java particularly effective in long-running applications.

So, Has Java Really Caught Up to Rust?
The answer is no; the two still have different positioning.
In terms of memory consumption, Rust still has a clear advantage. A simple web service in Rust may only consume 0.36MB of memory, while Java’s basic startup requires over 160MB. In CPU-intensive tasks, Rust, with its compiled language characteristics, can still outperform Java by about 20%-50%.
When to choose Java:
- Enterprise applications, microservices architecture
- Business systems that require rapid iteration
- Projects supported by a large Java ecosystem
- IO-intensive and high-concurrency web services

When to choose Rust:
- System-level software, game engines
- Environments with extreme performance and memory control requirements
- Embedded devices and real-time systems
- WebAssembly applications

A Heartfelt Message to Developers
This 20 million particle experiment tells us: Java is far from as slow as some people think, and Rust is not invincible in all scenarios.
As an old coder, my advice is:
- If you are maintaining large enterprise systems, Java’s ecosystem and talent pool are still invaluable
- If you pursue extreme performance and memory safety, the learning curve for Rust is worth it
- The most important thing is not the language itself, but your ability to solve problems with it
As the experiment’s author David said: “This ‘old dog’ has actually learned some new tricks.”
Technological progress is never simply about replacement, but about coexistence where each shows its strengths. In the technology landscape of 2025, both Java and Rust have their place—what matters is knowing when to use which tool.
Interactive Topic: What new features of Java have you used in actual projects? Have you seen significant performance improvements? Share your practical experiences in the comments!
【End of Article Benefits: Need Java learning materials, video tutorials waiting for you】
1. Comment 111
2. Follow the official account below and send 【Learning】
to receive Python materials and video tutorials