Pues no es tan asi.
La Maquina virtual que corre una PC normal, tien diferencias con la que corren los dispositivos moviles, etc.
Primero que nada, tienes que saber que para estos dispositivos existe una maquina virtual de java J2ME que existe en 2 versiones distintas:
CLC y CLDC
se uno u otro segun la capacidad de proceso del dispositivo.
Aqui tienes una guia sobre esto:
link