PDF de programación - JAVA Características

Imágen de pdf JAVA Características

JAVA Característicasgráfica de visualizaciones

Publicado el 6 de Junio del 2017
1.253 visualizaciones desde el 6 de Junio del 2017
1,7 MB
18 paginas
Creado hace 12a (02/11/2011)
02/11/2011

1

Comenzaré con una introducción, donde se comentarán las
circunstancias que han hecho aparecer al lenguaje Java.

Revisión histórica sobre los orígenes de Java.

Luego haré una descripción de las características más importantes de
Java que lo convierten en algo muy diferente al resto de los lenguajes de
programación.

Y para terminar destacaremos en las conclusiones los puntos de mayor
interés



02/11/2011

2

02/11/2011

3

Tradicionalmente el desarrollo de aplicaciones informáticas en general,
está estrechamente ligado al sistema operativo donde correrá la
aplicación; y al sistema operativo del ordenador.

En las empresas actuales suelen convivir diferentes tipos de plataformas,
cada una incompatible con las demás.

¿Como conseguir escribir aplicaciones distribuidas, que corran en todos
los sistemas operativos? y de una manera sencilla.

Actualmente es preciso reescribir las aplicaciones para cada sistema
operativo, cosa nada sencilla. O por el contrario usar lenguajes
interpretados, sumamente ineficientes. Los problemas son tantos que los
programas se suelen escribir para una única plataforma.

Esta circunstancia suele ser utilizada por los fabricantes de hardware y
software, para atrapar a los clientes en una plataforma determinada.

02/11/2011

4

La aparición y rápida expansión del WWW ha permitido que se solucione
en parte este problema.

Las empresas pueden proporcionar todo tipo de datos, a sus empleados o
clientes, sin preocuparse de la plataforma final.

En gran éxito de este planteamiento se debe:

• Todo el mundo conoce el interfaz, (periodo de aprendizaje cero)

• Éste se encuentra disponible para todas las plataformas y ya está
instalado en la mayoría de máquinas.

• La red Internet permite una gran difusión de la información.

Sin embargo este sistema presenta graves limitaciones:

• Solo permite acceder a datos y no a programas

• La información es estática (por lo menos por lo que al cliente se
refiere, con el interfaz CGI se puede conseguir paliar parcialmente este
problema haciendo que el servidor ejecute programas)

• Los clientes se limitan a visualizar información, por lo que están muy
limitados en sus capacidades.

NOTA: En la actualidad se han superado muchos de estos problemas

El gran éxito de Java se fundamenta en que aprovecha las ventajas del
WWW, pero va a paliar algunas de sus limitaciones, permitiendo la
ejecución de programas dentro de páginas web, convirtiendo a los
clientes en verdaderamente flexibles (dejando de ser meros
visualizadores de información), Permite además, que los navegadores
puedan adoptar nuevos protocolos de manera dinámica.



Pero Java puede llegar mucho más lejos de simplemente paliar las
deficiencias de WWW; como veremos al final de la exposición una vez
analizadas todas sus características.

02/11/2011

5

02/11/2011

6

Antes de describir con más detalle en que consiste Java, paso a realizar

una revisión histórica.

En primer lugar hay que destacar que Java ha sido Sun Microsistems.

1990 Sun está interesada en desarrollar aplicaciones distribuidas con

redes heterogéneas, para pequeños dispositivos electrónicos
domésticos.

1991 Primero se pesó en utilizar C++, aunque pronto se vio que no era un

lenguaje adecuado. Bill Joy crea un lenguaje nuevo el “Oak”
(precursor de Java).

1992 Se utiliza en aplicaciones como el control completo de

electrodomésticos o vídeo bajo demanda.

1993 Aparece el primer navegador gráfico (Mosaic).

1994 Se empieza a experimentar sobre las posibilidades de Oak para

Internet. Se desarrolla un navegador capaz de interpretar el
lenguaje (JotJava)

1995 Sun anuncia Java y JotJava. Distribución Libre. Rápida difusión.

1996 Acuerdo con Netscape que garantiza que su navegador permita la
ejecución de “applets” (pequeños programas en Java incrustados
en páginas Web)



A continuación vamos a destacar las características que definen a Java y
lo diferencian de otros lenguajes de programación, haciendolo
especialmente interesante para el desarrollo de aplicaciones en red.

02/11/2011

7

02/11/2011

8

Java está basado en en el lenguaje C, de esta manera resulta muy
familiar para los millones de programadores que ya conocen este
lenguaje.

Desarrollado desde cero, sin concesiones de compatibilidad, lo que ha
permitido la definición de un lenguaje sumamente sencillo y coherente,
pero sin perder potencia.

Se han eliminado aquellas características más confusas o menos
utilizadas de C (no hay punteros, macros, registros, ni definición de tipos.)

Por lo tanto se consigue un lenguaje:

- rápido aprendizaje

- simplificación del proceso de programación

- reducción del número errores (50%)



02/11/2011

