Java



Qué es java?


Java es un lenguaje de programación y una plataforma informática comercializada por primera vez en 1995 por Sun Microsystems. Hay muchas aplicaciones y sitios web que no funcionarán a menos que tenga Java instalado y cada día se crean más. Java es rápido, seguro y fiable. Desde portátiles hasta centros de datos, desde consolas para juegos hasta súper computadoras, desde teléfonos móviles hasta Internet, Java está en todas partes.



BJETIVOS DE JAVA

El lenguaje Java se creó con cinco objetivos principales:
  1. Debería usar el paradigma de la programación orientada a objetos.
  1. Debería permitir la ejecución de un mismo programa en múltiples sistemas operativos.
  1. Debería incluir por defecto soporte para trabajo en red.
  1. Debería diseñarse para ejecutar código en sistemas remotos de forma segura.
  1. Debería ser fácil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++.
Para conseguir la ejecución de código remoto y el soporte de red, los programadores de Java a veces recurren a extensiones como CORBA (Common Object Request Broker Architecture), Internet Communications Engine o OSGi respectivamente.

Características del lenguaje Java
  • Simple
  • Orientado a Objetos
  • Tipado estáticamente
  • Distribuido
  • Interpretado
  • Robusto
  • Seguro
  • de Arquitectura Neutral
  • Multihilo
  • con Recolector de basura (Garbage Collector)
  • Portable
  • de Alto Rendimiento: sobre todo con la aparición de hardware especializado y mejor software
  • Dinámico
 Qué es una API?


API son las iniciales de Application Programmer Interface.  Por muy completo que sea un lenguaje en cuanto a estructuras, tipos de datos y operadores, para que sea funcional necesita hacer E/S (procesar ficheros, pedir datos por teclado, leer el ratón o visualizar ventanas). La E/S es dependiente del Sistema Operativo. La API es una capa de abstracción que se pone encima del S.O. para permitir hacer entradas y salidas de una manera estandarizada. Se trata de una especificación de una librería software, detallando las llamadas a funciones, los argumentos, y los resultados que obtienes al utilizarlas. Una API sólo existe en papel y no es más que diseño. De hecho, para usar una API necesitas una librería que exista y que implemente esa API.Clasificación de las APIs
Las APIs están clasificadas como API Core (Núcleo) o como Standard Extension (Extensiones estándar). Una API Core es aquélla que viene incluida en el sistema JDK, es parte de la implementación estándar de Sun y cualquier sistema Java tiene que ser capaz de soportarlas. Una extensión estándar es una librería que los sistemas Java no tienen por qué soportar, pero de hacerlo, lo tiene que hacer siguiendo exactamente la forma estándar. 

Qué es la API de Java?

La API de Java™ es un conjunto de clases que corresponden a estructuras de datos que se pueden editar y leer en el servidor (Servidor de despliegue de sistema operativo).
Las clases Java se proporcionan para interactuar directamente con todos los objetos y valores. Anteriormente, se utilizaban scripts de Rembo-C para dichas tareas. Aun es posible realizar llamadas a Rembo-C a través de la API de Java aunque ahora puede escribir aplicaciones que utilizan la tecnología sin necesidad de escribir ningún script en código Rembo-C.
 Qué es la máquina virtual de Java?


