简单的说就是与操作系统无关
windows下写java程序一样可以
在linux下运行,原因在于java虚拟机

解决方案 »

  1.   

    前端:词法分析,语法分析,语意分析,中间代码生成,中间代码优化
    后端:最终代码生成而java是.java->.class,.class是一个bytecode,这就是一个中间代码,
    最后针对不同的machine,用不同的vm,虚拟机,来生成最终代码。
    ok
      

  2.   

    主要是各种数据结构在任何物理平台上的内存占用相同吧。例如,Java的int型在任何硬件平台上都占用32bit内存。这是跨平台的基础。
      

  3.   

    其实java的跨平台也是基于java虚拟机而言的,无论什么操作系统,java首先要通过java虚拟机进行编译成class文件。可以参考一下java虚拟机的文章看看。