C++ c'est compilé donc plus rapide
java c'est sur une machine virtuelle donc plus lent mais plus portable
c++ propose les template alors que java non (enfin le dernier java en propose mais ils sont loins d'avoir la puissance des template du c++)
Les utilisations ne sont pas les mêmes (applet java,...).
Les librairies disponibles ne sont pas les mêmes (par exemple qt, boost, gtk pour c++, alors que java propose awt et swing) .
Bonne chance