En línea con las modernas prácticas de ingeniería del software, Java está
orientado a objetos desde su base. Se ha demostrado en la práctica, que
utilizando esta técnica de programación se reduce el tiempo de desarrollo y
se obtiene un producto de mejor calidad. Especialmente útil en un entorno
distribuido cliente/servidor.



Todo en Java son objetos (con excepción de los tipos elementales)

- Cualquier definición de datos ha de ser un objeto

- Toda función ha de estar dentro de un objeto

- Las librerías de funciones son objetos

Incorpora las características más importantes de este paradigma:

- Encapsulación: La información es ocultada y modularizada

- Herencia: Definición de nuevas clases a partir de las existentes (ej.
La clase automóvil a partir de vehículo)

- Polimorfismo: Un objeto es considerado de la clase a la que
pertenece, pero también de las clases de las que desciende. Podemos
trabajar con objetos como si fuera de la clase vehículo, aunque sea
una instancia de de una clase más específicas, como automóvil o
camión.

- Enlace dinámico: Los objetos pueden venir de cualquier sitio,
posiblemente a través de la red.

Pero no otras de menor utilidad:

- Herencia múltiple: Una clase definida a partir de más de una clase

- Sobrecarga de operadores: Un operador como el “+” puede ser
redefinido para operar dos objetos cualesquiera (suma de matrices)

9

02/11/2011

10

El objetivo principal que se quería conseguir con Java, era que un
programa pudiera ser ejecutado en cualquier sistema operativo o
procesador. (Independiente de la plataforma)

Existen diversas alternativas para salvar este problema

- grandes binarios que se adaptan a la arquitectura

- lenguajes interpretados o de scripts

Soluciones parciales y además costosas o poco eficientes.



Solución Java: Definir una nueva arquitectura independiente de las ya
existentes y por tanto totalmente neutra.

Cuando se compila un programa en Java, no se genera instrucciones de
código máquina de ningún procesador concreto, si no que se va a generar
unas instrucciones destinadas a una máquina virtual. (instrucciones
conocidas como bytecodes)

Cuando queramos ejecutar dicho programa en un procesador concreto,
esta máquina virtual tendrá que ser emulada.

A este nivel de abstracción todas las máquinas tienen la misma
arquitectura, solucionando todos los problemas de portabilidad.

El hecho de que un programa en Java siempre crea que se está
ejecutando en la misma máquina, nos soluciona directamente uno de los
problemas habituales, el problema que trataba de solucionar el nivel de
“Presentación” (cómo se codifican los datos).

02/11/2011

11

La arquitectura neutra de Java, hace que los programas no puedan ser
ejecutados directamente por ningún compilador. Es necesario simular esta
plataforma mediante un proceso de simulación



Sin embargo no se sigue el esquema típico de un programa interpretado.
Escritura/compilación/interpretación.



Si se quiere mejorar el tiempo de ejecución, también se puede proceder a
la compilación de los bytecodes en código nativo de la plataforma
(Compilación Just in Time).

02/11/2011

12

02/11/2011

13

La seguridad resulta crucial en el desarrollo de aplicaciones distribuidas,
por lo que Java extrema las medidas de seguridad.

Se ha de garantizar que cuando se trae un programa de la red, este no
pueda destruir datos, contener un virus o curiosear en la máquina local.

- La primera línea de defensa la pone la “M.V.J.”, un programa se ejecuta
siempre dentro, por lo que se pueden limitar los accesos a la máquina
real. Por ejemplo se puede impedir el acceso al sistema de ficheros local

- Un compilador Java asegura que el código fuente no viole las normas de
seguridad. El problema es que no puede asegurarse que todo el mundo
utilice compiladores de este tipo. Para solucionar este problema los
bytecodes son verificados antes de su ejecución.

Entre otras cosas se comprueba: no existen punteros, no se violan
restricciones de acceso, las clases se utilizan correctamente, ...

Otras medidas de seguridad:

- Cuando se carga una nueva clase, nunca puede sustituir a otra ya
cargada, o hacer referencia a una clase local o a otra cargada de otro
origen. Cuando se importa una clase, se sitúa en un espacio de nombres
separado asociado con su origen.

- Java incorpora un paquete de red con la interfaz para manejar varios
protocolos de red. Podemos configurar varios niveles de seguridad.
Impedir que se use nuestro ordenador como puente.

Puede repercutir negativamente en la eficiencia. “Tenemos las manos
atadas”

La ejecución dentro de la M.V.J. impide bloquear el sistema

La asignación entre tipos es muy estricta, no podemos asignar un int a un
char como hacemos en C.

La gestión de memoria la hace siempre el sistema, no el programador, lo
que lleva a aplicaciones más fiables y seguras.

El código es chequeado tanto en tiempo de compilación como de
ejecución



02/11/2011

14

02/11/2011

15

Como se ha comentado los módulos que componen una aplicación se
estructuran a base de clases. Estas clases pueden cargarse remotamente
  • Links de descarga
http://lwp-l.com/pdf4290

Comentarios de: JAVA Características (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad