0% encontró este documento útil (0 votos)
0 vistas57 páginas

El Lenguaje Java

Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
0 vistas57 páginas

El Lenguaje Java

Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

El Lenguaje Java

Por: Ing. Dr. Alberto M. MEDINA VILLACORTA


Docente Ordinario - Escuela Académico Profesional
de Ingeniería de Sistemas e Informática - UNASAM
AGENDA
Historia del lenguaje Java

1 Historia del lenguaje Java


2 Características del lenguaje Java
3 Java y JavaScript
4 Seguridad en Java
5 Tipos de aplicaciones Java
6 La Máquina Virtual de Java
7 Kit de desarrollo de Java
8 Evolución del lenguaje Java
9 Plataformas, editores y entornos

Por: Ing. Dr. Alberto Medina Villacorta


AGENDA
Historia del lenguaje Java

1 Historia del lenguaje Java


Características del lenguaje Java

2 Características del lenguaje Java


Java y JavaScript

3 Java y JavaScript
Seguridad en Java

4 Seguridad en Java
Tipos de aplicaciones Java

5 Tipos de aplicaciones Java


La Máquina Virtual de Java

6 La Máquina Virtual de Java


Kit de desarrollo de Java

7 Kit de desarrollo de Java


Evolución del lenguaje Java

8 Evolución del lenguaje Java


Plataformas, editores y entornos

9 Plataformas, editores y entornos

Por: Ing. Dr. Alberto Medina Villacorta


Historia de Java
De donde procede Java?
✓ Antes de los años 80 (antes de Java) reinaban los
lenguajes de programación estructurada.
✓ El lenguaje C era el más popular debido a su versatilidad
(Intermedio).
✓ El problema en general era el tamaño de los programas
que eran difíciles de mantener.
✓ Se mejoró en algo con el uso de técnicas de programación
estructurada y modular.
✓ Finalmente fué la Programación Orientada a Objetos
(POO) la que mejoró notablemente la situación.
Por: Ing. Dr. Alberto Medina Villacorta
Historia de Java
✓ La POO permite hacer programas muy parecidos al
pensamiento humano.
✓ Su principal virtud es que simplifica el problema dividiéndolo
en objetos que se programan en forma autónoma.
✓ Como solución se adaptó la POO a los lenguajes existentes.
✓ El más famoso fué C++, adapto el lenguaje C a la POO.
✓ En C y Java: ++ significa incrementar.
✓ C++ añadió a C: soporte a objetos, librerías de clases de
objetos, todo lo bueno de C.
✓ C++ fué el lenguaje de programación más popular a principios
de los años 90.
Por: Ing. Dr. Alberto Medina Villacorta
Historia de Java
✓ Otras adaptaciones famosas fueron:
• Paso de Pascal a Turbo Pascal y finalmente a Visual Delphi.
• Paso de BASIC a Quick BASIC y luego a Visual BASIC (Ahora parte de
Visual Studio)
✓ El lenguaje Java fue desarrollado en sus inicios por James
Gosling (1991), lenguaje conocido inicialmente como Oak o
Green, creado en Sun Microsystems.
✓ Pretendía crear un sistema de TV inter-activa (solo se usó
internamente).
✓ Su propósito era crear un lenguaje independiente de la
plataforma para uso en dispositivos electrónicos.
Por: Ing. Dr. Alberto Medina Villacorta
Historia de Java

✓ Sun deseaba un lenguaje para programar pequeños


dispositivos electrónicos, que cambiaban continuamente y
requerían reescribir el código.
✓ Según teorías no confirmadas oficialmente, cada letra de JAVA
se relaciona con las iniciales de los desarrolladores
responsables de su existencia: James Gosling (de quien toma
la J inicial), Arthur Van Hoff (de quien coge la A y la V) y Andy
Bechtolsheim (de quien usa la A del nombre).
✓ Hay muchas más teorías. Una ha llegado a relacionar JAVA
como “Just Another Vague Acronym” que se traduce como
“Solo Otro Acrónimo Ambiguo”.
Por: Ing. Dr. Alberto Medina Villacorta
Historia de Java
✓ En 1995 pasa a llamarse Java y se da a conocer al público en el
Sun World ‘95, y supuso un éxito casi inmediato
✓ El 27 de enero de 2010 fue comprada por Oracle.
✓ Adoptó un modelo que lo hizo
perfecto para la red Internet,
el modelo “bytecode”.
✓ Java pasa a ser un lenguaje
totalmente independiente de
la plataforma y a la vez potente
y orientado a objetos.

