Java es un lenguaje de programación de propósito general orientado a objetos desarrollado por Sun
Microsystems.
Java implementa la tecnología básica de C++ con algunas mejoras y elimina algunas cosas para
mantener el objetivo de la simplicidad del lenguaje. Java trabaja con sus datos como objetos y con
interfaces a esos objetos. Soporta las tres características propias del paradigma de la orientación a
objetos: encapsulación, enlace dinámico y polimorfismo. Los modelos de objetos son llamados, como
en C++, clases y sus copias, instancias. Estas instancias, como en C++, necesitan ser construidas y
destruidas en espacios de memoria.
Java es una tecnología que no sólo se reduce al lenguaje sino que además provee de una máquina
virtual Java que permite ejecutar código compilado Java
Java implementa la tecnología básica de C++ con algunas mejoras y elimina algunas cosas para
mantener el objetivo de la simplicidad del lenguaje. Java trabaja con sus datos como objetos y con
interfaces a esos objetos. Soporta las tres características propias del paradigma de la orientación a
objetos: encapsulación, enlace dinámico y polimorfismo. Los modelos de objetos son llamados, como
en C++, clases y sus copias, instancias. Estas instancias, como en C++, necesitan ser construidas y
destruidas en espacios de memoria.
El lenguaje se inspira en otros lenguajes: -Sentencias comunes de C y C++ (sintaxis parecida a
dichos lenguajes) -Concurrencia parecida a la de Mesa (un lenguaje de investigación de Xerox)
-Interrupciones parecidas a las de Modula-3 -Tratamiento de enlace dinámico de código nuevo
parecido al de Lisp -Definiciones de interfaces parecidas a las de Objective C -Gestión de
almacenamiento automático parecida a la de Lisp
El código Java pasa muchos tests antes de ejecutarse en una máquina. El código se pasa a través de
un verificador de bytecodes que comprueba el formato de los fragmentos de código y aplica un
probador de teoremas para detectar fragmentos de código ilegal -código que falsea punteros, viola
derechos de acceso sobre objetos o intenta cambiar el tipo o clase de un objeto
El apoyo a esta tecnología viene dado por la gran cantidad de fabricantes que apoyan esta
especificación de máquina virtual.