By default, the program strace does not trace child processes. However, the Java VM creates early in the process a child process for the actual work. That's the reason, why the two different programs generate the same result when invoked with strace.
To also trace child processes, use the option -f
to strace, i.e.:
strace -f java Hello