Por: Ing. Dr. Alberto Medina Villacorta


Historia de Java

✓ Su facilidad para crear aplicaciones para


redes TCP/IP lo han encumbrado.
Nota: Ginga es un lenguaje de programación diseñado específicamente para la
creación de aplicaciones interactivas en entornos de televisión digital, de manera
especial en el contexto de la transmisión de señal de TV en Brasil.
Objetivo: facilitar el desarrollo de aplicaciones que se integren con los estándares
de transmisión digital, permitiendo la interactividad entre los usuarios y el
contenido transmitido.
Tiene 2 variantes:
✓ Ginga-C: basada en el lenguaje C, utiliza una sintaxis similar y
se beneficia de la eficiencia y el control que C ofrece.
✓ Ginga-J: basada en Java. Se aprovecha de las características de
Java, como la portabilidad y la gestión automática de memoria.
Por: Ing. Dr. Alberto Medina Villacorta
Características de Java

Simple

✓ Java se diseñó para parecerse a C y C++ de modo que


su aprendizaje sea fácil.
✓ En Java no es necesario liberar memoria.
✓ No se usa la aritmética de punteros.
✓ No se usan referencias, registros, definiciones de tipo,
ni macros.

Por: Ing. Dr. Alberto Medina Villacorta


Características de Java
Orientado a objetos
✓ Para programar en Java hay que valerse del uso de
clases y objetos.

Distribuido
✓ Las bibliotecas de aplicaciones de red o APIs facilitan
trabajar con protocolos desde bajo nivel como TCP/IP
o de alto nivel como HTTP o FTP.

Por: Ing. Dr. Alberto Medina Villacorta


Características de Java
Interpretado
La ejecución de un programa tiene 2 partes:
✓ El compilador convierte el código fuente a un tipo de lenguaje
de bajo nivel (bytecode)
✓ Se usa un interprete para ejecutar el programa (el bytecode
compilado), se trata de la JVM o máquina virtual de Java

Por: Ing. Dr. Alberto Medina Villacorta


Características de Java
Robusto
Java no solo verifica el código para encontrar problemas en
tiempo de compilación, también busca errores en tiempo de
ejecución, la comprobación de tipos en Java ayuda a detectar
errores lo antes posible en tiempo de desarrollo.

Seguro
Diseñado para redes, tiene restricciones de seguridad, verifica
que el bytecode cargado no viola ninguna restricción de Java

Por: Ing. Dr. Alberto Medina Villacorta


Características de Java
Multihilos
La capacidad para ejecutar varias procesos al mismo tiempo
esta incluida en Java a través de algunos paquetes incluidos.

Arquitectura neutral
Internet tiene computadoras de diferente tipo, arquitectura,
sistema operativo, etc. Java es capaz de correr en cualquier
tipo de PC sin tener que recompilar el código, mediante su
bytecode de arquitectura neutral .

Por: Ing. Dr. Alberto Medina Villacorta


Características de Java
✓ El código Java no se compila sino se pre-compila, de este modo
se crea un código intermedio no ejecutable (bytecodes) , para
ejecutarlo se pasa por un intérprete que ejecuta cada linea,
este interprete suele ser la máquina virtual de java (JVM).
✓ Los tipos de datos y control de sintaxis son más rigurosos.
✓ Es independiente de la plataforma.
✓ Admite firmas digitales.
✓ El uso de bytecodes hace los programas Java más compactos y
como tal son ideales para la red Internet.

Por: Ing. Dr. Alberto Medina Villacorta


