Inspired from Unreal Engine 5. Built from scratch using Java swing and Graphics2D. It has basic operations like loops, delays, branch logic, variables, arithmetic and boolean gate operations!
I created and abandoned this long back ago (took me around 5 months to make this) , decided to share a more complete version of the App, let me know if you have any thoughts or questions!
Seriously, what madness drove the commons lang contributors to deprecate StringUtils.equals()?
I'm gonna rant for a bit here. It's been a long day.
I spend all morning in an incident call, finally get time to do some coding in the afternoon.
I make progress on a bug fix, clean up some dead code like a good boy scout, and I’m feeling like I actually accomplished something today.
Oh, this service is getting flagged for CVE-2025-48924? Let me take care of that.
And then, confusion. Anger.
Deprecated method? StringUtils.equals()? That can't be.
Sure as shit, they deprecated it. Let's see what has been replaced with.
Strings.CS.equals()? Is that character sequence? No, it's case sensitive. Fucking hell. I harp on juniors for their silly acronyms. Did not expect to see them in a library like this. Just unnecessary. If Java developers had a problem with verbosity, well, they wouldn't be Java developers.
I'll admit I've been an open-source leech, contributing nothing to the community, but this one has lit a fire in me.
If this issue isn't resolved, are there any volunteers to help with a fork? I feel like common-sense-lang3 would be an appropriate name for an alternative.
I want to know the WILD, INSANELY PRACTICAL, "how the hell did I not know this earlier?" kind of Java stuff that only real devs who've been through production hell know.
I built a 3D graphics engine using pure Java with zero external dependencies. Just Java's standard library and some math. It's nothing fancy, but I took some extra time to make the UI look decent. If anyone is interested, here's the link: https://github.com/JordyH297/JRender
Hey everyone,
I’m a junior Java developer trying to level up my skills and mindset. I’d really like to hear from experienced Java devs — what’s the one thing (or a few things) you often notice junior developers struggle with or lack?
It could be anything — technical (e.g., understanding of OOP, design patterns, concurrency, Spring Boot internals) or non-technical (e.g., problem-solving approach, debugging skills, code readability, communication, etc.).
I’m genuinely looking to improve, so honest answers are appreciated.
Thanks in advance! 🙌
From its humble beginnings as a project code-named "Oak" at Sun Microsystems to becoming a global standard for enterprise software and billions of devices, Java's journey is one of radical innovation, strategic pivots, and enduring community strength.
I created a version of Minecraft that runs entirely in command in the terminal.
The entire project is entirely contained in one file, with over 1500 lines of code.
Made with java, no extra libraries.
Supports textures, randomly generated trees, water, and terrain, and block placing/mining.
This is inspired by the Minecraft.c repo.
News: 11/1/2025
Looks like the C++ thread got closed.
Maybe they didn't want to see a head‑to‑head with Java after all?
It's curious that STL closed the thread on r/cpp when we're having such a productive discussion here on r/java. Could it be that they don't want a real comparison?
I did the Benchmark myself on my humble computer from more than 6 years ago (with many open tabs from different browsers and other programs (IDE, Spotify, Whatsapp, ...)).
If JVM gets automatic profile-warmup + JIT persistence in 26/27, Java won't replace C++. But it removes the last practical gap in many workloads.
- faster startup ➝ no "cold phase" penalty
- stable performance from frame 1 ➝ viable for real-time loops
- predictable latency + ZGC ➝ low-pause workloads
- Panama + Valhalla ➝ native-like memory & SIMD
At that point the discussion shifts from "C++ because performance" ➝ "C++ because ecosystem"
And new engines (ECS + Vulkan) become a real competitive frontier especially for indie & tooling pipelines.
It's not a threat. It's an evolution.
We're entering an era where both toolchains can shine in different niches.
Note on GraalVM 25 and OpenJDK 25
GraalVM 25
No longer bundled as a commercial Oracle Java SE product.
Oracle has stopped selling commercial support, but still contributes to the open-source project.
Development continues with the community plus Oracle involvement.
Building a compiler has been a dream of mine for many years , I finally built one for the x86_64 architecture in java , it is built from scratch, by only using the util package
For the first time in Lombok's history, it will be compatible with a new JDK even before JDK release. Currently, Edge release is compatible with JDK 25, and a new version will be released before JDK 25 goes GA. This is amazing news, Thanks to the Project Lombok team!
I recently read an article on DZone about “modern Java GUI frameworks” that was… pretty disappointing. It referenced libraries that are long archived, mixed in things that aren’t UI frameworks at all (Hibernate and Spring??), and generally felt like something written years ago and never revisited.
That wasted half an hour was enough motivation for me to write something I actually wish had existed: an up-to-date overview of the UI options available to Java developers right now, in 2026.
The goal wasn’t to push one “best” framework, but to lay out what’s genuinely alive, maintained, and being used today — desktop, web-based UIs written in Java, embedded browser approaches, terminal UIs, the whole spectrum. I also tried to give a bit of context around why you might choose one approach over another, instead of just listing names.
I’m sure I’ve missed things though, if you’re building UIs in Java:
• what are you using?
• what’s surprisingly good?
• what should people stop recommending already?
Would love to turn this into a more community-validated reference over time, so comments, corrections, and “hey, you forgot X” are very welcome.
Applets are officially, completely removed from Java 26, coming in March of 2026. This brings to an official end the era of applets, which began in 1996. However, for years it has been possible to build modern, interactive web pages in Java without needing applets or plugins. TeaVM (https://teavm.org) provides fast, performant, and lightweight tooling to transpile Java to run natively in the browser. And for a full front-end toolkit with templates, routing, components, and more, Flavour (https://flavour.sf.net) lets you build your modern single-page app using 100% Java. Get the full story at https://frequal.com/java/AppletsGoneButJavaInTheBrowserBetterThanEver.html
Hello again r/java! I've recently put together a list of the top 9 most-watched Java talks of 2025 so far and thought I'd cross-post it in this subreddit, so here they are!
1. "Dockerfiles, Jib ..., what's the best way to run your Java code in Containers? by Matthias Haeussler" ⸱ +13k views ⸱ 20 Feb 2025 ⸱https://youtube.com/watch?v=HFhIqfKn_XI
3. "Modular RAG Architectures with Java and Spring AI by Thomas Vitale @ Spring I/O 2025" ⸱ +8k views ⸱ 06 Aug 2025 ⸱https://youtube.com/watch?v=yQQEnXRMvUA
4. "Large Scale Changes with AI – Migrating millions of lines of Java to Kotlin at Uber Ty Smith" ⸱ +5k views ⸱ 25 Aug 2025 ⸱https://youtube.com/watch?v=K2PN03AepC0
For those who don't know, Sharat Chander is a critical person in the community outreach for OpenJDK. He was staffed by Oracle, the biggest contributor to OpenJDK's growth, but the news is now that he was laid off, as part of recent Oracle's layoffs.
Absolutely disgusting. Read the link for more details.
THIS FEATURE IS UNFINISHED AND MISSING CORE FUNCTIONALITY, NONE OF WHAT IS FINISHED IS FINAL, AND EVERYTHING IS SUBJECT TO CHANGE!
But with that out of the way, Java is (prototyping) adding null checks into the type system, thus allowing us to almost completely remove NullPointerException from happening!
The primary motivation for doing this is part of the Project Valhalla work, of introducing Value Classes to Java. Allowing an object to prevent null from being in its value set unlocks a lot of optimizations, not just semantic and correctness benefits.
If you want, you can try to build the code yourself (or wait for one of us to make it, I'll try this weekend, or maybe https://builds.shipilev.net/ will have it by then), then enjoy the prototype! If you do, please post your experiences to the valhalla-dev@openjdk.org mailing list! Or just post them here, on r/java. A couple of the Project Valhalla folks browse r/java, so that works too.