Bytecode y Maquina Virtual de Java
Una particularidad de Java es que este lenguaje utiliza una maquina
virtual. El lenguaje comprensible para el programador no es traducido al
lenguaje especifico del procesador que debe ejecutar el programa, pero si que
es traducido al lenguaje de un procesador virtual. Esta traducción es efectuada
por un compilador. El código resultante es llamado bytecode. Por el momento, es
necesario un componente de software particular para pasar de este lenguaje al
del procesador, para que este pueda ejecutar el programa de verdad. Este
componente de software (interprete) es llamado Maquina Virtual Java o JVM (Java
Virtual Machine). La JVM puede cargar el código bytecode en memoria y
ejecutarlo, instrucción por instrucción. En este caso, se habla de un intérprete.
La JVM también puede traducir el bytecode al lenguaje del procesador real.
Entonces se trata de un compilador. La diferencia más importante de un
compilador es que este abre el fichero que contiene el programa Java, lo
traduce al código bytecode y coloca el resultado en un nuevo fichero. El
compilador ha traducido en un abrir y cerrar de ojos, el bytecode en
instrucciones maquina que son ejecutadas de forma inmediata por el procesador.
IDE(Integrated Development Environment)
Un entorno de desarrollo integrado (en inglés integrated
development environment) es un programa
informático compuesto
por un conjunto de herramientas de programación.
Puede dedicarse en exclusiva a un
sólo lenguaje
de programación o bien,
poder utilizarse para varios.
Un IDE es un entorno de programación que ha sido empaquetado
como un programa de aplicación, es decir, consiste en un editor de código, un
compilador, un depurador y un constructor de interfaz gráfica (GUI).
Nótese que el gusto en los IDEs es un asunto de gusto
personal, pero Eclipse, JBuilder, y Sun Java Studio (en ese orden) parecen ser
las opciones más populares, al menos por la opción de ser gratuitos & de
bajo costo.
Algunos IDEs…
·
Eclipse
·
Borland JBuilder: Windows, Solaris & Linux
·
Sun
Java Studio Creator (NetBeans): Windows, Solaris & MacOS
·
IBM
WebSphere Studio Site Developer for Java: Windows & Linux
·
Macromedia
Dreamweaver
·
WebLogic
Workshop
·
Oracle
JDeveloper
·
IntelliJ
IDEA
·
JCreater
·
Javelin
from Step Ahead SW
Características
de Java
·
Sencillo,
orientado a objetos y familiar: Sencillo, para que no requiera grandes
esfuerzos de entrenamiento para los desarrolladores. Orientado a objetos,
porque la tecnología de objetos se considera madura y es el enfoque más
adecuado para las necesidades de los sistemas distribuidos y/o
cliente/servidor. Familiar, porque aunque se rechazo C++, Java se mantuvo lo
más parecido al lenguaje, eliminando sus complejidades innecesarias, para
facilitar la migración al nuevo lenguaje,
·
Robusto
y seguro: Robusto, simplificando la gestión de memoria y eliminando las
complejidades de punteros del C. Seguro para que pueda operar en un entorno de
red.
·
Independiente
de la arquitectura y portable: Está diseñado para soportar aplicaciones que
serian instaladas en un entorno de red heterogéneo, con hardware y sistemas
operativos diversos. Es portable en el sentido de que es rigurosamente el mismo
lenguaje en todas las plataformas.
·
Interpretado,
multi-hilo y dinámico: El interprete Java puede ejecutar bytecodes en cualquier
maquina que disponga de una Maquina Virtual Java (JVM). Además Java incorpora
capacidades avanzadas de ejecución multi-hilo y proporciona mecanismos de carga
dinámica de clases en tiempo de ejecución.
No hay comentarios:
Publicar un comentario