Características de Java
✓ La versión actual es Java 2, incorpora la compilación al instante
o Just In Time (JIT) en la JVM, los bytecodes no se interpretan
uno a uno sino en secciones siendo compilados en forma
interactiva por lo que el programa se ejecuta más rápido.
✓ Con el eslogan "Escribir una vez, ejecutar en cualquier lugar"
como fundamento, se puede escribir código Java para una
plataforma que se ejecutaría en cualquier otra que tenga
instalada una máquina virtual Java.
✓ La aparición de Internet y la proliferación de dispositivos
digitales a mediados de los 90, los desarrolladores adoptaron
Java como lenguaje de programación de plataforma múltiple.
Por: Ing. Dr. Alberto Medina Villacorta
Ventajas de Java sobre C++

✓ Su sintáxis es similar a C y C++.


✓ Es interpretado, lo que acelera su ejecución remota,
aunque es más lenta que las aplicaciones de C++ en un
ordenador local.
✓ No usa punteros, lo que lo hace más seguro.
✓ Es totalmente orientado a objetos.
✓ Es muy preparado para aplicaciones TCP/IP.
✓ Implementa excepciones de forma nativa.
✓ Permite multihilos.
Por: Ing. Dr. Alberto Medina Villacorta
Java y JavaScript
✓ La confusión se debe al parecido en el nombre.
✓ Java y JavaScript no tienen nada que ver entre si.
✓ Java fue creado en Sun Microsystems (ahora es de Oracle).
✓ JavaScript fue creada por NetScape.
✓ Java es un lenguaje completo para crear todo tipo de
aplicaciones completas.
✓ JavaScript es código que está inmerso en una página Web.
✓ La sintaxis de ambos lenguajes se parecen apenas.

Por: Ing. Dr. Alberto Medina Villacorta


Java y JavaScript

✓ La finalidad de Java es crear aplicaciones de todo tipo, aunque


está muy preparado para crear sobre todo aplicaciones en red.
✓ La finalidad de JavaScript es mejorar el dinamismo de las
páginas web.

Por: Ing. Dr. Alberto Medina Villacorta


Seguridad en Java
✓ Dado que los programas de Java no son ejecutables hay
posibilidades de controlar la seguridad .
✓ Al interpretar el código la JVM puede delimitar las operaciones
peligrosas con lo que la seguridad se controla fácilmente.
✓ Java elimina instrucciones dependientes de la máquina y los
punteros que dan la posibilidad de generar programas para
atacar sistemas.
✓ No permite el acceso directo a memoria.
✓ La primera linea de seguridad es un verificador del bytecode
que comprueba si el comportamiento del código es correcto y
sigue las reglas de Java.
Por: Ing. Dr. Alberto Medina Villacorta
Seguridad en Java
✓ El segundo paso es el verificador de clases, es un programa que
proporciona las clases necesarias al código, que se asegura que
las clases que se cargan son originales y no creadas y
reemplazadas artificialmente.
✓ Finalmente hay un administrador de seguridad que es un
programa configurable que permite al usuario indicar los
niveles de seguridad a su sistema para todos los programas Java.
✓ Otra forma es relacionada con la confianza, para saber si el
código procede de un sitio de confianza y no de una fuente no
identificada, Java permite añadir firmas digitales para verificar
al autor.
Por: Ing. Dr. Alberto Medina Villacorta
Aplicaciones Java: Applets

✓ Son aplicaciones embebidas en una página Web que se ejecutan


en el cliente, son programas Java pensados para ser colocados
dentro de una página Web.
✓ Son interpretados por navegadores con capacidades Java.
✓ Los programas se insertan utilizando una etiqueta especial,
como se insertan videos, animaciones flash u otros objetos.
✓ Son programas independientes, pero al estar incluidos en una
página Web, las reglas de éstas le afectan.
✓ Normalmente un applet solo puede actuar sobre el navegador.

Por: Ing. Dr. Alberto Medina Villacorta


Aplicaciones Java: Applets

✓ Permiten integrar en páginas Web aplicaciones multimedia


avanzados incluyendo imágenes 3D y sonido y video de alta
calidad.

Por: Ing. Dr. Alberto Medina Villacorta


