JAVA

Por: Ing.Vaneska Hernandez R.

 

 

Ante de comenzar es muy importante aclarar una duda muy común JavaScript y JAVA son dos cosas distintas, JAVA es un lenguaje de programación completo y JavaScript no es un lenguaje de programación propiamente dicho, es un lenguaje script u orientado a documento, como pueden ser los lenguajes de macros que tienen muchos procesadores de texto.

 

Una vez  definida la diferencia  entremos en la materia que realmente no interesa JAVA:

 

 

Origen:

 

Es imposible hablar del “hijo” sin hacer referencia a su “padre”. Sun Microsystems es una empresa informática del Silicon Valley, fabricante de semiconductores y software. servidores y estaciones de trabajo para procesadores SPARC, los sistemas operativos SunOS y Solaris, el NFS(Network Files System , Sistema de archivos de red) son algunos de los  “hermanos” de JAVA. Sun describe el lenguaje Java como "simple, orientado a objetos, distribuido, interpretado, robusto, seguro, de arquitectura neutra, portable, de altas prestaciones, multitarea y dinámico".

JAVA originalmente llamado "Oak", fue concebido bajo la dirección de James Gosling y Bill Joy, quienes pertenecían a una subsidiaria de Sun, conocida como "FirstPerson Inc". “Oak” nació para programar pequeños dispositivos electrodomésticos.

 

Definición:

 

JAVA es una plataforma, desarrollado al comienzo de los años 90 con el objetivo concreto de permitir ejecutar programas sin tener relativamente en cuenta el hardware final, sin volver a reescribir todo el código del programa.

Ventajas: 

Es un lenguaje sencillo, con pocas palabras reservadas que hacen que su aprendizaje sea rápido. Además su utilización es independiente del tipo de aplicación que se desee desarrollar por lo que una vez aprendido es fácil usarlo en otras aplicaciones como complemento.

La maquina virtual de JAVA representa un medio excelente para alcanzar la portabilidad.

Introduce otro nivel de abstracción y de protección, entre la computadora y el software que ejecuta sobre ella suponiendo que el código no todo el tiempo sea confiable.

Es indiferente la arquitectura real donde se ejecuta.

Al no trabajar directamente con punteros y posiciones de memoria se evita que el programa intente acceder a zonas que no le corresponden, parte de lo que tiene que ver con la seguridad.

Permite a los programadores convertir la Web en un sistema de entrega de software por le hecho de ser Interactivo y orientado a red.

Desventajas:

Es más lento que los lenguajes completamente compilados, debido a la sobrecarga que genera tener una capa de software intermedia entre la aplicación y el hardware de la computadora. Esto pese a que cuanta con un verificador, un conjunto de instrucciones muy bien diseñado y un procesador virtual escrito en C, Esta desventaja no es demasiado crítica.

Si se desea un mayor rendimiento deben aplicarse algunas formas de acelerar la ejecución de las aplicaciones , como por ejemplo mejorar los algoritmos para la recolección de basura, asignación de la memoria, ejecución de métodos, o chips, que tienen la capacidad de ejecutar directamente el código del procesador virtual Java.

Características:

 

El código generado por el compilador es independientemente de la plataforma, puesto que solo depende de la máquina virtual en la que se vaya a ejecutar lo que lo hace Portable.

 

El sistema de Java maneja la memoria de la computadora. No es necesario preocuparse por apuntadores o memoria que no se esté utilizando,  todo esto se realiza sin necesidad de que sea ejecutado por el usuario. Verifica su código al mismo tiempo que lo escribe, y una vez más antes de ejecutarse, de manera que se consigue un alto margen de codificación sin errores, por lo tanto es muy Robusto

Las clases son cargadas en el momento en que son necesitadas, ya sea del sistema de archivos local o desde algún sitio de la red mediante algún protocolo URL. También tiene la capacidad de aumentar su sistema de tipos de datos en tiempo de ejecución,  de allí que una de sus características es que es Dinámico.

Los programas sólo crecen al tamaño estrictamente necesario (gracias al dinamismo), hace menos suposiciones sobre las implantaciones de las estructuras de datos, que los lenguajes estáticos de "enlace temprano" o en tiempo de compilación (early-binding) como C o C++. Usa menos recursos por tanto es Eficiente. 

No acceden directamente a los recursos de la máquina física, aun así se le integraron varias capas de seguridad para evitar que programas maliciosos pudiesen causar daños en los sistemas sobre los que ejecuta la implantación de la Máquina Virtual, de esta manera que el entorno está más controlado y Seguro.

Es capaz de hacer varias cosas a la vez sin perder rastro de lo que debería suceder y cuándo. Da soporte a la utilización de múltiples hilos de programación (multithread). Hace posible la incorporación de aplicaciones interactivas y especializadas a la web. Interactuar con servicios y protocolos de red sin tener que comprender realmente los detalles de bajo nivel de los mismos. Proporciona un conjunto de clases para tratar con los conectores de red (sockets).  Por ello es considerado  Interactivo y orientado a red

Especificaciones estructurales:

Consiste en tres grandes bloques:

Lenguaje:

El lenguaje Java es un lenguaje de programación orientado a objetos. Permite organizar el código en entidades como las clases compuestas de datos y funciones, y a través de la característica de la herencia podemos organizar las clases en jerarquías. La mayoría de los lenguajes de programación se caracterizan por ser interpretados o compilados, lo que determina la manera en como serán ejecutados en una computadora. Java tiene la característica de ser al mismo tiempo compilado e interpretado.

