例えば、C++だとポインタと参照とで別々の記法になってて
Javaでは参照に統一されてるわけだけど
そんな感じの違いによって、C++では可能だけどJavaでは不可能、
逆に、Javaでは出来るけどC++では出来ない最適化とか
あったりするんだろうか?

現時点でそういう最適化が(できる|できない)(コンパイラ|VM)が存在(する|しない)とかの話じゃなくて、
言語の本質としてっつーか。数学的or計算機科学的に証明されているっつーか。