Aplicaciones Java para móviles
✓ Son programas que pueden ser utilizados en dispositivos
móviles; ipod, celulares, PDA, tablet, etc.
✓ Requieren J2ME o Micro Edition que es un software
especializado (J2ME Wireless Toolkit) para el diseño y la
compilación del programa, con sintaxis del lenguaje Java.
✓ Android Studio es el IDE oficial para el desarrollo de
aplicaciones para Android, reemplazó a Eclipse,
su 1ra. versión data de diciembre de 2014.

Por: Ing. Dr. Alberto Medina Villacorta


Aplicaciones Java: Internet de las cosas
✓ Red de objetos y dispositivos (“cosas”)
conectados que están equipados con
sensores (y otras tecnologías) que les
permiten transmitir y recibir datos,
desde y hacia otras cosas y sistemas.
✓ Están en todas partes (televisores
inteligentes, coches, maquinaria pesada,
instalaciones de trabajo, etc.)
✓ Java se usa para programar muchas de
ellas, es una opción popular para los
desarrolladores de IoT por la facilidad
con la que puede transferirse su código
entre plataformas.
Por: Ing. Dr. Alberto Medina Villacorta
Aplicaciones Java
✓ Servlets: Se ejecutan en un servidor de aplicaciones Web y
como resultado de su ejecución se obtiene una página Web.
✓ Aplicaciones gráficas: Hacen uso de las clases y objetos con
capacidades gráficas y permiten crear aplicaciones GUI. (AWT)
✓ Aplicaciones de consola: Son
programas basados en texto
que se ejecutan desde la linea
de comandos, pueden leer y
mostrar texto en la consola
del sistema.

Por: Ing. Dr. Alberto Medina Villacorta


La Máquina Virtual de Java
✓ Java Virtual Machine (JVM)
✓ El código fuente en Java se precompila generando un código
semicompilado que no es directamente ejecutable conocido
como bytecodes o Jcode.
✓ El resultado se genera en archivos .class y son los que son
ejecutados por la JVM.
✓ La JVM interpreta las instrucciones de los bytecodes y ejecuta el
código de la aplicación.
✓ El bytecode se puede ejecutar en cualquier plataforma, lo único
que se requiere es que la plataforma posea un interprete
adecuado.
Por: Ing. Dr. Alberto Medina Villacorta
La Máquina Virtual de Java
✓ La JVM es un programa muy pequeño y se distribuye
gratuitamente para casi todos los sistemas operativos.
✓ A este método de ejecución de programas en tiempo real se
denomina Just in time (JIT).
✓ En Java la unidad fundamental del código son las clases.
✓ Los programas de Java no son ejecutables, no se compilan como
en C o C++, en su lugar son interpretados por la JVM, no
incluyen las librerías de la plataforma.
✓ Las clases son las que se distribuyen en el formato bytecode de
Java.

Por: Ing. Dr. Alberto Medina Villacorta


La Máquina Virtual de Java

✓ Las clases se cargan dinámicamente durante la ejecución del


programa Java.

Por: Ing. Dr. Alberto Medina Villacorta


La Máquina Virtual de Java

[Link]

Por: Ing. Dr. Alberto Medina Villacorta


La Máquina Virtual de Java

Fuente: [Link]
Por: Ing. Dr. Alberto Medina Villacorta
La Máquina Virtual Java

Fuente: [Link]

Por: Ing. Dr. Alberto Medina Villacorta


Kid de desarrollo de Java (JDK)
✓ JDK= Java Development Kit, es un
entorno de desarrollo de software
multiplataforma que incluye
herramientas y bibliotecas para crear
aplicaciones y applets basados ​en
Java.
✓ Es un paquete fundamental de Java,
colección de herramientas y
bibliotecas de desarrollo de software,
incluido Java Runtime Environment
(JRE) y Java Virtual Machine (JVM).

Por: Ing. Dr. Alberto Medina Villacorta


Kid de desarrollo de Java (JDK)
✓ Los principiantes a menudo confunden JDK
y JRE y generalmente plantean preguntas
como: ¿para ejecutar programas Java, solo
se requiere el entorno de ejecución de Java?,
pero ¿por qué todo el JDK?
✓ La respuesta es relativamente sencilla: si
solo desea ejecutar programas Java en su
equipo, puede hacerlo con el entorno de
ejecución de Java. Sin embargo, si crea una
aplicación de software basada en Java,
necesitará herramientas y bibliotecas
adicionales que solo están disponibles en el
JDK.

