Comparing Rust and Java
" so it’s just-in-time compiled" and "As a fully compiled language, Rust isn’t as portable as Java (in theory)"<p>Look, JIT and static compilation are just compilation mechanisms. You can apply them to pretty much any language you want.  You can statically compile java[1].  You can JIT Rust. You can compile java with llvm (Azul does it). You can interpret java, rust, C++, etc.<p>You can have hybrids where you start with an optimized statically compiled form and reoptimize it at runtime.<p>Don't ever tie current optimization mechanisms to comparisons of <i>languages</i>. 
If it's really important to gain performance, someone will do it.<p>For example, JIT of C++ is often not done because it's not worth it compared to automatic profiling and other reoptimization mechanisms.  But it can be done :)<p>If you want to compare languages, compare languages.
If you want to compare particular implementations of languages, compare particular implementations of languages.  Don't say you are doing one and do the other, because it's confusing, and, well, if it matters enough, someone will come along and make you wrong.<p>:)<p>[1]  If you are willing to guarantee no class loading. Otherwise, you can statically compile everything that is loaded or run an interpreter or do what you want to new code at runtime