Ir al contenido

Usuario:Ivan garay

De Wikipedia, la enciclopedia libre

Java (lenguaje de programación)

Existen desacuerdos sobre la neutralidad en el punto de vista de la versión actual de este artículo o sección. En la página de discusión puedes consultar el debate al respecto. Java Desarrollador(es) James Gosling & Sun Microsystems Para desarrolladores de Java Información general Extensiones comunes .java, .class, .jar Paradigma Orientado a objetos, imperativo Apareció en 1995 Diseñado por Sun Microsystems (Oracle Corporation) Última versión estable Java Standard Edition 7 (1.7.3) (15 de febrero de 2011; hace 1 año) Tipo de dato Fuerte, Estático Implementaciones OpenJDK, HotSpot, muchas otras Dialectos Generic Java, Pizza Influido por Objective-C, C++, Smalltalk, Eiffel Ha influido a C#, J#, JavaScript,PHP, Python Sistema operativo Multiplataforma Licencia GNU GPL / Java Community Process Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.Con respecto a la memoria, su gestión no es un problema ya que ésta es gestionada por el propio lenguaje y no por el programador. Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible. La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process, si bien otros han desarrollado también implementaciones alternativas de estas tecnologías de Sun, algunas incluso bajo licencias de software libre. Entre diciembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java aún no lo es). Contenido [ocultar] 1 Historia 2 Filosofía 2.1 Orientado a objetos 2.2 Independencia de la plataforma 2.3 El recolector de basura 3 Sintaxis 3.1 Hola mundo 3.1.1 Aplicaciones autónomas 3.1.2 Applets 3.1.3 Servlets 3.1.4 Aplicaciones con ventanas 4 Entornos de funcionamiento 4.1 En dispositivos móviles y sistemas empotrados 4.2 En el navegador web 4.3 En sistemas de servidor 4.4 En aplicaciones de escritorio 4.5 Plataformas soportadas 5 Programación 5.1 Expresiones 5.2 Operadores 5.2.1 Operadores a nivel de bit 5.3 Precedencia de operadores 5.4 Sentencias 5.4.1 Conversión de tipos 6 Industria relacionada 7 Críticas 7.1 General 7.2 El lenguaje 7.3 Apariencia 7.4 Rendimiento 8 Recursos 8.1 JRE 8.2 Componentes 8.3 APIs 8.4 Extensiones y arquitecturas relacionadas 9 Java en código abierto 9.1 Alternativas libres 9.2 Críticas referentes a Java y el software libre 10 Véase también 11 Referencias 12 Notas 13 Enlaces externos 13.1 Sun 13.2 Tutoriales 13.3 Certificaciones 13.4 Críticas [editar]Historia

Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada the Green Project en Sun Microsystems en el año 1991. El equipo (Green Team), compuesto por trece personas y dirigido por James Gosling, trabajó durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo. El lenguaje se denominó inicialmente Oak (por un roble que había fuera de la oficina de Gosling), luego pasó a denominarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas gráficas y finalmente se renombró a Java. El término Java fue acuñado en una cafetería frecuentada por algunos de los miembros del equipo. Pero no está claro si es un acrónimo o no, aunque algunas fuentes señalan que podría tratarse de las iniciales de sus creadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el siguiente acrónimo, Just Another Vague Acronym ("sólo otro acrónimo ambiguo más"). La hipótesis que más fuerza tiene es la que Java debe su nombre a un tipo de café disponible en la cafetería cercana, de ahí que el icono de java sea una taza de café caliente. Un pequeño signo que da fuerza a esta teoría es que los 4 primeros bytes (el número mágico) de los archivos .class que genera el compilador, son en hexadecimal, 0xCAFEBABE. A pesar de todas estas teorías, el nombre fue sacado al parecer de una lista aleatoria de palabras.1 Los objetivos de Gosling eran implementar una máquina virtual y un lenguaje con una estructura y sintaxis similar a C++. Entre junio y julio de 1994, tras una sesión maratoniana de tres días entre John Gaga, James Gosling, Patrick Naughton, Wayne Rosing y Eric Schmidt, el equipo reorientó la plataforma hacia la Web. Sintieron que la llegada del navegador web Mosaic, propiciaría que Internet se convirtiese en un medio interactivo, como el que pensaban era la televisión por cable. Naughton creó entonces un prototipo de navegador, WebRunner, que más tarde sería conocido como HotJava. En 1994, se les hizo una demostración de HotJava y la plataforma Java a los ejecutivos de Sun. Java 1.0a pudo descargarse por primera vez en 1994, pero hubo que esperar al 23 de mayo de 1995, durante las conferencias de SunWorld, a que vieran la luz pública Java y HotJava, el navegador Web. El acontecimiento fue anunciado por John Gage, el Director Científico de Sun Microsystems. El acto estuvo acompañado por una pequeña sorpresa adicional, el anuncio por parte de Marc Andreessen, Vicepresidente Ejecutivo de Netscape, de que Java sería soportado en sus navegadores. El 9 de enero del año siguiente, 1996, Sun fundó el grupo empresarial JavaSoft para que se encargase del desarrollo tecnológico. [1] Dos semanas más tarde la primera versión de Java fue publicada. La promesa inicial de Gosling era Write Once, Run Anywhere (Escríbelo una vez, ejecútalo en cualquier lugar), proporcionando un lenguaje independiente de la plataforma y un entorno de ejecución (la JVM) ligero y gratuito para las plataformas más populares de forma que los binarios (bytecode) de las aplicaciones Java pudiesen ejecutarse en cualquier plataforma. El entorno de ejecución era relativamente seguro y los principales navegadores web pronto incorporaron la posibilidad de ejecutar applets Java incrustadas en las páginas web. Java ha experimentado numerosos cambios desde la versión primigenia, JDK 1.0, así como un enorme incremento en el número de clases y paquetes que componen la biblioteca estándar2 . Desde J2SE 1.4, la evolución del lenguaje ha sido regulada por el JCP (Java Community Process), que usa Java Specification Requests (JSRs) para proponer y especificar cambios en la plataforma Java. El lenguaje en sí mismo está especificado en la Java Language Specification (JLS), o Especificación del Lenguaje Java. Los cambios en los JLS son gestionados en JSR 901 . JDK 1.0 (23 de enero de 1996) — Primer lanzamiento: comunicado de prensa JDK 1.1 (19 de febrero de 1997) — Principales adiciones incluidas: comunicado de prensa 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). Otras mejoras añadidas incluían: comunicado de prensa 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 (Lenguaje de Descripción de Interfaz) para la interoperabilidad con CORBA Colecciones (Collections) J2SE 1.3 (8 de mayo de 2000) — Nombre clave Kestrel. Los cambios más notables fueron:comunicado de prensa lista completa de cambios 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 bibliotecas 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.[2] ) 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 displayWidgets (Iterable<Widget> 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.) |}