Por: Ing. Dr. Alberto Medina Villacorta


Diferencia entre JDK, JRE y JVM
Para tener una idea clara de sus funciones y propiedades es importante
distinguir entre estos tres y entender cómo se relacionan:
✓ JDK: Proporciona herramientas para
desarrollar aplicaciones y probar
programas escritos en Java o que se
ejecutan en la plataforma Java.
✓ JRE: Es el componente de Java en disco
que genera la JVM.
✓ JVM: Es el componente de la plataforma
Java que ejecuta los programas.

Por: Ing. Dr. Alberto Medina Villacorta


Kid de desarrollo de Java

✓ Hay entornos para crear bytecodes que incluyen herramientas


con capacidad de ejecutar aplicaciones de todo tipo.
✓ Se puede descargar del sitio oficial de Java en:
[Link]
✓ También la descarga directa en:
[Link]
✓ Incluye visores de código, depuradores y otras utilidades.
✓ Actualmente se le conoce como SDK (Standard Development
Kit )

Por: Ing. Dr. Alberto Medina Villacorta


Sitio oficial de Oracle - Java

Fuente: [Link]

Fuente: [Link]
Por: Ing. Dr. Alberto Medina Villacorta
Descarga directa de Oracle - Java

Fuente: [Link]

Fuente: [Link]

Por: Ing. Dr. Alberto Medina Villacorta


Descarga de Java 8

Fuente: [Link]

Fuente: [Link]

Por: Ing. Dr. Alberto Medina Villacorta


Evolución del Lenguaje Java

✓ Para crear los bytecodes, hace falta el JDK, este se actualiza,


mejora y renueva constantemente.
✓ Por ello se habla de Java 1.1, Java 1.2, etc. JDK evoluciona
permanentemente hacia nuevas versiones, actualmente se
conoce como Java 2.
✓ Desde la versión Java 1.2 es conocida como Java 2 y el JDK se
llama Java 2 Developer Kit o J2DK.
✓ Java 1.0 fue la primera versión y propuso el marco general en
el que se desenvuelve Java.

Por: Ing. Dr. Alberto Medina Villacorta


Evolución del Lenguaje Java

✓ Java 1.0 está oficialmente obsoleto pero hay muchos clientes


con esa versión.
✓ Java 1.1 superó la versión anterior incorporando entre otras las
siguientes mejoras:
 Incluye el paquete AWT (Abstract Windowing Toolkit) que permite
crear interfases gráficas de usuario (GUI).
 JDBC (Java Database Connectivity) que es soportado de forma nativa
por Internet Explorer y Netscape.
 RMI (Remote Method Invocation): Método remoto de llamada, permite
que un objeto que se ejecuta en una JVM pueda invocar métodos de un
objeto en ejecución en otra JVM o servidor.
 Internalización: permite crear programas adaptables a todos los
idiomas y creación de applets locales.
Por: Ing. Dr. Alberto Medina Villacorta
Evolución del Lenguaje Java

✓ En diciembre de 1998 aparece Java 1.2 conocida como Java 2


✓ Incorpora las siguientes mejoras:
 JFC (Java Fundation Class)
 Conjunto de clases DETODO para crear programas más atractivos de
todo tipo.
 El paquete swing (la más importante), permite hacer lo mismo que
AWT pero superándolo ampliamente.
 Enterprise JavaBeans, para la creación de componentes de aplicaciones
distribuidas en el lado del servidor.
 Java Media, conjunto de paquetes para crear paquetes multimedia.
 Java 2D, parte de JFC que permite crear gráficos de alta calidad en
programas Java.
Por: Ing. Dr. Alberto Medina Villacorta
Evolución del lenguaje Java

✓ Incorpora las siguientes mejoras:


 Java Media Framework, paquete marco para elementos multimedia.
 Java Speech, reconocimiento de voz.
 Java Sound, manejo de audio de alta calidad.
 Java TV, televisión interactiva.
 Java servlets, herramienta para crear aplicaciones de servidor Web y otros
