Java ejecuta en Bitcode , compilado en lo que se conoce como la máquina virtual de Java. Aunque los mecanismos subyacentes de la Máquina Virtual Java difieren de un sistema a otro , la propia máquina presenta un entorno de desarrollo uniforme. Por lo tanto , una aplicación de Java diseñada en un sistema Unix se ejecutará de la misma manera en la JVM de un sistema Windows o Mac . Esto hace que la portabilidad de Java un idioma importante , ya que reduce el tiempo de desarrollo y aumenta el desarrollo de plataforma cruzada .
Java y la Web
Java se ejecuta en los servidores Web , así, proporcionar lo que se suele conocer como applets a los usuarios a través de sus navegadores web . El usuario debe tener el entorno de ejecución de Java instalado para utilizar los applets . Sin embargo , Java en la Web logra lo que hace Java para el desarrollo de escritorio : aumenta la portabilidad y la accesibilidad a través de una interfaz de código estándar . Los desarrolladores no tienen entonces para desarrollar aplicaciones que los navegadores o sistemas de destino , y los usuarios sólo necesitan el JRE libre para acceder al contenido .
Java y del mercado de mano
muchos teléfonos utilizan Java como base para la funcionalidad de las aplicaciones móviles . El Java Micro Edition ( ME ) ofrece un entorno para aplicaciones Java en una amplia variedad de dispositivos móviles , que van desde los teléfonos celulares de gama baja a los teléfonos inteligentes totalmente cargados . Dado que las funciones Java ME en una variedad de teléfonos de las empresas más pequeñas pueden desarrollar aplicaciones para un mercado más amplio con menos esfuerzo .
Java y multithreading
En todos estos ejemplos , Java pueden aprovechar el soporte multithreading incorporado . Multithreading significa que los programadores pueden aprovechar la concurrencia , los programas que se ocupan de múltiples tareas al mismo tiempo a escribir . Esta función aporta flexibilidad y poder para programas Java en cualquier plataforma. Un programa Java puede recibir datos de la red durante el procesamiento de los datos y realizar operaciones para mostrar los datos al usuario.