SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Java avanzado Aspectos generales
Objetivos de la asignatura Los alumnos sean capaces de: ,[object Object],[object Object],[object Object],[object Object]
Evaluación de la asignatura ,[object Object],[object Object],[object Object],[object Object]
Temas de la clase 1. Introducción ,[object Object],[object Object],[object Object],[object Object]
Objetivos  de la clase 1. Introducción ,[object Object],[object Object],[object Object]
Sitios de sus creadores:   ,[object Object],[object Object],[object Object]
Java: un poco de historia Desarrollado por la Sun MicroSystems en 1991. Formaba parte del proyecto GREEN, software  para controlar dispositivos electrodomésticos. También aspiraban a que los dispositivos se comunicaran entre ellos.
Inicio de la investigación Un prototipo de dispositivo  STAR 7  parecido a un control remoto, que se comunicaba con otros de la misma especie.  Se pensaba usar C++ Como lenguaje de programación. ,[object Object],Se encerró en su escritorio y escribió el lenguaje que denomino OAK.
Continua el proyecto En 1994 fue creado el navegador Web para ejecutar applets de java. Eso demostró: a) lo que ofrecía Java para la www y b) el tipo de programas que podría crearse. Los programadores Patrick Naughton  y Jonathan Payne usaron Java para crear el navegador, que se denomino primero Web Runner y después HotJava.
El despegue Se produce después que Netscape se convierte en la primera empresa en licenciarla en agosto de 1995. En una conferencia en mayo de 1996 el empresario de Netscape Marc Andreesen expreso: “El lenguaje java es una tremenda oportunidad para todos ” Después del lanzamiento publico del lenguaje  Java la Sun junto con otra subsidiaria llamada JavaSoft le dio un considerable impulso la lenguaje.
Versiones ,[object Object],[object Object],[object Object],[object Object],Se corresponden con las de (Java Development Kit) o JDK
Herramientas disponibles ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Perspectivas??? La empresa de tecnología KPCB(Kleiner, Perkins , caufield and Byers) ofreció 100 millones de dólares para apoyar la apertura de empresas que usaran Java como lenguaje de programación. ,[object Object],[object Object],[object Object],[object Object]
El lenguaje Java Es a la vez:   Compilado: convierte los .java  en bytecodes. Interpretado. ejecuta cada una de estas instrucciones en un ordenador específico .
 
Cada intérprete Java Es una implementación de la Máquina Virtual Java (JVM). Los bytecodes posibilitan el objetivo de " write once, run anywhere ", de escribir el programa una vez y que se pueda correr en cualquier plataforma que disponga de una implementación de la JVM. Por ejemplo, el mismo programa Java puede correr en Windows 98, Solaris, Macintosh, etc.
Java se refiere a: ,[object Object],[object Object],[object Object],[object Object]
 
