Está en la página 1de 5

Java es un lenguaje de desarrollo de propsito general, y como tal es vlido para realizar todo tipo de aplicaciones profesionales.

Una de las caractersticas ms importantes es que los programas ejecutables, creados por el compilador de Java, son independientes de la arquitectura. Se ejecutan indistintamente en una gran variedad de equipos con diferentes microprocesadores y sistemas operativos. De momento, es pblico. Puede conseguirse un JDK (Java Developer's Kit) o Kit de desarrollo de aplicaciones Java gratis. No se sabe si en un futuro seguir sindolo. Permite escribir Applets (pequeos programas que se insertan en una pgina HTML) y se ejecutan en el ordenador local. Se pueden escribir aplicaciones para intrarredes, aplicaciones

cliente/servidor, aplicaciones distribuidas en redes locales y en Internet. Es fcil de aprender y est bien estructurado. Las aplicaciones son fiables. Puede controlarse su seguridad frente al acceso a recursos del sistema y es capaz de gestionar permisos y criptografa. Tambin, segn Sun, la seguridad frente a virus a travs de redes locales e Internet est garantizada. Aunque al igual que ha ocurrido con otras tecnologas y aplicaciones, se han descubierto, y posteriormente subsanado, agujeros en la seguridad de Java. Java es un lenguaje de propsito general, puede programarse en l cualquier cosa: Aplicaciones independientes. Como con cualquier otro lenguaje de propsito general. Applets. Pequeas aplicaciones que se ejecutan en un documento HTML, siempre y cuando el navegador soporte Java, como ocurre con los navegadores HotJava y las ltimas versiones de Netscape y el explorador de Internet de Microsoft. Caractersticas del lenguaje.

Es intrnsecamente orientado a objetos. Funciona perfectamente en red. Aprovecha caractersticas de la mayora de los lenguajes modernos evitando sus inconvenientes. En particular los del C++. Tiene una gran funcionalidad gracias a sus libreras (clases). NO tiene punteros manejables por el programador, aunque los maneja interna y transparentemente. El manejo de la memoria no es un problema, la gestiona el propio lenguaje y no el programador. Genera aplicaciones con pocos errores posibles. Incorpora Multi-Threading (para permitir la ejecucin de tareas concurrentes dentro de un mismo programa. El lenguaje Java puede considerarse como una evolucin del C++. La sintaxis es parecida a la de este lenguaje. A pesar de que puede considerarse como una evolucin del C++ no acarrea los inconvenientes del mismo, ya que Java fue diseado partiendo de cero, es decir, no necesitaba ser compatible con versiones anteriores de ningn lenguaje como ocurre con C++ y C. Gracias a que fue diseado partiendo de cero ha conseguido convertirse en un lenguaje orientado a objetos puro, limpio y prctico. No permite programar mediante otra tcnica que no sea la programacin orientada a objetos (POO en adelante). Una vez compilado el programa, se crea un fichero que almacena lo que se denomina bytecodes o j_code (pseudocdigo prcticamente al nivel de cdigo mquina). Para ejecutarlo, es necesario un intrprete, la JVM (Java Virtual Machine) mquina virtual Java. De esta forma, es posible compilar el programa en una estacin UNIX y ejecutarlo en otra con Windows utilizando la mquina virtual Java para Windows. Esta JVM se encarga de leer los bytecodes y traducirlos a instrucciones ejecutables directamente en un determinado microprocesador, de una forma bastante eficiente.

Que el programa deba ser interpretado no hace que sea poco eficiente en cuanto a velocidad, ya que la

interpretacin se hace prcticamente al nivel de cdigo mquina.

Esta deficiencia en cuanto a la velocidad, puede ser aminorada Just-InTime por (JIT). los Un

compiladores

compilador JIT transforma los bytecodes de un programa o un applet en cdigo nativo de la plataforma donde se ejecuta, por lo que es ms rpido.

El

lenguaje

Java

es

robusto.

Las

aplicaciones creadas en este lenguaje son susceptibles de contener pocos errores, principalmente porque la gestin de memoria y punteros es realizada por el propio lenguaje y no por el programador. Bien es sabido que la mayora de los errores en las aplicaciones vienen producidos por fallos en la gestin de punteros o la asignacin y liberacin de memoria. Adems, el lenguaje contiene estructuras para la deteccin de excepciones (errores de ejecucin previstos) y permite obligar al programador a escribir cdigo fiable mediante la declaracin de excepciones posibles para una determinada clase reutilizable.

La Mquina Virtual Java (JVM).

La mquina virtual Java es la idea revolucionaria1 del lenguaje. Es la entidad que proporciona la independencia de plataforma para los programas Java compilados en byte-code.

FIGURA: Un mismo programa fuente compilado en distintas plataformas o sistemas operativos, genera el mismo fichero en byte-code. Esto es lgico, ya que se supone que el compilador de Java traduce el fichero fuente a cdigo ejecutable por una mquina que nicamente existe en forma virtual (aunque se trabaja en la construccin de microprocesadores que ejecuten directamente el byte-code). Evidentemente, si un mismo programa en byte-code puede ser ejecutado en distintas plataformas es porque existe un traductor de ese byte-code a cdigo nativo de la mquina sobre la que se ejecuta. Esta tarea es realizada por la JVM.

Bueno, no completamente revolucionario, otros sistemas en el pasado, como por ejemplo el Pascal UCSD compilaban a un cdigo intermedio (p-code) que luego era interpretado al ejecutar el programa. No obstante, esta estrategia no es la habitual en la mayora de lenguajes, al menos no lo ha sido hasta ahora.

Existe una versin distinta de esta JVM para cada plataforma. Esta JVM se carga en memoria y va traduciendo al vuelo, los byte-codes a cdigo mquina. La JVM no ocupa mucho espacio en memoria, pinsese que fue diseada para poder ejecutarse sobre pequeos electrodomsticos como telfonos, televisores, etc. (EL LENGUAJE DE PROGRAMACIN JAVA)

Bibliografa
EL LENGUAJE DE PROGRAMACIN JAVA. (s.f.). Recuperado el 23 de SEPTIEMBRE de 2013, de Un mismo programa fuente compilado en distintas plataformas o sistemas

También podría gustarte