Una máquina virtual Java (en inglés Java Virtual Machine, JVM) es una máquina virtual de  proceso  nativo,  es  decir,  ejecutable  en  una  plataforma  específica,  capaz  de interpretar  y  ejecutar  instrucciones  expresadas  en  un  código  binario  especial  (el bytecode Java), el cual es generado por el compilador del lenguaje Java.
El código binario de Java no es un lenguaje de alto nivel, sino un verdadero código máquina   de   bajo   nivel,   viable   incluso   como   lenguaje   de   entrada   para   un microprocesador físico. Como todas las piezas del rompecabezas Java, fue desarrollado originalmente por Sun.
La JVM es una de las piezas fundamentales de la plataforma Java. Básicamente se sitúa en un nivel superior al hardware del sistema sobre el que se pretende ejecutar la aplicación, y este actúa como un puente que entiende tanto el bytecode como el sistema sobre el que se pretende ejecutar. Así, cuando se escribe una aplicación Java, se hace pensando que será ejecutada en una máquina virtual Java en concreto, siendo ésta la que en última instancia convierte de código bytecode a código nativo del dispositivo final.
La gran ventaja de la máquina virtual java es aportar portabilidad al lenguaje, de manera que desde Sun Microsystems se han creado diferentes máquinas virtuales java para diferentes  arquitecturas,  y,  así,  un  programa  .class  escrito  en Windows  puede  ser interpretado en un entorno Linux. Tan solo es necesario disponer de dicha máquina virtual para dichos entornos. De ahí el famoso axioma que sigue a Java: “escríbelo una vez, ejecútalo en cualquier parte”, o “Write once, run anywhere”.
Qué es el compilador de Java?
Donde el nombre del compilador es javac y MiPrograma.java es el nombre del archivo que contiene el código de nuestro programa.
Al compilar el programa, el compilador verifica que éste obedezca las reglas de programación en Java, y si algo sale mal, muestra los mensajes de error apropiados. El compilador crea un archivo con el sufijo .class. Este contiene el código de bytes equivalente a su programa en Java.
Cuales son las versiones del Java?
JDK 1.0 (23 de enero de 1996)
JDK 1.1 (19 de febrero de 1997). Una reestructuración intensiva del modelo de eventos AWT (Abstract Windowing Toolkit), clases internas (inner classes), JavaBeans, JDBC (Java Database Connectivity), para la integración de bases de datos, RMI (Remote Method Invocation).
J2SE 1.2 (8 de diciembre de 1998 - Nombre clave Playground. Esta y las siguientes versiones fueron recogidas bajo la denominación Java 2 y el nombre "J2SE" (Java 2 Platform, Standard Edition), reemplazó a JDK para distinguir la plataforma base de J2EE (Java 2 Platform, Enterprise Edition) y J2ME (Java 2 Platform, Micro Edition).


  • La palabra reservada (keyword) strictfp.
  • Reflexión en la programación.
  • La API gráfica ( Swing) fue integrada en las clases básicas.
  • La máquina virtual (JVM) de Sun fue equipada con un compilador JIT (Just in Time) por primera vez.
  • Java Plug-in.
  • Java IDL, una implementación de IDL (Interfaz para Descripción de Lenguaje) para la interoperabilidad con CORBA
  • Colecciones (Collections)
  • 2SE 1.3 (8 de mayo de 2000) - Nombre clave Kestrel.
  • La inclusión de la máquina virtual de HotSpot JVM (la JVM de HotSpot fue lanzada inicialmente en abril de 1999, para la JVM de J2SE 1.2)
  • RMI fue cambiado para que se basara en CORBA.
  • JavaSound
  • Se incluyó el Java Naming and Directory Interface (JNDI) en el paquete de librerías principales (anteriormente disponible como una extensión).
  • Java Platform Debugger Architecture (JPDA)
  • J2SE 1.4 (6 de febrero de 2002) - Nombre Clave Merlin.
    Este fue el primer lanzamiento de la plataforma Java desarrollado bajo el Proceso de la Comunidad Java como JSR 59. Los cambios más notables fueron: comunicado de prensa lista completa de cambios.
  • Palabra reservada assert (Especificado en JSR 41.)
  • Expresiones regulares modeladas al estilo de las expresiones regulares Perl.
  • Encadenación de excepciones Permite a una excepción encapsular la excepción de bajo nivel original.
  • Non-blocking NIO (New Input/Output) (Especificado en JSR 51.)
  • Logging API (Specified in JSR 47.)
  • API I/O para la lectura y escritura de imágenes en formatos como JPEG o PNG
  • Parser XML integrado y procesador XSLT (JAXP) (Especificado en JSR 5 y JSR 63.)
  • Seguridad integrada y extensiones criptográficas (JCE, JSSE, JAAS) Java Web Start incluido (El primer lanzamiento ocurrió en Marzo de 2001 para J2SE 1.3) (Especificado en JSR 56.)
    J2SE 5.0 (30 de septiembre de 2004) - Nombre clave: Tiger. (Originalmente numerado 1.5, esta notación aún es usada internamente.[4]) Desarrollado bajo JSR 176, Tiger añadió un número significativo de nuevas características comunicado de prensa. Plantillas (genéricos) - provee conversión de tipos (type safety) en tiempo de compilación para colecciones y elimina la necesidad de la mayoría de conversión de tipos (type casting). (Especificado por JSR 14.)
  • Metadatos - también llamados anotaciones, permite a estructuras del lenguaje como las clases o los métodos, ser etiquetados con datos adicionales, que puedan ser procesados posteriormente por utilidades de proceso de metadatos. (Especificado por JSR 175.)
  • Autoboxing/unboxing - Conversiones automáticas entre tipos primitivos (Como los int) y clases de envoltura primitivas (Como Integer). (Especificado por JSR 201.)
  • Enumeraciones - la palabra reservada enum crea una typesafe, lista ordenada de valores (como Dia.LUNES, Dia.MARTES, etc.). Anteriormente, esto solo podía ser llevado a cabo por constantes enteras o clases construidas manualmente (enum pattern). (Especificado por JSR 201.)
  • Varargs (número de argumentos variable) - El último parámetro de un método puede ser declarado con el nombre del tipo seguido por tres puntos (e.g. void drawtext(String... lines)). En la llamada al método, puede usarse cualquier número de parámetros de ese tipo, que serán almacenados en un array para pasarlos al método.
  • Bucle for mejorado - La sintaxis para el bucle for se ha extendido con una sintaxis especial para iterar sobre cada miembro de un array o sobre cualquier clase que implemente Iterable, como la clase estándar Collection, de la siguiente forma: 
    void display Widgets (Iterable widgets) { for (Widget w : widgets) { w.display(); } } Este ejemplo itera sobre el objeto Iterable widgets, asignando, en orden, cada uno de los elementos a la variable w, y llamando al método display() de cada uno de ellos. (Especificado por JSR 201.)
    Java SE 6 (11 de diciembre de 2006) - Nombre clave Mustang. Estuvo en desarrollo bajo la JSR 270. En esta versión, Sun cambió el nombre "J2SE" por Java SE y eliminó el ".0" del número de versión.[5]. Está disponible en http://java.sun.com/javase/6/. Los cambios más importantes introducidos en esta versión son:
  • Incluye un nuevo marco de trabajo y APIs que hacen posible la combinación de Java con lenguajes dinámicos como PHP, Python, Ruby y JavaScript.
  • Incluye el motor Rhino, de Mozilla, una implementación de Javascript en Java.
  • Incluye un cliente completo de Servicios Web y soporta las últimas especificaciones para Servicios Web, como JAX-WS 2.0, JAXB 2.0, STAX y JAXP.
  • Mejoras en la interfaz gráfica y en el rendimiento.
  • Java SE 7 - Nombre clave Dolphin. En el año 2006 aún se encontraba en las primeras etapas de planificación. Se espera que su desarrollo dé comienzo en la primavera de 2006, y se estima su lanzamiento para 2008.
  • Soporte para XML dentro del propio lenguaje
  • Un nuevo concepto de super paquete
  • Soporte para closures
  • Introducción de anotaciones estándar para detectar fallos en el software.
    Además de los cambios en el lenguaje, con el paso de los años se han efectuado muchos más cambios dramáticos en la librería de clases de Java (Java class library) que ha crecido de unos pocos cientos de clases en JDK 1.0 hasta más de tres mil en J2SE 5.0. APIs completamente nuevas, como Swing y Java2D, han sido introducidas y muchos de los métodos y clases originales de JDK 1.0 están desaprobados.

  • Requerimientos para programar en Java
    Qué es un IDE?
    IDE de Programación: Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación, o sea, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica. Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. El lenguaje Visual Basic, por ejemplo, puede ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible escribir sentencias Visual Basic en forma de macros para Microsoft Word.
    Los IDE ofrecen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como C++PythonJavaC#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C.
    Es posible que un mismo IDE pueda funcionar con varios lenguajes de programación. Este es el caso de Eclipse, al que mediante plugins se le puede añadir soporte de lenguajes adicionales.
    Un IDE debe tener las siguientes características:
    • Multiplataforma
    • Soporte para diversos lenguajes de programación
    • Integración con Sistemas de Control de Versiones
    • Reconocimiento de Sintaxis
    • Extensiones y Componentes para el IDE
    • Integración con Framework populares
    • Depurador
    • Importar y Exportar proyectos
    • Múltiples idiomas
    • Manual de Usuarios y Ayuda

    Cuales son los IDE's más utilizados para programar con Java


    Java es un lenguaje de programación orientado a objetos que fue lanzado en 1995. Java fue desarrollado por James Gosling que en ese momento trabajaba para Sun MicroSystems (ahora Oracle), por esa razón, en principio el lenguaje Java se lanzó como parte de una plataforma para Sun MicroSystems.
    Java es un lenguaje que tiene como base a C y C++, aunque con un número menor utilidades. Han pasado más de 20 años desde el lanzamiento de Java y el lenguaje se ha vuelto muy popular, se emplea en aplicaciones para Android, consolas para juegos, aplicaciones web, sistemas de servidores, etc.

    Si estás pensando en aprender Java, te listamos algunas IDES para Java que harán tu vida más sencilla gracias a las útiles características y funciones que poseen.

    No hay comentarios.:

    Publicar un comentario