JAVA程序必须在安装JVM的机器上运行。
JVM是Java Virtual Machine(Java虚拟机)的缩写,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。
C++程序也要有虚拟机,不过WINDOWS本来就是C语言编写的,而C++也是脱胎自C,所以系统自带有虚拟机,就不用特意安装
Java运行需要JRE ( Java Runtime Environment, Java运行环境),JDK包含了它,实际上二者都是提供了一个虚拟机JVM(Java Virtue Machine)。因为Java是设计为跨平台的,编译好以后是.class的文件,而它在不同平台(也就是操作系统)上依赖的虚拟机(JVM)是不一样的。
所以,如果别的机器没有安装JRE或JDK是不能运行的。JRE或JDK可以到oracle网站上下载到适合自己平台的最新版本。
Java源代码编译好后一般是.class文件或打包的jar,这种情况是必须要JRE/JDK的。
至于你说的Java生成的是exe文件,有可能是把JRE打包进去了(exe4j这个软件能做到),那就不用再安装JRE了。也有可能没有打包,需要分情况判断。
C++能够编译生成平台本地代码(Native code),也就是说在那个平台上直接编译好的是二进制可执行文件,不需要。
楼主你是怎么生成exe文件的告诉告诉我百