Sunteți pe pagina 1din 28

Introduccin a JAVA

Como lenguaje de programacin y plataforma JSE

Relator: Pablo Valenzuela Crcamo

Agenda

Introduccin

Caractersticas de Java

Seguridad

Tipos de aplicaciones

Comenzar con Java

Plataformas o arquitecturas ofrecidas por Java

Entorno de Trabajo

Introduccin a la actualidad del


negocio y las IT
En la actualidad el concepto o trmino IT est cada vez ms
relacionado con el negocio mismo, esto debido a que gracias a
las soluciones tecnolgicas y de la informacin que entregan las
reas informticas a las distintas y cambiantes necesidades de
negocio, se hace necesaria la existencia de un departamento
que entregue soluciones basadas en software para resolver o
automatizar una tarea productiva.

En 1991, la empresa Sun Microsystems crea el lenguaje Oak


(de la mano del llamado proyecto Green). Mediante este lenguaje
se pretenda crear un sistema de televisin interactiva. Este
lenguaje slo se lleg a utilizar de forma interna. Su propsito
era crear un lenguaje independiente de la plataforma y para uso
en dispositivos electrnicos(multipropsito).

Se intentaba con este lenguaje paliar el problema fundamental


del C++; que consiste en que al compilar se produce un fichero
ejecutable cuyo cdigo slo vale para la plataforma en la que se
realiz la compilacin. Sun deseaba un lenguaje para programar
pequeos dispositivos electrnicos. La dificultad de estos
dispositivos es que cambian continuamente y para que un
programa funcione en el siguiente dispositivo aparecido, hay que
rescribir el cdigo. Por eso Sun quera crear un lenguaje
independiente del dispositivo y plataforma.

En 1995 pasa a llamarse Java y se da a conocer al pblico.


Adquiere notoriedad rpidamente. Java pasa a ser un lenguaje
totalmente independiente de la plataforma y a la vez potente y
orientado a objetos. Esa filosofa y su facilidad para crear
aplicaciones para redes TCP/IP ha hecho que sea uno de los
lenguajes ms utilizados en la actualidad. La versin actual de
Java es la release 8. Sus ventajas sobre C++ son:

Su sintaxis es similar a C y C++.

No hay punteros (lo que le hace ms seguro).

Totalmente orientado a objetos.


Muy preparado para aplicaciones TCP/IP.
Implementa excepciones de forma nativa.
Es compilado e interpretado.
Permite multihilos.
Admite firmas digitales.
Tipos de datos y control de sintaxis ms rigurosa.
Es independiente de la plataforma.

La ltima ventaja (quiz la ms importante) se consigue ya que


el cdigo Java no se compila, sino que se precompila, de tal
forma que se crea un cdigo intermedio que no es ejecutable.
Para ejecutarle hace falta pasarle por un intrprete que va
ejecutando cada lnea. Ese intrprete suele ser la mquina
virtual de Java.

Caractersticas de Java

Bytecodes

Un programa C o C++ es totalmente ejecutable y eso hace que no sea


independiente de la plataforma y que su tamao normalmente se
dispare ya que dentro del cdigo final hay que incluir las libreras de la
plataforma.

Compilador
Windows
Cdigo fuente
C++

File ejecutable
.exe

File .cpp
Compilador
Macintoch

File ejecutable

.exe

Proceso de compilacin de un programa c++.

Los programas Java no son ejecutables, no se compilan como los


programas en C o C++.
En su lugar son interpretados por una aplicacin conocida como la
mquina virtual de
Java (JVM). Gracias a ello no tienen por qu incluir todo el cdigo y
libreras propias de cada sistema.
Previamente el cdigo fuente en Java se tiene que precompilar
generando un cdigo (que no es directamente ejecutable) previo
conocido como bytecode o J-code. Ese cdigo (generado normalmente
en archivos con extensin class) es el que es ejecutado por la mquina
virtual de Java que interpreta las instrucciones de los bytecodes,
ejecutando el cdigo de la aplicacin.

El bytecode se puede ejecutar en cualquier plataforma, lo nico


que se requiere es que esa plataforma posea un intrprete
adecuado (la mquina virtual de esa plataforma). La mquina
virtual de Java, adems es un programa muy pequeo y que se
distribuye gratuitamente para prcticamente todos los sistemas
operativos. A este mtodo de ejecucin de programas en tiempo
real se le llama Just in Time (JIT).

Interprete
Windows
Cdigo fuente
Java

Bytecodes

File .java

Compilador
Java

App

File .class

Interprete
Macintoch

Proceso de compilacin de un programa Java.

App

Dato clave