Maquina virtual:

El concepto de máquina virtual es antiguo. Fue usado por IBM en 1959 para describir uno de los primeros sistemas operativos que existieron en la historia de la computación.

La Máquina Virtual Java (MVJ) es el núcleo del lenguaje de programación Java. De hecho, es imposible ejecutar un programa Java sin ejecutar alguna implantación 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 características 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 oculta los detalles inherentes a la plataforma, a las aplicaciones Java que se ejecuten sobre ella y es el encargado de que las instrucciones sean ejecutadas por el hardware. Es decir, el código Java no se ejecuta directamente sobre un procesador físico, sino sobre un procesador virtual, precisamente el software intermedio del que habíamos hablado anteriormente.

La representación de los códigos de instrucción Java (bytecode) es simbólica, en el sentido de que los desplazamientos e índices dentro de los métodos no son constantes, sino que son cadenas de caracteres o nombres simbólicos. La primera vez que se ejecuta el método el valor es guardado dentro del archivo de clase (.class) para aumentar la velocidad de futuros accesos, así no se afecta o se rompe la estructura del código.

Debido a que la plataforma Java fue diseñada pensando en que se implementaría sobre una amplia gama de sistemas operativos y de procesadores, se incluyeron dos capas de software para aumentar su portabilidad. 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, y demás.  

Interfase de programación de aplicaciones (API): 

El API Java es una interfase de programación de aplicaciones provista por los creadores del lenguaje Java, y que da a los programadores un ambiente de desarrollo completo así como una infraestructura.

Como el lenguaje Java es un lenguaje orientado a objetos, la API provee de un conjunto de clases utilitarias y bibliotecas de rutina  para efectuar toda clase de tareas necesarias dentro de un programa.

La API Java está organizada en paquetes, donde cada paquete contiene un conjunto de clases relacionadas semánticamente.

Arquitectura del Sistema de Tiempo de Ejecución Java.

Práctica:

 

Java puede generar dos tipos de programas: aplicaciones y applets. Las aplicaciones corre desde la línea de comandos; el applet es mas orientado a Internet y corre desde un browser.

 

Ejemplo de aplicación JAVA:

 

import java.io.*;
class HelloApp {
  public static void main (String args[])
  {
    System.out.println ("Hello world !");
  }
}

 

Ejemplo de applet JAVA:

 

import java.applet.Applet;
import java.awt.*;
 
class HelloApp extends Applet
{
  public void paint (Graphics g)
  {
    g.drawString ("Hello world !", 0, 20);
  }
}

Para ejecutar el applet se tiene que hacer referencia a el desde una pagina para ser ejecutado por el browser de la siguiente manera:

<HTML>
<HEAD>
<TITLE>Hello world</TITLE>
</HEAD>
<BODY>
<APPLET CODE="HelloApp.class" WIDTH=250 HEIGHT=100>
</APPLET>
</BODY>
</HTML>

               Futuro de Java: 
 
        Los desarrolladores de Java trabajan ya con las operadoras sobre los nuevos servicios interactivos que va a traer la televisión digital terrestre.
               El nuevo sistema de DVD desarrollado por Sony, el Blue-Ray, en el que participa Java para permitir la interoperabilidad de los servicios.
 
               Las aplicaciones Java permitirán que desde una sola consola se gestionen todos los dispositivos de un vehículo, desde el GPS, al teléfono móvil o la música.
 
               140 operadoras de telefonía móvil de todo el mundo utilizan la arquitectura Java, y ya hay más de 85 fabricantes de móviles con esta tecnología .El 80 por ciento de las tarjetas SIM de los teléfonos móviles tienen arquitectura Java y que sus desarrolladores trabajan con las operadoras para convertir el móvil en un sistema de identificación de los usuarios que les permitirá realizar distintas operaciones, entre ellas las bancarias.
 
 
 

              

 

 

Infografía:

 

 

Titulo del Articulo

 

Resumen

URL´s

 

Arquitectura de la Máquina Virtual Java

 

Se hace un análisis de las principales características de Java, así como también un análisis detallado de la  arquitectura de la maquina virtual de Java que es su  componente emblemático

*Especificaciones

características, ventajas,

desventajas

*URL local

*URL

 

El futuro de Java pasa por televisión, automóvil y seguridad

Este artículo se desarrollo en el marco de Java Expo 06 y se hace referencia al futuro y aportes de Java en el mercado automovilístico, de seguridad, telefonía móvil y televisión.

*Futuro

*URL local

*URL

 

Sun Microsystems y  Java

 

Se describe de una manera sencilla la procedencia a Sun Microsystems  y Java. Se hace referencia nombrada a algunos productos  de la empresa.

* Origen

* URL local

* URL

Características de Java

En este artículo  se detalla cada una de las características y ventajas de Java haciendo referencia a las bondades de cada uno de sus tres bloques.

* Características

* URL local 1

* URL Local 2

* URL 1

* URL 2

 

Notas de Clase Para Curso de Programación: Aplicaciones en Java

Es relevante la simplicidad  con la que presentan lo que se puede llamar “Mi primer programa o applet Java”.

* Práctica

* URL local

* URL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hosted by www.Geocities.ws

1