Vous êtes sur la page 1sur 24

1

Java es un lenguaje de programacin de Sun Microsystems originalmente llamado "Oak.

James Gosling

Bill Joy

Oak naci para programar pequeos dispositivos electrodomsticos, como los asistentes personales digitales PADs (Personal Digital Assistants) y un poco ms adelante se utiliz para ejecutar aplicaciones para televisores. Ninguno de estos productos tuvo xito comercial. Gosling y Joy se quedaron con una tecnologa robusta, eficiente, orientada a objetos, independiente de la arquitectura, pero hasta ese momento, sin ninguna utilidad prctica.
3

No pas mucho tiempo, cuando en Sun se dieron cuenta de que todas estas caractersticas cubran a la perfeccin las necesidades de las aplicaciones de Internet. De esta manera, con unos cuantos retoques, Oak se convirti en Java. SERVLET HTTP TCP UDP RMI IP

Mquina Virtual vs Lenguajes Interpretados

El concepto de mquina virtual es antiguo. Fue usado por IBM en 1959 para describir uno de los primeros sistemas operativos que existieron en la historia de la computacin, el VM. En 1970, el ambiente de programacin de SmallTalk llev la idea a un nuevo nivel y construy una mquina virtual para soportar abstracciones orientadas a objetos de alto nivel, sobre las mquinas subyacentes. Como ya hemos esbozado, las mquinas virtuales tienen varias ventajas importantes. La primera es que presentan un medio excelente para alcanzar la portabilidad. Otra de las ventajas importantes, es que introduce otro nivel de abstraccin y de proteccin, entre la computadora y el software que ejecuta sobre ella. Esto cobra particular importancia en un ambiente donde el cdigo que ejecutamos proviene de algn lugar del mundo y es escrito por alguna "buena" persona.
5

Lenguajes Totalmente Interpretados

Es posible decir que los lenguajes totalmente interpretados, como Tcl y JavaScript, tambin poseen las cualidades de ser altamente portables y seguros, pero existe una diferencia importante entre este tipo de lenguajes y los basados en una mquina virtual: la eficiencia. Para ejecutar un programa escrito en un lenguaje completamente interpretado, el intrprete debe realizar el anlisis lxico y sintctico en el momento de estar ejecutando el programa, lo que provoca una sobrecarga muy considerable en la ejecucin del mismo. De hecho, en algunas pruebas informales Tcl puede ser hasta 200 veces ms lento que C.

10

Lenguajes Compilados de Cdigo Intermedio

Los lenguajes basados en una mquina virtual, comnmente son ms rpidos que los totalmente interpretados, debido a que utilizan una arquitectura de cdigo intermedio. La idea es dividir la tarea de ejecutar un programa en dos partes. En la primera, se realiza el anlisis lxico y sintctico del programa fuente, para generar el programa en instrucciones del procesador virtual (cdigo intermedio) y en el segundo paso, se itera sobre el cdigo intermedio para obtener la ejecucin final del programa. Los lenguajes compilados de cdigo intermedio, pueden llegar a ser un orden de magnitud ms rpido que los lenguajes completamente interpretados, pero, por consiguiente, un orden de magnitud ms lentos que lenguajes optimizados como C o C++

11

Propiedades del Lenguaje Java


Se dice que el cdigo Java es portable , debido a que es posible ejecutar el mismo archivo de clase (.class), sobre una amplia variedad de arquitecturas de hardware y de software, sin ninguna modificacin. Java es un lenguaje dinmico, debido a que las clases son cargadas en el momento en que son necesitadas (dinmicamente), ya sea del sistema de archivos local o desde algn sitio de la red mediante algn protocolo URL. Java tiene la capacidad de aumentar su sistema de tipos de datos dinmicamente o en tiempo de ejecucin. Este "enlace tardo" (late-binding) significa que los programas slo crecen al tamao estrictamente necesario, aumentando as la eficiencia del uso de los recursos. Java hace menos suposiciones sobre las implantaciones de las estructuras de datos, que los lenguajes estticos de "enlace temprano" o en tiempo de compilacin (early-binding) como C o C++.
12

Propiedades del Lenguaje Java

Debido a que Java naci en la era post-Internet, fue diseado con la idea de la seguridad y la fiabilidad, por lo que se le integraron varias capas de seguridad para evitar que programas maliciosos pudiesen causar daos en los sistemas, sobre los que ejecuta la implantacin de la Mquina Virtual Java.

13

La Mquina Virtual Java (MVJ)


La Mquina Virtual Java es el ncleo del lenguaje de programacin Java. De hecho, es imposible ejecutar un programa Java sin ejecutar alguna implantacin de la MVJ. En la MVJ se encuentra el motor que en realidad ejecuta el programa Java y es la clave de muchas de las caractersticas principales de Java, como la portabilidad, la eficiencia y la seguridad. Siempre que se corre un programa Java, las instrucciones que lo componen no son ejecutadas directamente por el hardware sobre el que subyace, sino que son pasadas a un elemento de software intermedio, que es el encargado de que las instrucciones sean ejecutadas por el hardware. Es decir, el cdigo Java no se ejecuta directamente sobre un procesador fsico, sino sobre un procesador virtual Java, precisamente el software intermedio del que habamos hablado anteriormente.
14

