viernes, 28 de septiembre de 2012

La Máquina Virtual Java


¿Qué es la Máquina Virtual Java?
La Máquina Virtual Java o JVM (Java Virtual Machine) es un programa que ejecuta otros programas que contienen instrucciones Java bytecode.

Cuando se realiza alguna aplicación Java, se realiza el siguiente proceso:
  • Se escribe el código fuente en el lenguaje Java (archivo .java)
  • Se compila dicho código Java
  • Se genera el archivo .class resultado de la compilación (conjunto de instrucciones o bytecodes)
  • El intérprete Java ejecuta las instrucciones generadas.
Este proceso se lo puede ilustrar de la siguiente manera:

  Java Virtual Machine

 ¿Qué es Java bytecode?
Es un lenguaje intermedio el cual es típicamente generado al compilar un código Java, pero también puede ser compilado de otros lenguajes de programación.

¿Cuál es el objetivo de la Máquina Virtual Java (JVM)?
El principal objetivo de la JVM es garantizar la portabilidad de las aplicaciones, esto es posible debido a que los programas son independientes de la plataforma.

Se han creado diferentes JVM para diferentes arquitecturas y así un programa Java escrito en Windows puede ser interpretado en un entorno Linux. Tan solo es necesario disponer de dicha máquina virtual para dichos entornos.
Por lo tanto, la Máquina Virtual de Java actúa como un puente entre el bytecode (resultado de la compilación) y el sistema que se desea. Para cada dispositivo (teléfono móvil o PC) debe haber una JVM específica, la cual conoce el conjunto de instrucciones de la plataforma destino.

jueves, 27 de septiembre de 2012

Términos del lenguaje Java


¿Qué es un applet?
Es un programa dinámico e interactivo que se puede ejecutar dentro de una página Web, desplegada por un navegador Web.

¿Qué es una aplicación Java?
Es un programa que no requiere de un navegador para ejecutarse, sino que solo necesita de un intérprete de Java para la plataforma en la que se ejecutará.

¿Qué es un servlet?
Es una aplicación Java que se ejecuta sobre un servidor y atiende una serie de peticiones realizadas desde un cliente (navegador Web). No presenta interfaz gráfico.

¿Qué es una interfaz?
Es una colección de métodos sin ninguna implementación.

¿Qué es un API?
Application Programming Interface. Es un conjunto de clases que cumplen una funcionalidad común.

¿Qué es GUI?
Interfaz Gráfica de Usuario con sus siglas en inglés (Graphical User Interface).

¿Qué es AWT?
Abstract Window Toolkit. Es un API encargado de construir interfaz gráfica de usuario.

¿Qué es Swing?
Es un API para crear interfaces gráficas de usuario. Ofrece muchos más componentes que el AWT.

¿Qué es JDBC?
Java Database Connectivity. Es un API para ejecutar sentencias SQL. Permite:
  • Establecer conexión a bases de datos.
  • Enviar sentencias SQL.
  • Procesar resultados.

¿Qué es JAR?
Java ARchive es un formato de fichero que permite almacenar y comprimir muchos ficheros en uno. Son usados generalmente para agregar varias clases y recursos como textos e imágenes. Los archivos JAR tienen la extensión .jar

miércoles, 26 de septiembre de 2012

Términos de la POO


¿Qué es un objeto?
Es la representación de cosas simples o complejas, reales o imaginarias, como por ejemplo un gato, una empresa, una factura, un empleado, un carro, etc.
Las características de un objeto se denominan atributos del objeto. Ejemplo:
Objeto: carro
Atributos: color, tamaño, ...

¿Qué es una clase?
Es un molde o un modelo que define un tipo de objeto determinado. Una clase define los atributos y métodos (comportamiento) de un grupo de objetos de características similares. Ejemplo:
Nombre de la clase: Carro
Atributos: color, placa, marca, modelo
Métodos: Arrancar, Parar, Girar

¿Qué es herencia?
Es un mecanismo que permite reutilizar clases ya definidas. Este mecanismo es fundamental dentro de la POO y se puede definir también como una transmisión de las características de padres a hijos.  El mecanismo consiste en definir una nueva clase (hija) a partir de la definición de otra ya existente (padre). Ejemplo:
Clase padre: Carro
Clase hija: Carro Deportivo

La clase hija hereda todos los atributos y métodos de la clase padre, pero si se desea, la clase hija puede agregar atributos y métodos e incluso redefinir los métodos de la clase padre.

¿Qué es polimorfismo?
Es una cualidad aplicada a los métodos, e indica que en una misma clase pueden existir varios métodos con el mismo nombre pero con diferentes signaturas, es decir que la implementación de los métodos será distinta.