La Máquina Virtual Java La Máquina Virtual Java (JVM) es el entorno en el que se ejecutan los programas Java, su misión principal es la de garantizar la portabilidad de las aplicaciones Java. Define esencialmente un ordenador abstracto y especifica las instrucciones (bytecodes) que este ordenador puede ejecutar. El intérprete Java específico ejecuta las instrucciones que se guardan en los archivos cuya extensión es .class.
Cinco tareas principales de la JVM ,[object Object],[object Object],[object Object],[object Object],[object Object]
En la  última tarea ,[object Object],[object Object],[object Object],[object Object]
El lenguaje Java El lenguaje Java no está diseñado solamente para crear applets que corren en la ventana del navegador. Java es un lenguaje de propósito general, de alto nivel, y orientado a objetos.
Java es un lenguaje de programación orientado a objetos puro, en el sentido de que no hay ninguna variable, función o constante que no esté dentro de una clase. Se accede a los miembros dato y las funciones miembro a través de los objetos y de las clases. Por razones de eficiencia, se han conservado los tipos básicos de datos, int, float, double, char, etc, similares a los del lenguaje C/C++. Orientado a objetos puro
Tipos de programas más comunes applets  (se ejecutan en el navegador de la máquina cliente).  aplicaciones  (programas que se ejecutan directamente en la JVM).  servlet  que es similar a los applets pero se ejecutan en los servidores Java.
Applets ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Nota Ejemplo
La API de Java  ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],La API de Java
El primer programa en Java Los programas fuentes escritos en Java son archivos de textos puro que pueden ser escritos en cualquier editor. Por lo tanto para escribir el primer programa, lo primero es activar un editor.
Características distintivas   Java
Es SIMPLE Java ofrece toda la funcionalidad de un lenguaje potente, pero sin las características menos usadas y más confusas de éstos. C++ es un lenguaje que adolece de falta de seguridad, pero C y C++ son lenguajes más difundidos, por ello Java se diseñó para ser parecido a C++ y así facilitar un rápido y fácil aprendizaje. Java elimina muchas de las características de otros lenguajes como C++, para mantener reducidas las especificaciones del lenguaje y añadir características muy útiles como el garbage collector (reciclador de memoria dinámica). No es necesario preocuparse de liberar memoria, el reciclador se encarga de ello y como es un thread de baja prioridad, cuando entra en acción, permite liberar bloques de memoria muy grandes, lo que reduce la fragmentación de la memoria.
Reduce en un 50% los errores más comunes de programación  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Es ORIENTADO A OBJETOS Java implementa la tecnología básica de C++ con algunas mejoras y elimina algunas cosas para mantener el objetivo de la simplicidad del lenguaje. Java trabaja con sus datos como objetos y con interfaces a esos objetos. Soporta las tres características propias del paradigma de la orientación a objetos: encapsulación, herencia y polimorfismo. Las plantillas de objetos son llamadas, como en C++, clases y sus copias, instancias.
Java incorpora funcionalidades inexistentes en C++ En C++ se suele trabajar con librerías dinámicas (DLLs) que obligan a recompilar la aplicación cuando se retocan las funciones que se encuentran en su interior. Este inconveniente es resuelto por Java mediante una interfaz específica llamada RTTI (RunTime Type Identification) que define la interacción entre objetos excluyendo variables de instancias o implementación de métodos. Las clases en Java tienen una representación en el runtime que permite a los programadores interrogar por el tipo de clase y enlazar dinámicamente la clase con el resultado de la búsqueda.
Es DISTRIBUIDO: Java se ha construido con extensas capacidades de interconexión TCP/IP. Existen librerías de rutinas para acceder e interactuar con protocolos como http y ftp. Esto permite a los programadores acceder a la información a través de la red con tanta facilidad como a los ficheros locales. La verdad es que Java en sí no es distribuido, sino que proporciona las librerías y herramientas para que los programas puedan ser distribuidos, es decir, que se corran en varias máquinas, interactuando.
Es ROBUSTO ,[object Object],[object Object],[object Object]
ADEMAS… Java proporciona: Comprobación de punteros  Comprobación de límites de arrays  Excepciones  Verificación de byte-codes
Es de ARQUITECTURA NEUTRAL: El compilador Java compila su código a un fichero objeto de formato independiente de la arquitectura de la máquina en que se ejecutará. Cualquier máquina que tenga el sistema de ejecución (run-time) puede ejecutar ese código objeto, sin importar en modo alguno la máquina en que ha sido generado. Actualmente existen sistemas run-time para Solaris 2.x, SunOs 4.1.x, Windows 95, Windows NT, Linux, Irix, Aix, Mac, Apple y probablemente haya grupos de desarrollo trabajando en el porting a otras plataformas.
 
