我知道Java的一个重要特点是它具有跨平台性,这意味着只要你不使用特定于某个操作系统的库,并且为适当的操作系统安装了JVM以正确解释事物,你就可以制作一个Java应用程序并在Windows、Linux、Mac等平台上运行。但是,为什么一般的计算机Java程序(例如在Windows或Linux上的简单Hello World)不能在手机上运行,而手机也安装了特定的JVM以正确解释事物?为什么有时需要改变程序的架构,例如Android开发,或者使用Java ME制作特定于某些普通手机的应用程序?我知道有些功能与操作系统的某些功能相关,例如一些与控制台、输入方法等相关的事物,在移动平台上可能不适用,但这真的是使事物不兼容的唯一原因吗?如果是这样,那么为什么一个只声明和初始化整数变量的简单应用程序不能在所有具有可用JVM的非移动和移动平台上运行呢?我知道之前有其他问题发布过,例如这个,但那并不是我在这里关注的确切问题。