Я знаю, что одной из важных особенностей Java является то, что она не зависит от платформы в том смысле, что вы можете создавать приложения Java и запускать их в Windows, Linux, Mac и т. Д., Пока вы не t использовать библиотеки, специфичные для одной ОС, и если у вас установлена JVM для соответствующей ОС, чтобы правильно интерпретировать вещи ...
Однако, почему обычная компьютерная Java-программа (как в простом Hello World на Java, например, для Windows или Linux) не может работать так же на мобильном телефоне, когда на мобильных телефонах также установлена определенная JVM для правильно интерпретировать вещи?
Почему необходимо изменить архитектуру программы в некоторых случаях, например, для разработки под Android, или использовать Java ME, чтобы сделать приложения специфичными для некоторых мобильных телефонов?
Я знаю, что есть некоторые функции, связанные с определенными функциями ОС, которые могут не применяться, например, на мобильных платформах, например, некоторые вещи, связанные с консолью, методами ввода и т. Д., Но действительно ли это единственная причина, которая делает вещи несовместимыми? Если это так, то почему простое приложение, которое просто объявляет и инициализирует целочисленную переменную, не сможет работать на всех немобильных и мобильных платформах, на которых доступна JVM?
Мне известны другие вопросы, которые были опубликованы ранее, например, this , но они не сфокусированы на точной точке, к которой я стремлюсь.