java语言是通过JVM(java虚拟机)来进行编译和执行的,所以,不管是Windows还是Linux,只要是有相应的虚拟机就可以了,操作系统本身对java没什么影响。
C语言在不同的机器上编译成的中间代码是不同的,如不同的机器用于存储的Int类型的数据表示的字节就不一样,而java编译成的字节码在各机器上都是相同的,能被jvm解释成同样的程序
java编译产生的是字节码文件 在java虚拟机中执行 字节码文件不依赖于操作系统 但是虚拟机依赖于操作系统 所以是“一次编译 到处执行”
而C语言编译产生的是exe文件 只能在win下执行 在linux下便无法执行 需要重新编译
JVM(java虚拟机)
简单的说 java运行程序是在这个上运行的,
而什么系统都可以有这个!
c 是在系统底层 依赖系统运行的,所以 这个系统上做的东西在那个系统就不一定能 干了 它!
当然啦,
c 在windows上编绎完,拿到别处要重写代码(虽然改动也不是很大),
java则不用
是JAVA不依赖于操作系统但是它要虚拟机.C就不用虚拟机