















Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Este documento ofrece una introducción a Java, su origen, características y popularidad. Aprende sobre la historia de Java, sus implementaciones, diferencias entre ellas y sus principales características como sencillez, orientación a objetos, distribución, robustez, seguridad, portabilidad, altas prestaciones, multihilo y dinamismo. Además, se mencionan las ediciones de Java y sus aplicaciones.
Tipo: Diapositivas
1 / 23
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
















Programación DAW Pepe Calo Domínguez Ola, son DUKE , a mascota de Java
Java es tanto un Lenguaje como una plataforma. https://www.java.com/ Creado por Sun Microsystems ( http://java.sun.com [*] ) y adquirida en el 2010 por Oracle (https://www.oracle.com/es/java/). Inicialmente orientado a la programación de microsistemas ( proyecto OAK ), desarrollado por James Gosling (Sun) Difundido en 1995 con una nueva orientación: Internet. Sintaxis muy similar a la de C++ (en parte). [*] Dicho enlace redirige a la “nueva” Web de Oracle.
Compilación LTS (soporte a largo plazo) Licencia Permisiva Puro Soporte comercial AdoptOpenJDK / JClarity / IBM Sí Sí Optional Sí Amazon Corretto Sí Sí (^) No No Azul Zulu Sí Sí No Sí BellSoft Liberica JDK Sí Sí No Sí ojdkbuild Sí Sí Sí No Oracle Java SE Sí No No Sí Oracle OpenJDK No Sí Sí No Red Hat for Windows Sí Sí Sí No Red Hat OpenJDK Sí Sí No Sí SAP SapMachine Sí Sí No No
Los creadores de Java se basaron en C++, pero eliminaron la mayoría de sus complejidades y desventajas: No soporta tipos de datos: struct , union , y puntero. No soporta typedef ni #define. No permite la sobrecarga de operadores. No soporta la herencia múltiple. Posee una clase String , en vez del array de tipo char[] finalizado con nulo. Cuenta con un sistema automático para asignar ( new ) y liberar memoria: el Garbage Collector.
Java es un lenguaje para el desarrollo de software Orientado a Objetos. Implementa los conceptos O.O.: Herencia. Encapsulación. Abstracción. Reutilización. etc.
El compilador de Java traduce el código fuente escrito en texto plano con extensión _.java_* a un código nativo ( bytecode , _.class_* ) de la máquina virtual java (JVM): Los bytecodes son ejecutados (interpretados) en cualquier entorno donde exista un intérprete de Java (JRE). El “ intérprete ” de Java se llama Máquina Virtual Java o Java Virtual Machine (JVM).
Existen JVM para muchas plataformas y las mismas clases (.class) pueden ejecutarse en Linux, Windows o Mac OS, o plataformas móviles, entre otras.
Ejemplo JAVA:
Un software robusto es aquel que no se ‘interrumpe’ fácilmente a consecuencia de fallos (control de excepciones, altamente tipado,…) Un lenguaje de estas características suele tener más restricciones a la hora de programar. No permite sobrescribir memoria y corromper otros datos mediante punteros. Facilita el manejo de excepciones , control de errores en tiempo de ejecución.
Los bytecodes (*.class) son ejecutados en cualquier plataforma donde exista una JVM. El uso de estándares como UNICODE , IEEE 754, etc… permite obtener los mismos resultados en todas las plataformas.
Existen compiladores JIT (Just-in-time) que compilan en el momento de la ejecución optimizando para una máquina concreta. A partir de la JVM 1.2.2 se introdujo un nuevo JIT llamado HotSpot: http://openjdk.java.net/groups/hotspot/, que permitía una compilación JIT y optimización adaptativa. La Java HotSpot Virtual Machine incluía pasos en tiempo de ejecución para mejorar el rendimiento : recompilando a código nativo “cuellos de botella” o secciones de código muy usadas. Existen compiladores ‘reales’ de Java (perdemos la portabilidad y ganamos en rendimiento). Informe Volano ( comparativa de JVM ): http://www.volano.com/report/ https://en.wikipedia.org/wiki/Comparison_of_Java_virtual_machines
El código C++, a menudo requiere una recompilación completa si cambia una clase. Java emplea un método de interfaces para evitar estas dependencias y recompilaciones. Además, Java permite la indirección.
“Plataforma” ( platform ) es el entorno hardware o software en el que se ejecuta un programa. Plataformas (SO+Hardware) Java más comunes: Linux,Windows, Solaris OS,AIX, HP-UX o Mac OS. Intel, RISC, SPARC… IBM, Sun, HP, Microsoft… La plataforma Java difiere de en que es una PLATAFORMA SOFTWARE que se ejecuta sobre otras plataformas hardware.