Es gibt viele solcher Codes. Jeden Tag nutzen Sie Dutzende von Websites, die dies benötigen. Obwohl sie heutzutage meistens in JavaScript und manchmal Flashs ActionScript geschrieben sind, bleibt der allgemeine Gedanke gleich.
(Denken Sie daran, dass Java hauptsächlich für Applets in Websites eingesetzt wurde - ähnlich wie später in Flash und heute in JavaScript.)
Es gibt auch viel mehr Architekturen als "PC und Mobile". In den letzten zwei Jahrzehnten verwendeten PCs ein paar Dutzend verschiedene CPU-Architekturen - zum Beispiel: 68000, PowerPC, x86, amd64, Alpha, SPARC, ARM, ARM64 - und das sind nur die beliebtesten .
Das schafft also Probleme beim Verteilen der kompilierten Programme.
Mit nativer Code, jeder Besitzer würde die solche Website muß viele verschiedene Versionen des gleichen Programms verteilen - ein für jede CPU - Architektur (denken Sie daran, es ist nicht nur zwei), oder vielleicht sogar für jedes O × CPU - Kombination (wie verschiedene Betriebssysteme unterschiedliche haben Dienste, verschiedene APIs, unterschiedliche Aufrufkonventionen auf derselben CPU).
(Selbst in derselben Architektur werden viele Programme, die für Intel i686 kompiliert wurden, nicht auf i486 ausgeführt, auch wenn dies technisch gesehen x86 ist - jedoch mit unterschiedlichen Funktionen. Zum Beispiel kompiliert Debian Linux alles für i486, sodass es nicht verwendet wird alle modernen CPU-Funktionen, was bedeutet, dass Programme möglicherweise etwas langsamer sind. Auf der anderen Seite ist Arch Linux für i686 kompiliert, sodass es auf einer alten i486-CPU nicht ausgeführt werden kann.)
Mit bytecode kann Sun / Oracle JVMs für alle Architekturen verteilen, und Webmaster müssen nichts anderes tun, sondern nur eine .jar-Datei für alle.