Cutting edge systems are not targeting Java. A small example off the top of my head: EdgeDB has no vendor supported Java client. TypeScript, Python and Golang are supported, but no Java. Ten years ago Java would have been a tier one target for such work. There are many other examples of this.
Java has next to no play in ML.
In its traditional form of compiled bytecode+runtime Java is a bad choice in cloud environments. Excessive RAM usage and slow startup create limitations and increase costs. There are techniques to deal with this, but adopting these comes with their own compromises.
Java still doesn't have a lightweight concurrency story. Project Loom and its Fibers are still at "early access" stage and it will be many years before it is mainstream and well integrated into common dependencies.
Java is far behind some newer languages with regard to safety. Yes Java is essentially memory safe and this has provided great value, but NPEs and some other common faults are are serious problem for Java due to the design of the language. Better designed languages have superior solutions for handling failures and have left Java behind, and there is little evidence that this is going to change via language improvements.