On a side note, I worked on Jpcsp, a PSP emulator in Java. Great for research and doing refactoring in the code quickly, not great for performance, even with a JIT. We wrote later PPSSPP in C++, performance was there quite easily.
Could you provide some more information on what it was not great?
On Java 11 or later, I wouldn't expect it to be nearly such a big deal. At least not relative to some other issues. For example, it being a reflective language means that there's a fair amount of memory overhead that's really only there to support features that aren't so useful in games development. Also, there's a fair bit of overhead, in terms of both CPU and memory churn, to making calls into native libraries from Java. Nowadays, neither of those is a big deal for a large swathe of games, either, so I don't think one can really make a blanket statement that Java is not great for games development.
Might as well just use C/C++ instead of fighting the ecosystem tooth and nail.
Do you an example in mind? Unity3D uses C# which is a garbage collected language.
Take Escape From Tarkov, an FPS that tries to be a AAA game and uses Unity. The performance problems that game has is frankly staggering.
Unity is a lot easier to get started with than UE4, so I understand the popularity. But for some games, the player can really tell how inappropriate the engine is. You can feel the GC churning away: poor performance, high dispersion of fps, frequent stuttering, etc.
While any game using any engine could have these problems, it's especially prominent in unity games.