Что означает платформа?
Ответ действительно зависит от контекста слова «платформа».
Но когда вы говорите о платформе Java, в большинстве случаев речь идет о JVM + JRE + JDK, это весь пакет Java.
Почему JVM отличается от ОС к ОС?
Почему вы не можете просто использовать JVM для Windows Sun в Linux, во-первых, Linux и Windows не выполняют двоичные файлы одинаково, поэтому у вас должны быть две разные двоичные версии. Кроме того, вы не можете получить доступ к файлам или взаимодействовать с системой одинаково в двух ОС.
Какие версии JVM доступны?
- Sun JVM (сейчас оракул)
- IcedTea JVM
- KVM (для JME)
- CVM (тоже JME)
- Apache Harmony
- Oracle JRockit
- и многое другое
Почему так много версий JVM?
Просто потому, что платформа java - это, в основном, набор спецификаций "Как запускать приложения Java".
Таким образом, любой может создать свою собственную действительную JVM, если он соблюдает спецификации.
А про .NET?
См. @Jon Skeet's answer :)
Ресурсы: