Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Orígenes y Características de Java: una Lenguaje de Programación Popular y Versátil, Diapositivas de Programación Java

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

2019/2020

Subido el 18/10/2020

pepecalo
pepecalo 🇪🇸

5

(2)

4 documentos

1 / 23

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1.- Introducción a Java
Programación DAW
Pepe Calo Domínguez
Ola, son DUKE, a
mascota de Java
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17

Vista previa parcial del texto

¡Descarga Orígenes y Características de Java: una Lenguaje de Programación Popular y Versátil y más Diapositivas en PDF de Programación Java solo en Docsity!

1.- Introducción a Java

Programación DAW Pepe Calo Domínguez Ola, son DUKE , a mascota de Java

1. Orígenes del lenguaje

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.

1. Orígenes del lenguaje: compilaciones

OpenJDK

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

1.1. Popularidad Java (TIOBE Programming

Community)

2.1 Sencillo

 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.

2.2 Orientado a Objetos

 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.

2.4 Interpretado (con reservas) (I)

 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).

2.4 Interpretado (con reservas) (II)

 Existen JVM para muchas plataformas y las mismas clases (.class) pueden ejecutarse en Linux, Windows o Mac OS, o plataformas móviles, entre otras.

2.4 Interpretado (con reservas) (IV)

 Ejemplo JAVA:

2.5 Robusto

 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.

2.7 Portable: arquitectura neutra

 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.

2.8 Altas prestaciones (rendimiento)

 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

2.10 Dinámico

 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.

3. La plataforma Java (I)

 “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.