• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
C1 java introduccion
 

C1 java introduccion

on

  • 475 views

 

Statistics

Views

Total Views
475
Views on SlideShare
475
Embed Views
0

Actions

Likes
0
Downloads
21
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    C1 java introduccion C1 java introduccion Presentation Transcript

    • Java avanzadoAspectos generales Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Objetivos de la asignatura Los alumnos sean capaces de:1.Entender los conceptos básicos de la programación orientada a objetos.2.Diseñar clases y jerarquías de clases.3.Escribir un programa java para un ambiente de programación.4.Resolver un problema sencillo usando JAVA Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Evaluación de la asignatura1.Un trabajo extraclase individual2.El trabajo en el laboratorio3.Una pregunta escrita en la semana 24.Una prueba final Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Temas de la clase 1. Introducción1.Que es Java2.Un poco de historia3.Herramientas disponibles4.Empezando a programar Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Objetivos de la clase 1. Introducción1.Conocer las razones que dieron origen al Lenguaje java.2.Tener nociones de las herramientas para trabajar con java.3.Comprender las diferencias y similitudes de java con otros lenguajes de programación Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Sitios de sus creadores:•http://java.sun.com ultimaversión de JDK:•http://java.sun.com/products/index.html•http://www.microsoft.com/visualj/ o elWrokshop de Sun enhttp://www.sun.com/developer-products/java/. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Java: un poco de historiaDesarrollado por la Sun MicroSystemsen 1991.Formaba parte del proyecto GREEN,software para controlar dispositivoselectrodomésticos.También aspiraban a que los dispositivosse comunicaran entre ellos. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Inicio de la investigaciónUn prototipo de dispositivo STAR 7 parecido a uncontrol remoto, que se comunicaba con otros de lamisma especie.Se pensaba usar C++ Como lenguaje deprogramación.A James Gosling no le gustaba como C++ resolvíalas tareas.Se encerró en su escritorio y escribió el lenguajeque denomino OAK. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Continua el proyectoEn 1994 fue creado el navegador Web para ejecutarapplets 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. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • El despegueSe produce después que Netscape se convierte enla primera empresa en licenciarla en agosto de1995.En una conferencia en mayo de 1996 el empresariode Netscape Marc Andreesen expreso: “El lenguajejava es una tremenda oportunidad para todos ”Después del lanzamiento publico del lenguajeJava la Sun junto con otra subsidiaria llamadaJavaSoft le dio un considerable impulso lalenguaje. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Versiones •Java 1.0.2 •Java 1.1.5 •Java 1.2 •Java 2Se corresponden con las de (JavaDevelopment Kit) o JDK Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Herramientas disponibles•Symantec Visual Café.•Borland JBuilder.•SuperCede.•Rogue Wave JFactory.•Natural Intelligence Roaster.•MetroWerks CodeWarrior.•SunSoft java WorkShop.•Eclipse Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Java DR. Febles Nota:Muchos jemplos son tomados dellibro de Laura Lemay y Rogers C.
    • Perspectivas???La empresa de tecnología KPCB(Kleiner, Perkins ,caufield and Byers) ofreció 100 millones de dólarespara apoyar la apertura de empresas que usaranJava como lenguaje de programación.Sus principales virtudes son:•Naturaleza independiente de plataforma.•Orientación a objetos.•Fácil aprendizaje Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • El lenguaje JavaEs a la vez:Compilado: convierte los .java enbytecodes.Interpretado. ejecuta cada una deestas instrucciones en un ordenadorespecífico. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Java DR. Febles Nota:Muchos jemplos son tomados dellibro de Laura Lemay y Rogers C.
    • Cada intérprete JavaEs una implementación de la Máquina VirtualJava (JVM). Los bytecodes posibilitan elobjetivo de "write once, run anywhere", deescribir el programa una vez y que se puedacorrer en cualquier plataforma que dispongade una implementación de la JVM. Porejemplo, el mismo programa Java puedecorrer en Windows 98, Solaris, Macintosh, etc. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Java se refiere a:• El lenguaje: para crear programas.• La Máquina Virtual Java: para ejecutarlos.La próxima slide muestra:Que el API de Java y la Máquina VirtualJava forman una capa intermedia (Javaplatform) que aísla el programa Java delas especificidades del hardware. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Java DR. Febles Nota:Muchos jemplos son tomados dellibro de Laura Lemay y Rogers C.
    • La Máquina Virtual JavaLa Máquina Virtual Java (JVM) es el entorno enel que se ejecutan los programas Java, sumisión principal es la de garantizar laportabilidad de las aplicaciones Java. Defineesencialmente un ordenador abstracto yespecifica las instrucciones (bytecodes) queeste ordenador puede ejecutar. El intérpreteJava específico ejecuta las instrucciones que seguardan en los archivos cuya extensión es.class. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Cinco tareas principales de la JVM1. Reservar espacio en memoria para los objetos creados.2. Liberar la memoria no usada (garbage collection).3. Asignar variables a registros y pilas4. Llamar al sistema huésped para ciertas funciones, como los accesos a los dispositivos5. Vigilar el cumplimiento de las normas de seguridad de las aplicaciones Java Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • En la última tarea•Las referencias a arrays son verificadas en elmomento de la ejecución del programa.•No hay manera de manipular de formadirecta los punteros.•La JVM gestiona automáticamente el uso dela memoria, de modo que no queden espaciosdesocupados.•No se permiten realizar ciertas conversiones(casting) entre distintos tipos de datos. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • El lenguaje JavaEl lenguaje Java no está diseñadosolamente para crear applets que correnen la ventana del navegador. Java es unlenguaje de propósito general, de altonivel, y orientado a objetos. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Orientado a objetos puroJava es un lenguaje de programaciónorientado a objetos puro, en el sentido de queno hay ninguna variable, función o constanteque no esté dentro de una clase. Se accede alos miembros dato y las funciones miembro através de los objetos y de las clases. Porrazones de eficiencia, se han conservado lostipos básicos de datos, int, float, double, char,etc, similares a los del lenguaje C/C++. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Tipos de programas más comunesapplets (se ejecutan en el navegador de lamáquina cliente).aplicaciones (programas que se ejecutandirectamente en la JVM).servlet que es similar a los applets pero seejecutan en los servidores Java. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • AppletsPueden ser usados para crear:•Animación.•Figuras. Nota•Juegos.•Formularios. Ejemplo•Otros efectos interactivos Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • La API de JavaEstá formada un conjunto de paquetes declases que le proporcionan una granfuncionalidad.El núcleo de la API viene con cada una de lasimplementaciones de la JVM:•Lo esencial: tipos de datos, clases y objetos,arrays, cadenas de caracteres (strings),subprocesos (threads), entrada/salida,propiedades del sistema, etc. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • La API de Java•Applets•Manejo de la red (networking)•Internacionalización•Seguridad•Componentes (JavaBeans)•Persistencia (Object serialization)•Conexión a bases de datos (JDBC) Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • El primer programa en JavaLos programas fuentes escritos en Javason archivos de textos puro que puedenser escritos en cualquier editor.Por lo tanto para escribir el primerprograma, lo primero es activar uneditor. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • JavaCaracterísticas distintivas Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Es SIMPLEJava ofrece toda la funcionalidad de un lenguaje potente, pero sin lascaracterísticas menos usadas y más confusas de éstos. C++ es unlenguaje que adolece de falta de seguridad, pero C y C++ sonlenguajes más difundidos, por ello Java se diseñó para ser parecido aC++ y así facilitar un rápido y fácil aprendizaje.Java elimina muchas de las características de otros lenguajes comoC++, para mantener reducidas las especificaciones del lenguaje yañadir características muy útiles como el garbage collector (recicladorde memoria dinámica). No es necesario preocuparse de liberarmemoria, el reciclador se encarga de ello y como es un thread de bajaprioridad, cuando entra en acción, permite liberar bloques de memoriamuy grandes, lo que reduce la fragmentación de la memoria. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Reduce en un 50% los errores más comunes de programación•aritmética de punteros.•no existen referencias.•registros (struct).•definición de tipos (typedef).•macros (#define).•necesidad de liberar memoria (free).Aunque, en realidad, lo que hace es eliminar las palabras reservadas(struct, typedef), ya que las clases son algo parecido.Además, el intérprete completo de Java que hay en este momento esmuy pequeño, solamente ocupa 215 Kb de RAM. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Es ORIENTADO A OBJETOSJava implementa la tecnología básica de C++con algunas mejoras y elimina algunas cosaspara mantener el objetivo de la simplicidad dellenguaje. Java trabaja con sus datos comoobjetos y con interfaces a esos objetos.Soporta las tres características propias delparadigma de la orientación a objetos:encapsulación, herencia y polimorfismo. Lasplantillas de objetos son llamadas, como enC++, clases y sus copias, instancias. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • 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. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Es DISTRIBUIDO:Java se ha construido con extensas capacidades deinterconexión TCP/IP. Existen librerías de rutinas paraacceder e interactuar con protocolos como http y ftp.Esto permite a los programadores acceder a lainformación a través de la red con tanta facilidadcomo a los ficheros locales.La verdad es que Java en sí no es distribuido, sinoque proporciona las librerías y herramientas para quelos programas puedan ser distribuidos, es decir, quese corran en varias máquinas, interactuando. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Es ROBUSTO•Java realiza verificaciones en busca de problemas tantoen tiempo de compilación como en tiempo de ejecución.•Maneja la memoria para eliminar las preocupaciones porparte del programador de la liberación o corrupción dememoria.•Implementa los arrays auténticos, en vez de listasenlazadas de punteros, con comprobación de límites,para evitar la posibilidad de sobreescribir o corrompermemoria resultado de punteros que señalan a zonasequivocadas. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • ADEMAS…Java proporciona:Comprobación de punterosComprobación de límites de arraysExcepcionesVerificación de byte-codes Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Es de ARQUITECTURA NEUTRAL:El compilador Java compila su código a un ficheroobjeto de formato independiente de la arquitectura dela máquina en que se ejecutará. Cualquier máquina quetenga el sistema de ejecución (run-time) puede ejecutarese código objeto, sin importar en modo alguno lamáquina en que ha sido generado. Actualmente existensistemas run-time para Solaris 2.x, SunOs 4.1.x,Windows 95, Windows NT, Linux, Irix, Aix, Mac, Apple yprobablemente haya grupos de desarrollo trabajando enel porting a otras plataformas. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Java DR. Febles Nota:Muchos jemplos son tomados dellibro de Laura Lemay y Rogers C.
    • Arquitectura de Java sobre una plataforma genérica Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Es SEGUROCuando se usa Java para crear un navegador, secombinan las características del lenguaje conprotecciones de sentido común aplicadas al propionavegador.Los programadores de C utilizan punteros enconjunción con operaciones aritméticas. Con unlenguaje como C, se pueden tomar números enterosaleatorios y convertirlos en punteros para luegoacceder a la memoria: Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Es PORTABLE:Más allá de la portabilidad básica por ser dearquitectura independiente, Java implementaotros estándares de portabilidad para facilitarel desarrollo. Los enteros son siempre enterosy además, enteros de 32 bits en complementoa 2. Además, Java construye sus interfaces deusuario a través de un sistema abstracto deventanas de forma que las ventanas puedanser implantadas en entornos Unix, Pc o Mac. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Es INTERPRETADOEl intérprete Java (sistema run-time) puede ejecutardirectamente el código objeto. Enlazar (linkar) unprograma, normalmente, consume menos recursos quecompilarlo, por lo que los desarrolladores con Javapasarán más tiempo desarrollando y menos esperandopor el ordenador. No obstante, el compilador actual delJDK es bastante lento. Por ahora, que todavía no haycompiladores específicos de Java para las diversasplataformas, Java es más lento que otros lenguajes deprogramación, como C++, ya que debe serinterpretado y no ejecutado como sucede en cualquierprograma tradicional. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Es MULTITHREADEDAl ser multithreaded (multihilvanado, en malatraducción), Java permite muchas actividadessimultáneas en un programa. Los threads (aveces llamados, procesos ligeros), sonbásicamente pequeños procesos o piezasindependientes de un gran proceso. Al estarlos threads construidos en el lenguaje, sonmás fáciles de usar y más robustos que sushomólogos en C o C++. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Es MULTITHREADED cont…El beneficio de ser miltithreaded consiste en un mejorrendimiento interactivo y mejor comportamiento en tiempo real.Aunque el comportamiento en tiempo real está limitado a lascapacidades 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 enrendimiento.Cualquiera que haya utilizado la tecnología de navegaciónconcurrente, sabe lo frustrante que puede ser esperar por unagran imagen que se está trayendo. En Java, las imágenes sepueden ir trayendo en un thread independiente, permitiendo queel usuario pueda acceder a la información en la página sin tenerque esperar por el navegador. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Es DINAMICOJava se beneficia todo lo posible de latecnología orientada a objetos. Java nointenta conectar todos los módulos quecomprenden una aplicación hasta el tiempode ejecución. Las librería nuevas oactualizadas no paralizarán las aplicacionesactuales (siempre que mantengan el APIanterior). Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Piezas que el sistema necesita parafuncionar. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Fin de la clase Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Nota1Actualmente, casi todos los applets sonescritos en java 1.0.2, la primera versión dellenguaje, porque las empresas lideres en lafabricación de navegadores demoraron enofrecer soporte a los navegadores 1.1 y 1.2.Actualmente los navegadores incluyensoporte para las ultimas versiones dellenguaje Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Nota 2Código Byte codeJava Pentium Java PowerPc Compilador Java SPARC Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.
    • Orientado a objetosUn modo de conceptuar unprograma de computadora comoun conjunto de objetos eninteracción.Java hereda gran parte de estosconceptos de C++, lenguaje en el queesta fuertemente basado. Java DR. Febles Nota: Muchos jemplos son tomados del libro de Laura Lemay y Rogers C.