Un jeu en java est exécuté par une machine virtuelle (ça permet de porter le jeu sur tous les systèmes d'exploitation possédant une telle machine virtuelle) sans changer quoi que ce soit au programme.
Une différence entre C++ et Java est qu'il n'y a pas besoin de se soucier de quelques petits problèmes qu'on rencontre en C++ (entre autre utilisation de références pour prendre moins de place).
Comme le jeu est encore en développement, je pense qu'il n'a pas encore été optimisé, ce qui fait qu'il a besoin de plus de capacités qu'un jeu fini.
Et sinon, c'est ta mémoire vive qui est insuffisante pour faire tourner le jeu correctement.