首先,Java提供了JDK,供开发人员进行java开发,开发出的Java文件本身并不具备平台无关的特性。Java文件编译后,生成的class二进制文件。SUN提供了各个平台下的JRE:Windows下的,Linux下的,UNIX下的。编译后的class文件,就在各个平台下的jre上运行了。简单的说,就是因为jre的存在。