Arquitectura de Java sobre una plataforma genérica
Es SEGURO Cuando se usa Java para crear un navegador, se combinan las características del lenguaje con protecciones de sentido común aplicadas al propio navegador. Los programadores de C utilizan punteros en conjunción con operaciones aritméticas. Con un lenguaje como C, se pueden tomar números enteros aleatorios y convertirlos en punteros para luego acceder a la memoria:
Es PORTABLE: Más allá de la portabilidad básica por ser de arquitectura independiente, Java implementa otros estándares de portabilidad para facilitar el desarrollo. Los enteros son siempre enteros y además, enteros de 32 bits en complemento a 2. Además, Java construye sus interfaces de usuario a través de un sistema abstracto de ventanas de forma que las ventanas puedan ser implantadas en entornos Unix, Pc o Mac.
Es INTERPRETADO El intérprete Java (sistema run-time) puede ejecutar directamente el código objeto. Enlazar (linkar) un programa, normalmente, consume menos recursos que compilarlo, por lo que los desarrolladores con Java pasarán más tiempo desarrollando y menos esperando por el ordenador. No obstante, el compilador actual del JDK es bastante lento. Por ahora, que todavía no hay compiladores específicos de Java para las diversas plataformas, Java es más lento que otros lenguajes de programación, como C++, ya que debe ser interpretado y no ejecutado como sucede en cualquier programa tradicional.
Es MULTITHREADED Al ser multithreaded (multihilvanado, en mala traducción), Java permite muchas actividades simultáneas en un programa. Los threads (a veces llamados, procesos ligeros), son básicamente pequeños procesos o piezas independientes de un gran proceso. Al estar los threads construidos en el lenguaje, son más fáciles de usar y más robustos que sus homólogos en C o C++.
Es MULTITHREADED cont… El beneficio de ser miltithreaded consiste en un mejor rendimiento interactivo y mejor comportamiento en tiempo real. Aunque el comportamiento en tiempo real está limitado a las capacidades del sistema operativo subyacente (Unix, Windows, etc.), aún supera a los entornos de flujo único de programa (single-threaded) tanto en facilidad de desarrollo como en rendimiento. Cualquiera que haya utilizado la tecnología de navegación concurrente, sabe lo frustrante que puede ser esperar por una gran imagen que se está trayendo. En Java, las imágenes se pueden ir trayendo en un thread independiente, permitiendo que el usuario pueda acceder a la información en la página sin tener que esperar por el navegador.
Es DINAMICO Java se beneficia todo lo posible de la tecnología orientada a objetos. Java no intenta conectar todos los módulos que comprenden una aplicación hasta el tiempo de ejecución. Las librería nuevas o actualizadas no paralizarán las aplicaciones actuales (siempre que mantengan el API anterior).
Piezas que el sistema necesita para funcionar.
Fin de la clase
Actualmente, casi todos los applets son escritos en java 1.0.2, la primera versión del lenguaje, porque  las empresas lideres en la fabricación de navegadores demoraron en ofrecer soporte a los navegadores 1.1 y 1.2. Actualmente los navegadores  incluyen soporte para las ultimas versiones del lenguaje Nota1
Nota 2 Pentium PowerPc SPARC Código Java Compilador Java Byte code Java
Orientado a objetos Un modo de conceptuar un programa de computadora como un conjunto de objetos en interacción . Java hereda gran parte de estos  conceptos de C++, lenguaje en el que esta fuertemente basado.

Weitere ähnliche Inhalte

Was ist angesagt?

Programación en Java (I)
Programación en Java (I) Programación en Java (I)
Programación en Java (I) Cristian
 
Aplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointAplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointMariviMartinezM
 
Manual.curso.de.java.desde.cero
Manual.curso.de.java.desde.ceroManual.curso.de.java.desde.cero
Manual.curso.de.java.desde.ceroLalo Pérez
 
Java desde 0 pre
Java desde 0 preJava desde 0 pre
Java desde 0 prejtk1
 
CUESTIONARIO JAVA
CUESTIONARIO JAVACUESTIONARIO JAVA
CUESTIONARIO JAVAjesanchez5
 
Introducción a java
Introducción a javaIntroducción a java
Introducción a javawaldinelly
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basicoSaviotec
 
PRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVAPRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVANoralma Yanez
 
