Rust is a low-level language, and the compiler produces a binary output that does not require additional tricks to work. All the logic for removing unnecessary objects is integrated into the code at compile time, so there is no run-time garbage collector. Rust also has no empty references and is type safe, which makes it even more reliable than Java.