La Mquina Virtual Java (MVJ)


La representacin de los cdigos de instruccin Java (bytecode) es simblica, en el sentido de que los desplazamientos e ndices dentro de los mtodos no son constantes, sino que son cadenas de caracteres o nombres simblicos. Estos nombres son resueltos la primera vez que se ejecuta el mtodo, es decir, el nombre simblico se busca dentro del archivo de clase (.class) y se determina el valor numrico del desplazamiento. Este valor es guardado para aumentar la velocidad de futuros accesos. Gracias a esto, es posible introducir un nuevo mtodo o sobrescribir uno existente en tiempo de ejecucin, sin afectar o romper la estructura del cdigo.
15

La Mquina Virtual Java (MVJ) En la FIGURA puede observarse la capa de software que implementa a la mquina virtual Java. Esta capa de software oculta los detalles inherentes a la plataforma, a las aplicaciones Java que se ejecuten sobre ella. Debido a que la plataforma Java fue diseada pensando en que se implementara sobre una amplia gama de sistemas operativos y de procesadores, se incluyeron dos capas de software para aumentar su portabilidad.

16

La Mquina Virtual Java (MVJ) La primera dependiente de la plataforma es llamada adaptador, mientras que la segunda, que es independiente de la plataforma, se le llama interfaz de portabilidad. De esta manera, la nica parte que se tiene que escribir para una plataforma nueva, es el adaptador. El sistema operativo proporciona los servicios de manejo de ventanas, red, sistema de archivos, etctera.

17

18

Tipos de Aplicaciones

a) Aplicaciones Son los programas bsicos de Java. Se ejecutan en una determinada mquina, por el Java Runtime Enviroment (JRE). Para crear una aplicacin hace falta incluir en alguna de las clases que compongan la aplicacin un mtodo denominado: public static void main(String[] s){ } Hay que indicar al JRE (comando java del JDK) el nombre de la clase (previamente compilada a .class), que queremos ejecutar. Cuando se ejecute el programa lo que realmente se ejecutar ser el mtodo main() de la clase indicada al JRE. Las aplicaciones soportan mtodos nativos, o sea, incluir en el programa cdigo escrito en otros lenguajes de programacin, as como violar algunas de las directrices de seguridad. En cada fichero Java (.java) slo debe haber una clase pblica.

19

Tipos de Aplicaciones

b) Applets Las applets o miniaplicaciones Java, son programas que deben incluirse en pginas Web para ser observadas por otra aplicacin (visualizador de applets o navegador Web), y que se ejecutan cuando el usuario intenta visualizarlas (cargando la pgina Web). Las applets deben incluir un mtodo de nombre start(), que ser ejecutado cuando el navegador intente mostrar por pantalla la applet. Estas aplicaciones, son seguras (cumplen la especificacin Java), y al ser distribuibles por Internet no permiten incluir mtodos nativos Java.

20

Tipos de Aplicaciones
c) JavaBeans Los JavaBeans son componentes grficos de Java, que se pueden incorporar a otros componentes grficos. Se incluyen en la API de Java (paquete java.beans). Existe una herramienta de Sun, denominada BDK (Beans Developer Kit), que es un conjunto de herramientas para desarrollar JavaBeans. El BDK, es el JDK para el desarrollo de JavaBeans. Existen ya multitud de bibliotecas con JavaBeans, para que puedan ser utilizados.

21

Tipos de Aplicaciones

d) JavaScript JavaScript es un subconjunto del lenguaje Java que puede codificarse directamente sobre cualquier documento HTML; el cdigo fuente de JavaScript forma parte del propio documento HTML. JavaScript tiene menos potencia que Java, a cambio de ms control sobre el navegador Web que lo ejecute. Se utiliza sobre todo para dar animacin e interactividad a pginas Web. JavaScript posee una habilidad limitada para interactuar con applets Java, pero Java no puede interactuar de ningn modo con JavaScript.

22

Tipos de Aplicaciones

e) Servlets Son mdulos que permiten sustituir o utilizar el lenguaje Java en lugar de programas CGI (Common Gateway Interface) a la hora de dotar de interactividad a las pginas Web. Estas aplicaciones se ejecutan como aplicaciones servidoras en Internet, y normalmente incluyen bucles infinitos a la espera de peticiones a las que atender. Los Servlets no tienen entorno grfico, ya que se ejecutan en el servidor. Reciben datos y su respuesta ms habitual suele ser cdigo HTML (pginas Web).

23

Software de Desarrollo
- Jbuilder de Borland - Visual J++ de Microsoft - Visual AGE de IBM - JDK de SUN - Java Development Kit Setup JDK paquete de desarrollo de Java - Stardart Edition JDKSE - Entrepise Edition JDKEE - En el disco duro se crea una carpeta JDK_1.4.x y en la carpeta BIN tiene los siguientes: ficheros: appletviewer.exe, java.exe, javac.exe - Eclipse Project Open Source

24

Vous aimerez peut-être aussi