tipos.
 Java help, permite la creación de sistemas de ayuda.
 Java card, versión dirigida a pequeños dispositivos electrónicos.
 etc.

Por: Ing. Dr. Alberto Medina Villacorta


Evolución del lenguaje Java

✓ La versión actual es: Java SE Development Kit 24 y el JRE


Version 8 Update 481 del 15 de julio de 2025.
✓ Hay varias ediciones del J2DK de Java, las más usadas son:
 J2SE o Standart Edition, es la plataforma Java estándar, para
crear applets y aplicaciones en lenguaje Java.
 J2EE o Enterprise Edition, para crear aplicaciones
empresariales y del lado del servidor.
 J2ME o Micro Edition, permite crear aplicaciones para
dispositivos móviles.

Por: Ing. Dr. Alberto Medina Villacorta


La Plataforma Java 2

Por: Ing. Dr. Alberto Medina Villacorta


Editores y Entornos

El código Java se escribe en un editor de texto, para compilarlo a


bytecode se requiere el JDK, ésta tarea se facilita con IDEs como:
✓ NetBeans: Entorno gratuito de código abierto para generación
de bytecodes, su IDE tiene:
 Editor avanzado de código.
 Depurador de diversos lenguajes
 Extensiones de todo tipo y
 Apache TomCat, un servidor de aplicaciones contenedor de
servlets que permite ejecutar aplicaciones web basadas en
Java.

Por: Ing. Dr. Alberto Medina Villacorta


Editores y Entornos
✓ NetBeans comenzó en la República Checa como un
proyecto estudiantil (originalmente llamado Xelfi),
en 1996. El objetivo era escribir un IDE Java
(entorno de desarrollo integrado) similar a Delphi
en Java.
✓ Xelfi fue el primer IDE de Java escrito en Java, con
sus primeros lanzamientos preliminares en 1997.
✓ En setiembre de 2016 el blog oficial de NetBeans,
anunció que Oracle cedió todos los derechos de la
IDE de programación a la fundación Apache con el
fin de que esta fundación sea quien continúe con el
desarrollo de la herramienta a fin de adaptarla a
los nuevos lenguajes de programación.

Por: Ing. Dr. Alberto Medina Villacorta


Apache NetBeans

Fuente: [Link]

Fuente: [Link]
Por: Ing. Dr. Alberto Medina Villacorta
Apache NetBeans

Fuente: [Link]

Fuente: [Link]
Por: Ing. Dr. Alberto Medina Villacorta
Apache NetBeans

Por: Ing. Dr. Alberto Medina Villacorta


Editores y Entornos
✓ Eclipse, entorno completo de código abierto que admite
numerosas extensiones incluido un módulo para J2SE, es
uno de los más usados por su compatibilidad con
aplicaciones Java y por sus interesantes opciones de ayuda
al escribir código.
✓ Sun ONE Studio, entorno para la creación de aplicaciones
Java, creada por la Sun Mic. A partir de NetBeans. (No es
gratuita), implicada con los servidores ONE de Java.

Por: Ing. Dr. Alberto Medina Villacorta


Editores y Entornos

Fuente: [Link]
Por: Ing. Dr. Alberto Medina Villacorta
Editores y Entornos

Fuente: [Link]

Fuente: [Link]
Por: Ing. Dr. Alberto Medina Villacorta
Editores y Entornos

Por: Ing. Dr. Alberto Medina Villacorta


Editores y Entornos
✓ Borland JBuilder, entorno completo creada por Borland (Delphi), IDE
para crear todo tipo de aplicaciones Java incluso para móviles.
✓ Visual AGE, entorno de programación de Java creada por IBM, la más
antigua.
✓ Visual Cafe, Visual J#.NET, y Visual J++, (No son estándar), IntelliJ Idea,
Kawa PRO,
✓ JCreator, editor comercial muy potente y de bajo precio, no es un IDE
completo lo que lo hace muy ligero y funciona en cualquier máquina.

Por: Ing. Dr. Alberto Medina Villacorta


Editores y Entornos

Por: Ing. Dr. Alberto Medina Villacorta


amedinav@[Link]

También podría gustarte