i'm developing apps that do real-time audio and video and any allocation or anything that may end up in a system call directly or indirectly (for instance accessing swapped or mapped but not yet loaded memory) on the hot path is a complete no-go and will instantly cause very audible glitches for audio, and visual frame pacing issues
This DAW uses a mix of Java and C++ for good effect, so at least some people are rather happy with the approach
https://www.bitwig.com/
AFAIK all the core of bitwig (e.g. what has the hot path) is a separate native process with no java in it, communicating with shmem or sockets with the java gui
I have not said otherwise, "This DAW uses a mix of Java and C++ for good effect".
The point being that it does not need to be a black and white approach, one language to rule them all, as many tend to advocate for.