En Java la unidad fundamental del cdigo es la clase. Son las clases las
que se distribuyen en el formato bytecode de Java. Estas clases se
cargan dinmicamente durante la ejecucin del programa Java.

Seguridad
Al interpretar el cdigo, la JVM puede delimitar las operaciones
peligrosas, con lo cual la seguridad es fcilmente controlable.
Adems, Java elimina las instrucciones dependientes de la
mquina y los punteros que generaban terribles errores en C y la
posibilidad de generar programas para atacar sistemas. Tampoco
se permite el acceso directo a memoria y adems.
La primera lnea de seguridad de Java es un verificador del
bytecode que permite comprobar que el comportamiento del
cdigo es correcto y que sigue las reglas de Java.
Normalmente los compiladores de Java no pueden generar cdigo
que se salte las reglas de seguridad de Java. Pero un programador
malvolo podra generar artificialmente cdigo bytecode que se
salte las reglas. El verificador intenta eliminar esta posibilidad.

Hay un segundo paso que verifica la seguridad del cdigo que es el


verificador de clase que es el programa que proporciona las clases
necesarias al cdigo. Lo que hace es asegurarse que las clases que se
cargan son realmente las del sistema original de Java y no clases
creadas reemplazadas artificialmente.

Finalmente hay un administrador de seguridad que es un programa


configurable que permite al usuario indicar niveles de seguridad a su
sistema para todos los programas de Java.

Hay tambin una forma de seguridad relacionada con la confianza. Esto


se basa es saber que el cdigo Java procede de un sitio de confianza y
no de una fuente no identificada.

Tipos de aplicaciones Java

Applet

Son programas Java pensados para ser colocados dentro de una pgina
web. Pueden ser interpretados por cualquier navegador con capacidades
Java. Estos programas se insertan en las pginas usando una etiqueta
especial (como tambin se insertan vdeos, animaciones flash u otros
objetos).

Los applets son programas independientes, pero al estar incluidos


dentro de una pgina web las reglas de stas le afectan. Normalmente
un applet slo puede actuar sobre el navegador.

Hoy da mediante applets se pueden integrar en las pginas web


aplicaciones multimedia avanzadas (incluso con imgenes 3D o sonido y
vdeo de alta calidad)

Aplicaciones de consola
Son programas independientes al igual que los creados con los
lenguajes tradicionales.

Aplicaciones grficas

Aquellas que utilizan las clases con capacidades grficas (como awt o
ahora llamado Swing por ejemplo).

Servlets

Son aplicaciones que se ejecutan en un servidor de aplicaciones web y


que como resultado de su ejecucin resulta una pgina web.

Comenzar con Java


El Kit de Desarrollo Java JDK, en lo que se necesita Para escribir
en Java hacen falta los programas que realizan el precompilado y
la interpretacin del cdigo, Hay entornos que permiten la
creacin de los bytecodes y que incluyen herramientas con
capacidad de ejecutar aplicaciones de todo tipo. El ms famoso
(que adems es gratuito) es el Java Developer Kit (JDK) de Sun,
que se encuentra disponible en la direccin http://java.sun.com.

Versiones de Java
Como se ha comentado anteriormente, para poder crear los
bytecodes de un programa
Java, hace falta el JDK de Sun. Sin embargo, Sun va renovando
este kit actualizando el lenguaje. De ah que se hable de Java
1.1, Java 1.2, etc.
Lo que ocurre (como siempre) con las versiones, es que para que
un programa que utilice instrucciones del JDK 1.4.1, slo
funcionar si la mquina en la que se ejecutan los bytecodes
dispone de un intrprete compatible con esa versin.

Plataformas o arquitecturas ofrecidas en Java

Actualmente existen tres ediciones que nos ofrece Java:


JSE

Se denomina as al entorno de Sun relacionado con la creacin de


aplicaciones y applets en lenguaje Java.

J2EE

Pensada para la creacin de aplicaciones Java empresariales y del lado


del servidor.

J2ME

Pensada para la creacin de aplicaciones Java para dispositivos mviles.

Entorno de Trabajo
El cdigo en Java se puede escribir en cualquier editor de texto. Y
para compilar el cdigo en bytecodes, slo hace falta descargar
la versin del JDK deseada. Sin embargo, la escritura y
compilacin de programas as utilizada es un poco incomoda. Por
ello numerosas empresas fabrican sus propios entornos de
edicin, algunos incluyen el compilador y otras utilizan el propio
JDK de Sun.

IDEs, ISE, Editor de texto

App
Java(.java)

Compilador
Archivo.class
Interprete

Microsoft

Macintosh

Unix

Material oficial Oracle Corporation

http://docs.oracle.com/javase/8/

S-ar putea să vă placă și