Welcome to the Ranch.
As people have said, anything platform dependent. For things like operating systems you would require access to the numbers which represent memory locations (called pointers), which is impossible in Java.
For nuclear power plants, aircraft controls, etc, people tend to use programming which has a very small "footprint," ie fewer kB in the whole code than there are MB in Java, because (as Ulf Dittmer says), intensive
testing is much easier on a small language.
I have a friend who works in railway signalling etc, and he told me once they got a PC and put a "cut-down version of Linux" on it, which occupies about 15kB, so there was so much less to test for reliability.