Plataforma Java

Además, las aplicaciones Java pueden usarse de forma variada, como por ejemplo ser incrustadas en una página web.

El JRE es lo mínimo que debe contener un sistema para poder ejecutar una aplicación Java sobre el mismo.

Este hecho es lo que ha dado lugar a la famosa frase: “write once, run anywhere” (escribir una vez, ejecutar en cualquier parte).

Esta segunda compilación del código penaliza en cuanto a tiempo, pero el código nativo resultante se ejecuta de forma más eficaz y rápida que si fuera interpretado.

Otras técnicas de compilación dinámica del código durante el tiempo de ejecución permiten optimizar más aún el código, dejando atrás la losa que sobre Java caía en cuanto a su lentitud y en sus últimas versiones la JVM se ha optimizado a tal punto que ya no se considera una plataforma lenta en cuanto a ejecución de aplicaciones.

Sin embargo, no se puede decir que Java pueda compilar el código con un máximo de eficiencia, y aprovechar los beneficios en cuanto a velocidad de código máquina nativo.

Aunque los compiladores cada vez son más avanzados, no todas las bibliotecas de Java tienen asociado un código máquina equivalente que utilizar.

Por ejemplo, la biblioteca “reflect”, que permite a los programadores de Java explorar instrucciones que sólo están disponibles en tiempo de ejecución, está pobremente representado por código máquina.

En estos casos, las bibliotecas bien pueden emular esas funciones usando lo que esté disponible, o bien ofrecer un mecanismo para comprobar si una funcionalidad concreta está presente.

El propio lenguaje y el entorno en tiempo de ejecución suelen considerarse una única entidad.

Algunos de estos lenguajes son: El éxito de Java y el concepto y eslogan «Write once, run anywhere» (‘escribir una vez, ejecutar en cualquier parte’), ha dado lugar a que se lleven a cabo iniciativas en el mismo sentido.