我知道关于Java的一件大事就是它与平台无关,因为您可以创建Java应用程序并使其在Windows,Linux,Mac等中运行,只要您不需要具体到一个操作系统,并利用图书馆,只要你安装了适当的操作系统正确解释事物的JVM ...为什么Java平台在理论和平台上独立于实践?
但是,为什么就不能正常的计算机Java程序(如在一个简单的Hello World在Java,例如Windows或Linux)在手机中的运行方式也是如此,当手机还安装了特定的JVM来正确解释事物时?
为什么要更改程序的结构在某些情况下,如Android开发,或使用Java ME使应用程序特定的一些普通的手机?
我知道有些功能与操作系统的某些功能有关,例如可能不适用于移动平台,比如某些与控制台,输入法等相关的东西,但这是真的是使事情不兼容的唯一原因?如果是这样的话,为什么只有声明和初始化一个整型变量的简单应用程序才能够在所有具有JVM可用的非移动和移动平台上运行?
我知道之前已经发布的其他问题,如this,但不关注我的目标在这里确切点。
你自己回答:有不同的环境 - 并不是所有的环境都是平等的(有些强度和/或约束力都不是很强)。即使是“线索”的想法可能也不会统一传递。 Android甚至不运行真正的JVM(它编译为它自己的格式)。 – 2010-11-10 00:20:14