[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma JavaEudris Cabrera
 
Clase2
Clase2Clase2
Clase2rilara
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaSantiago Sora
 
Mi Lenguaje de Programacion de Preferencia
Mi Lenguaje de Programacion de PreferenciaMi Lenguaje de Programacion de Preferencia
Mi Lenguaje de Programacion de PreferenciaNelson Rivera
 
Introduccion java
Introduccion javaIntroduccion java
Introduccion javaals_8
 

Was ist angesagt? (15)

Programación en Java (I)
Programación en Java (I) Programación en Java (I)
Programación en Java (I)
 
Aplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power PointAplicaciones java. Presentacion Power Point
Aplicaciones java. Presentacion Power Point
 
Manual.curso.de.java.desde.cero
Manual.curso.de.java.desde.ceroManual.curso.de.java.desde.cero
Manual.curso.de.java.desde.cero
 
Java desde 0 pre
Java desde 0 preJava desde 0 pre
Java desde 0 pre
 
CUESTIONARIO JAVA
CUESTIONARIO JAVACUESTIONARIO JAVA
CUESTIONARIO JAVA
 
Introducción a java
Introducción a javaIntroducción a java
Introducción a java
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 
PRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVAPRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVA
 
Java
JavaJava
Java
 
[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java[ES] Primeros pasos con la Plataforma Java
[ES] Primeros pasos con la Plataforma Java
 
Que Es Java
Que Es JavaQue Es Java
Que Es Java
 
Clase2
Clase2Clase2
Clase2
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
 
Mi Lenguaje de Programacion de Preferencia
Mi Lenguaje de Programacion de PreferenciaMi Lenguaje de Programacion de Preferencia
Mi Lenguaje de Programacion de Preferencia
 
Introduccion java
Introduccion javaIntroduccion java
Introduccion java
 

Andere mochten auch (8)

Semana9 Vbr
Semana9 VbrSemana9 Vbr
Semana9 Vbr
 
JRuby ¿Lo mejor de dos mundos?
JRuby ¿Lo mejor de dos mundos?JRuby ¿Lo mejor de dos mundos?
JRuby ¿Lo mejor de dos mundos?
 
Introducción a la Tecnología Java
Introducción a la Tecnología JavaIntroducción a la Tecnología Java
Introducción a la Tecnología Java
 
Modulo 1
Modulo 1Modulo 1
Modulo 1
 
Introduccin a-la-tecnologa-java100
Introduccin a-la-tecnologa-java100Introduccin a-la-tecnologa-java100
Introduccin a-la-tecnologa-java100
 
Clase ii
Clase iiClase ii
Clase ii
 
Lenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual MachineLenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual Machine
 
Módulo 01 Introducción a la Tecnología Java
Módulo 01 Introducción a la Tecnología JavaMódulo 01 Introducción a la Tecnología Java
Módulo 01 Introducción a la Tecnología Java
 

Ähnlich wie C1 java introduccion

Ähnlich wie C1 java introduccion (20)

JAVA
JAVAJAVA
JAVA
 
Java basico
Java basicoJava basico
Java basico
 
Java desde 0
Java desde 0Java desde 0
Java desde 0
 
Java desde 0 pre
Java desde 0 preJava desde 0 pre
Java desde 0 pre
 
Lenguaje de programacion java
Lenguaje de programacion javaLenguaje de programacion java
Lenguaje de programacion java
 
Introduccion a Java
Introduccion a JavaIntroduccion a Java
Introduccion a Java
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Ut
UtUt
Ut
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
 
Antecedentes java
Antecedentes java Antecedentes java
Antecedentes java
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrollo
 
Mi lenguaje de programacion de preferencia
Mi lenguaje de programacion de preferenciaMi lenguaje de programacion de preferencia
Mi lenguaje de programacion de preferencia
 
Introduccion Java
Introduccion JavaIntroduccion Java
Introduccion Java
 
Conceptos de programación orientada a objeto
Conceptos de programación orientada a objetoConceptos de programación orientada a objeto
Conceptos de programación orientada a objeto
 
Trabajo java
Trabajo javaTrabajo java
Trabajo java
 
MANUAL DE JAVA
MANUAL DE JAVAMANUAL DE JAVA
MANUAL DE JAVA
 
Java desde cero
Java desde ceroJava desde cero
Java desde cero
 
MANUAL JAVA
MANUAL JAVA MANUAL JAVA
MANUAL JAVA
 
JAVA
JAVA JAVA
JAVA
 

Mehr von Mariano Galvez

Mehr von Mariano Galvez (20)

Temas y estructura para la investigación
Temas  y estructura para la investigaciónTemas  y estructura para la investigación
Temas y estructura para la investigación
 
Tema 6 planes de seguridad informatica
Tema 6 planes de seguridad informaticaTema 6 planes de seguridad informatica
Tema 6 planes de seguridad informatica
 
Tema 5 criptografia y redes
Tema 5 criptografia y redesTema 5 criptografia y redes
Tema 5 criptografia y redes
 
Tema 4 mecanismos de defensa
Tema 4 mecanismos de defensaTema 4 mecanismos de defensa
Tema 4 mecanismos de defensa
 
Tema 3 ataques
Tema 3 ataquesTema 3 ataques
Tema 3 ataques
 
Tema 3 ataques
Tema 3 ataquesTema 3 ataques
Tema 3 ataques
 
Tema 2 necesidad de la seguridad
Tema 2 necesidad de la seguridadTema 2 necesidad de la seguridad
Tema 2 necesidad de la seguridad
 
Tema 1 arquitectura de redes
Tema 1 arquitectura de redesTema 1 arquitectura de redes
Tema 1 arquitectura de redes
 
Resumen
ResumenResumen
Resumen
 
C6 java beans v2
C6  java beans v2C6  java beans v2
C6 java beans v2
 
C5 applets v2
C5 applets v2C5 applets v2
C5 applets v2
 
C5 applets v2
C5 applets v2C5 applets v2
C5 applets v2
 
Vaadin
VaadinVaadin
Vaadin
 
Badin
BadinBadin
Badin
 
C4 objeto metodos y funciones v2
C4 objeto metodos y funciones v2C4 objeto metodos y funciones v2
C4 objeto metodos y funciones v2
 
C3 las clases en java v2
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2
 
C2 fundamentos de java v2
C2 fundamentos de java v2C2 fundamentos de java v2
C2 fundamentos de java v2
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 

Kürzlich hochgeladen

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Kürzlich hochgeladen (10)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

C1 java introduccion

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Java: un poco de historia Desarrollado por la Sun MicroSystems en 1991. Formaba parte del proyecto GREEN, software para controlar dispositivos electrodomésticos. También aspiraban a que los dispositivos se comunicaran entre ellos.
  • 8.
  • 9. Continua el proyecto En 1994 fue creado el navegador Web para ejecutar applets de java. Eso demostró: a) lo que ofrecía Java para la www y b) el tipo de programas que podría crearse. Los programadores Patrick Naughton y Jonathan Payne usaron Java para crear el navegador, que se denomino primero Web Runner y después HotJava.
  • 10. El despegue Se produce después que Netscape se convierte en la primera empresa en licenciarla en agosto de 1995. En una conferencia en mayo de 1996 el empresario de Netscape Marc Andreesen expreso: “El lenguaje java es una tremenda oportunidad para todos ” Después del lanzamiento publico del lenguaje Java la Sun junto con otra subsidiaria llamada JavaSoft le dio un considerable impulso la lenguaje.
  • 11.
  • 12.
  • 13.  
  • 14.
  • 15. El lenguaje Java Es a la vez: Compilado: convierte los .java en bytecodes. Interpretado. ejecuta cada una de estas instrucciones en un ordenador específico .
  • 16.  
  • 17. Cada intérprete Java Es una implementación de la Máquina Virtual Java (JVM). Los bytecodes posibilitan el objetivo de " write once, run anywhere ", de escribir el programa una vez y que se pueda correr en cualquier plataforma que disponga de una implementación de la JVM. Por ejemplo, el mismo programa Java puede correr en Windows 98, Solaris, Macintosh, etc.
  • 18.
  • 19.  
  • 20. La Máquina Virtual Java La Máquina Virtual Java (JVM) es el entorno en el que se ejecutan los programas Java, su misión principal es la de garantizar la portabilidad de las aplicaciones Java. Define esencialmente un ordenador abstracto y especifica las instrucciones (bytecodes) que este ordenador puede ejecutar. El intérprete Java específico ejecuta las instrucciones que se guardan en los archivos cuya extensión es .class.
  • 21.
  • 22.
  • 23. El lenguaje Java El lenguaje Java no está diseñado solamente para crear applets que corren en la ventana del navegador. Java es un lenguaje de propósito general, de alto nivel, y orientado a objetos.
  • 24. Java es un lenguaje de programación orientado a objetos puro, en el sentido de que no hay ninguna variable, función o constante que no esté dentro de una clase. Se accede a los miembros dato y las funciones miembro a través de los objetos y de las clases. Por razones de eficiencia, se han conservado los tipos básicos de datos, int, float, double, char, etc, similares a los del lenguaje C/C++. Orientado a objetos puro
  • 25. Tipos de programas más comunes applets (se ejecutan en el navegador de la máquina cliente). aplicaciones (programas que se ejecutan directamente en la JVM). servlet que es similar a los applets pero se ejecutan en los servidores Java.
  • 26.
  • 27.
  • 28.
  • 29. El primer programa en Java Los programas fuentes escritos en Java son archivos de textos puro que pueden ser escritos en cualquier editor. Por lo tanto para escribir el primer programa, lo primero es activar un editor.
  • 31. Es SIMPLE Java ofrece toda la funcionalidad de un lenguaje potente, pero sin las características menos usadas y más confusas de éstos. C++ es un lenguaje que adolece de falta de seguridad, pero C y C++ son lenguajes más difundidos, por ello Java se diseñó para ser parecido a C++ y así facilitar un rápido y fácil aprendizaje. Java elimina muchas de las características de otros lenguajes como C++, para mantener reducidas las especificaciones del lenguaje y añadir características muy útiles como el garbage collector (reciclador de memoria dinámica). No es necesario preocuparse de liberar memoria, el reciclador se encarga de ello y como es un thread de baja prioridad, cuando entra en acción, permite liberar bloques de memoria muy grandes, lo que reduce la fragmentación de la memoria.
  • 32.
  • 33. Es ORIENTADO A OBJETOS Java implementa la tecnología básica de C++ con algunas mejoras y elimina algunas cosas para mantener el objetivo de la simplicidad del lenguaje. Java trabaja con sus datos como objetos y con interfaces a esos objetos. Soporta las tres características propias del paradigma de la orientación a objetos: encapsulación, herencia y polimorfismo. Las plantillas de objetos son llamadas, como en C++, clases y sus copias, instancias.
  • 34. Java incorpora funcionalidades inexistentes en C++ En C++ se suele trabajar con librerías dinámicas (DLLs) que obligan a recompilar la aplicación cuando se retocan las funciones que se encuentran en su interior. Este inconveniente es resuelto por Java mediante una interfaz específica llamada RTTI (RunTime Type Identification) que define la interacción entre objetos excluyendo variables de instancias o implementación de métodos. Las clases en Java tienen una representación en el runtime que permite a los programadores interrogar por el tipo de clase y enlazar dinámicamente la clase con el resultado de la búsqueda.
  • 35. Es DISTRIBUIDO: Java se ha construido con extensas capacidades de interconexión TCP/IP. Existen librerías de rutinas para acceder e interactuar con protocolos como http y ftp. Esto permite a los programadores acceder a la información a través de la red con tanta facilidad como a los ficheros locales. La verdad es que Java en sí no es distribuido, sino que proporciona las librerías y herramientas para que los programas puedan ser distribuidos, es decir, que se corran en varias máquinas, interactuando.
  • 36.
  • 37. ADEMAS… Java proporciona: Comprobación de punteros Comprobación de límites de arrays Excepciones Verificación de byte-codes
  • 38. Es de ARQUITECTURA NEUTRAL: El compilador Java compila su código a un fichero objeto de formato independiente de la arquitectura de la máquina en que se ejecutará. Cualquier máquina que tenga el sistema de ejecución (run-time) puede ejecutar ese código objeto, sin importar en modo alguno la máquina en que ha sido generado. Actualmente existen sistemas run-time para Solaris 2.x, SunOs 4.1.x, Windows 95, Windows NT, Linux, Irix, Aix, Mac, Apple y probablemente haya grupos de desarrollo trabajando en el porting a otras plataformas.
  • 39.  
  • 40. Arquitectura de Java sobre una plataforma genérica
  • 41. Es SEGURO Cuando se usa Java para crear un navegador, se combinan las características del lenguaje con protecciones de sentido común aplicadas al propio navegador. Los programadores de C utilizan punteros en conjunción con operaciones aritméticas. Con un lenguaje como C, se pueden tomar números enteros aleatorios y convertirlos en punteros para luego acceder a la memoria:
  • 42. Es PORTABLE: Más allá de la portabilidad básica por ser de arquitectura independiente, Java implementa otros estándares de portabilidad para facilitar el desarrollo. Los enteros son siempre enteros y además, enteros de 32 bits en complemento a 2. Además, Java construye sus interfaces de usuario a través de un sistema abstracto de ventanas de forma que las ventanas puedan ser implantadas en entornos Unix, Pc o Mac.
  • 43. Es INTERPRETADO El intérprete Java (sistema run-time) puede ejecutar directamente el código objeto. Enlazar (linkar) un programa, normalmente, consume menos recursos que compilarlo, por lo que los desarrolladores con Java pasarán más tiempo desarrollando y menos esperando por el ordenador. No obstante, el compilador actual del JDK es bastante lento. Por ahora, que todavía no hay compiladores específicos de Java para las diversas plataformas, Java es más lento que otros lenguajes de programación, como C++, ya que debe ser interpretado y no ejecutado como sucede en cualquier programa tradicional.
  • 44. Es MULTITHREADED Al ser multithreaded (multihilvanado, en mala traducción), Java permite muchas actividades simultáneas en un programa. Los threads (a veces llamados, procesos ligeros), son básicamente pequeños procesos o piezas independientes de un gran proceso. Al estar los threads construidos en el lenguaje, son más fáciles de usar y más robustos que sus homólogos en C o C++.
  • 45. Es MULTITHREADED cont… El beneficio de ser miltithreaded consiste en un mejor rendimiento interactivo y mejor comportamiento en tiempo real. Aunque el comportamiento en tiempo real está limitado a las capacidades del sistema operativo subyacente (Unix, Windows, etc.), aún supera a los entornos de flujo único de programa (single-threaded) tanto en facilidad de desarrollo como en rendimiento. Cualquiera que haya utilizado la tecnología de navegación concurrente, sabe lo frustrante que puede ser esperar por una gran imagen que se está trayendo. En Java, las imágenes se pueden ir trayendo en un thread independiente, permitiendo que el usuario pueda acceder a la información en la página sin tener que esperar por el navegador.
  • 46. Es DINAMICO Java se beneficia todo lo posible de la tecnología orientada a objetos. Java no intenta conectar todos los módulos que comprenden una aplicación hasta el tiempo de ejecución. Las librería nuevas o actualizadas no paralizarán las aplicaciones actuales (siempre que mantengan el API anterior).
  • 47. Piezas que el sistema necesita para funcionar.
  • 48. Fin de la clase
  • 49. Actualmente, casi todos los applets son escritos en java 1.0.2, la primera versión del lenguaje, porque las empresas lideres en la fabricación de navegadores demoraron en ofrecer soporte a los navegadores 1.1 y 1.2. Actualmente los navegadores incluyen soporte para las ultimas versiones del lenguaje Nota1
  • 50. Nota 2 Pentium PowerPc SPARC Código Java Compilador Java Byte code Java
  • 51. Orientado a objetos Un modo de conceptuar un programa de computadora como un conjunto de objetos en interacción . Java hereda gran parte de estos conceptos de C++, lenguaje en el que esta fuertemente basado.