Módulo 01 Introducción a la Tecnología Java

3,327 views
3,188 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,327
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
114
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Objetivos Alcanzar un entendimiento general de Java conociendo sus principales características y su tecnología asociada. Describir la Máquina Virtual de Java Conocer aquello que Java brinda y la manera como se realiza. Identificar los principales componentes de la J2SE: Java 2 Standard Edition o Java Development Kit (conocido como JDK o SDK)‏
  • ¿Qué es Java? “ Java es pequeño, simple, seguro, Orientado a Objetos, interpretado u optimizado dinámicamente, produce código byte, neutral de la arquitectura, posee un colector de basura, un lenguaje de programación multitarea con un mecanismo de manejo de excepciones para la escritura distribuida, programas extensibles dinámicamente” “ Esto representa el resultado de casi 15 años de intentar proponer un idioma de programación bueno y ambiente para construir el software más simple y más fiable” Bill Joy (cofundador de Sun Microsystems)‏ JAVA es un lenguaje de propósito general que puede ser empleado para desarrollar cualquier tipo de aplicación principalmente aquellas referidas ala internet. Java API (Java Application Programming Interface)‏ Java contiene librerías de clases predefinidas, que contienen atributos y métodos para administrar los requerimientos fundamentales de los programas. Administración de Ventanas, Entrada/Salida y clases para la comunicación de Redes están incluidas en el Java Developer’s Kit (JDK). Las librerías de clases simplifican la programación en Java y aceleran el desarrollo comparada con otros lenguajes. El JDK contiene utilidades para facilitar el desarrollo: Estas utilidades administran operaciones, búsqueda y eliminación de errores, despliegue y documentación.
  • Orientado a Objetos Un objeto es una entidad que tiene atributos de datos, más un juego de las funciones que son usadas para manipular el objeto, es decir, características y comportamiento. Java es un lenguaje fuertemente tipado, queriendo decir que casi todo en Java es un objeto. Las excepciones principales son los tipos de datos primitivos, como números enteros y caracteres. Interpretado y de Plataforma Independiente Los programas escritos en Java son interpretados a instrucciones de máquina nativo en tiempo de ejecución. Por que Java se ejecuta bajo el control de la JVM. Los programas de Java puede ejecutarse en cualquier sistema operativo que contenga una JVM. Dinámico y Distribuido Las clases de Java pueden ser descargadas dinámicamente de la red cuando se requiera. Adicionalmente, Java provee soporte extensivo para la programación distribuida y arquitectura Cliente/Servidor. Soporta la Multitarea Los programas Java pueden tener muchos hilos de ejecución para realizar muchas tareas en paralelo, La capacidad de multiprocesamiento esta bajo el control de la JVM y no depende de la plataforma. Robusto y Seguro Java tiene capacidades incorporadas para evitar la corrupción de memoria, administra automáticamente el proceso de asignación de memoria; Esto prohíbe la aritmética de punteros o indicadores y restringe los objetos a espacios nombrados en la memoria.
  • Variables Globales (expuestas a todos)‏ En Java, el único espacio de nombres global es la jerarquía de clases. No es posible crear una variable global que esté fuera de todas las clases. GoTo (para hacer tallarines)‏ Java reserva GoTo como palabra clave para EVITAR que los programadores la utilicen de manera confusa. Por el contrario, tiene un concepto de sentencias Break y Continue etiquetadas para cubrir los únicos usos importantes del GoTo. Punteros (mentirosos y peligrosos)‏ A pesar que los descriptores de objetos de Java están implementados como punteros, Java no tiene la capacidad de manipular punteros directamente, impidiendo que puedan referenciarse direcciones de memoria de manera arbitraria. Con esto impide lo que otros lenguajes (como C++) permiten: que no existan datos privados de verdad. Tipos de datos frágiles (dependencia del procesador)‏ Java eligió tamaños adecuados para todos los tipos numéricos de manera de garantizar resultados independientes de la plataforma de hardware. La mayor parte de los lenguajes hacen depender la implementación de los tipos al tamaño natural de "palabra" de la máquina, diferenciándolos así de acuerdo al procesador.
  • Asignación de memoria (buscando un sitio)‏ En C++ hay que preocuparse por la gestión de la memoria. malloc() y new() asignan una cantidad de memoria (bytes) devolviendo la dirección del bloque correspondiente. free() y delete() liberan un bloque, para que esté disponible por el sistema nuevamente. En Java cualquier estructura de datos compleja es un objeto que se crea a través del operador new, que le asigna una cantidad de memoria de un "montículo", por lo que el programador no debe preocuparse en una secuencia de direcciones ascendentes. El operador de Java new obtiene, más que una dirección de memoria, un "descriptor" de objeto, de manera que el programador no debe preocuparse por ubicaciones. Incluso la memoria real asignada a un objeto podría moverse en tiempo de ejecución y esto sería transparente. Asimismo existe la facilidad para que el programdor se despreocupe de la devolución de memoria al sistema ya que en Java cuando no existe referencia alguna a un objeto, la memoria que está ocupando queda disponible. A esta facilidad se le denomina "recojo automático de basura" (aunque un mejor término hubiera sido "reciclado permanente"). Conversión de tipos (insegura)‏ Como los descriptores de objetos de Java incluyen información de la clase a la que pertenecen, puede hacerse comprobaciones de compatibilidad de tipos en tiempo de ejecución y controlarlo con excepciones. En C++ no hay forma de detectar esto en tiempo de ejecución, pues los objetos son simplemente punteros a direcciones de memoria. Algo parecido sucede con las listas de argumentos de longitud variable donde la comprobación de tipos queda bajo responsabilidad del programador. Archivos de cabecera (descabezados)‏ El lugar natural para la información de una clase es el mismo archivo compilado. En Java no hay archivos de cabecera. El tipo y visibilidad de los miembros de la clase se compilan en el archivo de la clase. C++, al tener archivos de cabecera (compilados separados que contienen las características o "prototipo" de una clase) permite la posibilidad de tener una o más versiones distintas a la verdadera clase implementada. Como si esto fuera poco, puesto que la interfaz a un programador a una clase compilada es su archivo de cabecera, la clase está tan expuesta como para incluso convertir datos privados en públicos. Preprocesador (innecesario)‏ Los compiladores de C y C++ recurren al preprocesador, que se encarga de buscar comandos especiales (que empiezan con #). Java no requiere de un preprocesador; dispone de una palabra reservada final para declarar constantes (en vez de usar #define).
  • Es lanzado WebRunner el primer navegador que soporta objetos en movimiento y ejecución de contenido dinámico. la Applet QuickTake 100 es consumida por una camara digital, ésta se vende por algo menos que 1000 dólares “ Friends” debuta en la NBC WebRunner released – the first browser that supports moving objects and dynamic executable content The Apple QuickTake 100, the first consumer digital camera, goes on sale for less than $1,000 "Friends" debuts on NBC 1994 El Proyecto Green es desarrollado por FirstPerson Inc. Es lanzado Mosaic v1.0 “ Cheers” termina con 11 años de carrera The Green Project becomes FirstPerson Mosaic v1.0 is released "Cheers" ends an 11-year run 1993 “ Oak” es el lenguaje Start 7 (*7) se estrena “ Duke” es incluido en la interface al finalizar “The Tonight Show” de Johnny Carson en la NBC "Oak" is the language *7 Debuts "Duke" is featured in the Interface Johnny Carson signs off "The Tonight Show" on NBC 1992 Se inicia el Proyecto “Green” MS-DOS es el sistema operativo dominante Los teléfonos celulares pesan media libra Se inicia el Proyecto “Biosphere 2” The Green Project Begins MS DOS is the dominant operating system Cell phones weigh half a pound "Biosphere 2" project begins 1991 La Historia de Java en el tiempo
  • Cerca de 400 grupos de usuarios Java son establecidos en la internet El programa Java Developer Connection pasa la cima de 1.5 millones de miembros Steve Jobs se une a Scott McNealy en JavaOne para anunciar el compromiso principal de Apple para dar soporte a la tecnología Java La Banda de Heavy Metal Metallica denuncia a Napster por violaciones de derechos de autor. Over 400 Java User Groups are established worldwide Java Developer Connection program tops 1.5 million members Steve Jobs joins Scott McNealy on stage at JavaOne to announce a major commitment by Apple in support of Java technology Heavy Metal band Metallica sues Napster for copyright violations 2000 Es lanzado el código de la plataforma Java 2 La conferencia JavaOne recibe 20,000 asistentes El software J2EE beta es lanzado Se lanza “Star Wars Episode I: The Phantom Menace” Java 2 platform source code is released JavaOne draws 20,000 J2EE beta software is released "Star Wars Episode I: The Phantom Menace" released 1999 Las descargas de la realización del JDK1.1 sobre pasan la cima de los 2 millones. Visa, lider mundial, lanza la primera tarjeta basada en la tecnología Java Card El programa Java Community Process (JCP) es formalizado “ Who Wants to Be a Millionaire” se estrena en U.K. JDK 1.1 release downloads top 2 million Visa launches world’s first smart card based on Java Card technology The Java Community Process (JCP) program formalized "Who Wants to Be a Millionaire?" premieres in the U.K 1998 Cerca de 220000 descargas del software JDK1.1 son realizadas en tres semanas. La conferencia JavaOne recibe 8000 asistentes, convirtiendose en la conferencia más grande de desarrollo en el mundo. La plataforma Java Card 2.0 se encuentra en el 43% de famlias estadounidenses que poseen un computador. Over 220,000 downloads of JDK 1.1 software occur in just three weeks JavaOne draws 8,000 attendees, becoming the world’s largest developer conference Java Card 2.0 platform is unveiled 43% of U.S. families own a computer 1997 En la primera conferencia JavaOne Developer es liberado el JDK 1.0 de Java El ordenador de ajedrez “Deep Blue” derrota a Garry Kasparov por primera vez “ Dolly” es la primera oveja clonada en nacer The first JavaOne Developer Conference JDKtm 1.0 software is released Chess computer Deep Blue defeats Garry Kasparov for the first time "Dolly" the first cloned sheep is born 1996 La tecnología Java es aplicada por un grupo selecto en el sitio Web wicked.neato.org El diario “San José Mercury” publica en su portada principal un artículo acerca de la tecnología Java Se cambia el nombre de “Oak” por Java Es anunciado el nacimiento oficial de la tecnología Java en el Sun World Java technology released to a select group on the Web site wicked.neato.org The San Jose Mercury News runs a front-page article about Java technology Name changed from "Oak" to "Java" Announced at Sun World -- Java technology is officially born 1995 La Historia de Java en el tiempo (continuación…)‏
  • La tecnología Java celebra su décimo aniversario Aproximadamente 4.5 millones de desarrolladores usan la tecnología Java Cerca de 2.5 billones de dispositivos disponen de la tecnología Java embebida El ecosistema de la tenología Java se estima en 100 billones de dólares. Java technology celebrates its 10th birthday Approximately 4.5 million developers use Java technology Over 2.5 billion Java technology-enabled devices are available Java technology-based ecosystem estimated at $100 billion 2005 Es lanzado la plataforma Java 2 Standard Edition 5.0 (Proyecto Tiger)‏ El trotamundos de Marte basado en tecnología Spirit aterriza sobre marte Es lanzado el Sun java Studio Creator Java 2 Platform, Standard Edition 5 (Project Tiger) is released The Java technology-powered Mars Rover (Spirit) touches down on Mars Sun Java Studio Creator is launched 2004 La tecnología Java se ejecuta en casi 550 millones de escritorios Casi el 75 % de desarrolladores profesionales usa el lenguaje de programación Java como su lengua de desarrollo primario. Comienza la comercialización del servicio telefónico VoiP, Voice-Over-Internet. Es publicado “The Da Vinci Code”. Java technology runs in almost 550 million desktops Almost 75% of professional developers use Java programming language as their primary development language Commercial Voice-Over-Internet (VoiP) phone service begins "The Da Vinci Code" is published 2003 Las descargas del SDK J2EE pasán los 2 millones 78% de los ejecutivos ven a la tecnología J2EE como la plataforma mas efectiva para la creación y despliegue de Web Services El Euro es introducido al mercado “ The Osbournes” da un golpe sorpresivo sobre MTV J2EE SDK downloads reach 2 million 78% of executives view J2EE technology as the most effective platform for building and deploying Web services The Euro is introduced "The Osbournes" becomes a surprise hit on MTV 2002 La primera conferencia internacional JavaOne en Yokohama-Japón Cerca de 1 millón de descargas de la plataforma Javs Edición Empresarial (J2EE SDK)‏ Google Inc. Busca la patente del algoritmo de búsqueda PageRank “ The ” First international JavaOne conference in Yokohama Japan Over 1 million downloads of the Java Platform, Enterprise Edition (Java EE) SDK Google Inc. PageRank search algorithm patent awarded "The Lord of the Rings: The Fellowship of the Ring" is released 2001 La Historia de Java en el tiempo (continuación…)‏
  • Historia de Java Hay versiones distintas sobre el origen, concepción y desarrollo de Java, desde la que dice que éste fue un proyecto que estuvo durante mucho tiempo por distintos departamentos de Sun sin que nadie le prestara atención hasta la más difundida, que presenta a Java como un lenguaje pensado para pequeños electrodomésticos: Hace algunos años, Sun Microsystems decidió intentar introducirse en el mercado de la electrónica de consumo y desarrollar programas para pequeños dispositivos electrónicos. Sun decidió crear una filial, denominada FirstPerson Inc.. El mercado inicialmente previsto para los programas de FirstPerson eran los equipos domésticos: microondas, tostadoras y, fundamentalmente, televisores interactivos. En este mercado, dada la falta de pericia de los usuarios, se requerían unos interfaces mucho más cómodos e intuitivos que los sistemas de ventanas del momento. James Gosling decidió que las ventajas aportadas por la eficiencia de C++ no compensaban el gran coste de la prueba y depuración de aplicaciones C++. Gosling había estado trabajando en un lenguaje de programación que él había llamado Oak , el cual, aún partiendo de la sintaxis de C++, intentaba remediar las deficiencias que iba observando. El primer proyecto en que se aplicó este lenguaje recibió el nombre de proyecto Green y consistía en un sistema de control completo de los aparatos electrónicos y el entorno de un hogar. Para ello se construyó un ordenador experimental denominado *7 (Star Seven). El sistema presentaba una interfaz basada en la representación de la casa de forma animada y el control se llevaba a cabo mediante una pantalla sensible al tacto. En el sistema aparecía Duke, la mascota de Java. Posteriormente, se aplicó a otro proyecto de VoD (Video On Demand) en el que se empleaba como interfaz para la televisión interactiva. Ninguno de estos proyectos se convirtió nunca en un sistema comercial. Cuando en Sun se dieron cuenta de que a corto plazo la televisión interactiva no iba a ser un gran éxito, urgieron a FirstPerson a desarrollar con rapidez nuevas estrategias que produjeran beneficios. No lo consiguieron y FirstPerson cerró en la primavera de 1994. A pesar de este fracaso, Bill Joy, cofundador de Sun y uno de los desarrolladores principales del Unix de Berkeley, juzgó que Internet podía llegar a ser el terreno adecuado para disputar a Microsoft su primacía casi absoluta en el terreno del software y vio en Oak el instrumento idóneo para llevar a cabo estos planes. Tras un cambio de nombre, al estar Oak ya registrado como marca, el lenguaje Java fue presentado en sociedad en mayo de 1995 (Sun World’95). http://java.sun.com/features/1998/05/birthday.html
  • La Plataforma de Tiger
  • Componentes del Java 2 Software Developer Kit Las tres herramientas principales: javac: es el compilador Java por excelencia, es un compilador de línea de comandos, que permite crear programas y applets en Java. Compila código en Java a bytecodes. java: es el intérprete que permite ejecutar las aplicaciones desarrolladas en Java. appletviewer: es un visualizador de applets, con esto ya no es necesario cargar los applets en un browser. Otras componentes del Java 2 SDK javadoc: produce documentación HMTL a partir del código fuente. jdb: depurador. jar: crea un archivo que contiene a otros. jarsigner: prepara archivos jar para ser autenticados javap: es un descompilador que permite ver el contenido de las clases compiladas. javah: crea cabeceras para el enlace con otros lenguajes. keytool: crea pares de claves usadas para “firmar” y autenticar programas. policytool: define los criterios de autenticación y las funciones permitidas para programas confiables. rmic: crea el esqueleto para RMI. rmiregistry: inicia el registro remoto de objetos. serialVer: crea un único identificador para la serialización.
  • La máquina virtual de Java Una máquina virtual es el procesador en el cual se ejecuta el código (bytecode) de Java. Es un conjunto de instrucciones que entiende al intérprete de Java. El compilador javac produce los bytecodes a partir del archivo fuente .java. Los bytecodes corresponde al lenguaje de la Máquina Virtual. La máquina virtual no corresponde a un sistema operativo o plataforma de hardware en particular, el archivo .class es portable a cualquier implementación de la Máquina Virtual. La máquina virtual puede ser integrada (incrustada) dentro de otro ambiente tal como un web browser o un sistema operativo. La máquina virtual utiliza un verificador de bytecode cuando se leen los bytecodes.
  • STATIC Las variables o métodos que son especificados mediante la palabra reservada STATIC son ubicadas en esta área. Los elementos estáticos son cargados sólo una vez al momento que la clase es instanciada por primera vez o cuando la variable o método estático son referenciados por primera vez. STACK Las variables locales declaradas dentro de un método (incluyendo los parámetros de los métodos) son alojadas en esta área. Las variables locales son almacenadas cuando el método es ingresado. HEAP Todos los objetos son instanciados en esta área denominada de almacenamiento dinámico. Un objeto es instanciado desde las partes no-estáticas de una clase. Cuando un objeto es recogido por el colector de basura es el heap quien es retornado al sistema.
  • Ejecución de un programa Java El compilador de Java genera un código intermedio independiente de la plataforma (bytecodes). Los bytecodes pueden considerarse como lenguaje máquina para una máquina virtual, la Máquina Virtual de Java (JVM); por tanto, cuando queremos ejecutar una aplicación Java, al cargar el programa en memoria podemos: Interpretar los bytecodes instrucción por instrucción. Compilar los bytecodes para obtener el código máquina nativo necesario para ejecutar la aplicación en el ordenador a través de los compiladores J.I.T. Compiladores J.I.T.(Just In Time)‏ Aún cuando Java es interpretado, compiladores Just In Time (J.I.T.) ofrecen del lado del cliente compilación de bytecodes a código máquina (instrucciones binarias nativas). Estos compiladores mejoran la performance para un hardware específico. Si se utiliza el intérprete estándar de Java no se puede hablar de “alta performance”. Si se conoce con seguridad de que la aplicación desarrollada será puesta en una máquina específica existen compiladores de java disponibles, los cuales compilan los bytecodes a código nativo una vez, guardan el resultado y lo llaman cada vez que sea necesario. Esta tecnología se está mejorando continuamente y puede llegar a resultados que no van a ser superados fácilmente por un compilador tradicional. Un compilador JIT puede monitorear qué código se ejecuta frecuentemente y optimizar ese código para obtener mayor velocidad.
  • Fases en la creación y ejecución de programas en Java Fase I: Editor Se crea un programa con la ayuda de un editor Se almacena en un fichero con extensión .java Fase II: Compilador El compilador lee el código Java (fichero .java)‏ Si se detectan errores sintácticos, el compilador nos informa de ello. Se generan los bytecodes, que se almacenan en ficheros .class Fase III: Cargador de clases El cargador de clases lee los bytecodes (ficheros .class): Los bytecodes pasan de disco a memoria principal. Fase IV: Verificador de bytecodes El verificador de bytecodes comprueba que los bytecodes son válidos y no violan las restricciones de seguridad de la máquina virtual Java. Fase V: Intérprete de bytecodes o compilador JIT La máquina virtual Java (JVM) lee los bytecodes y los traduce al lenguaje que el ordenador entiende (código máquina o instrucciones nativas). NOTA: Conforme se ejecuta el programa, se hace uso de la memoria principal para almacenar los datos con los que trabaja la aplicación. Java ByteCode javac Código Fuente (* .java)‏ (* .class)‏ java
  • El problema de la incompatibilidad de plataformas Un programa funciona sólo en la plataforma para la cual fue diseñado. Se han normalizado algunos lenguajes de programación (por ejemplo ANSI C) con lo que se mantiene cierta compatibilidad, sin embargo siempre es necesaria la recompilación el código fuente. Cada fabricante agrega funcionalidad no estándar a un lenguaje de programación. Cada sistema operativo restringe a los programas en los servicios y capacidades de los mismos. En general todo programa se tiene que rehacer o adaptar para que funcione en una plataforma diferente para la que se diseñó. Java es multiplataforma Java fue diseñado para funcionar en sistemas heterogéneos. Java no depende de la plataforma de hardware/software en la que se ejecuta. Java provee las mismas librerías (API) para cada sistema operativo en el que se ejecuta. La estrategia de Java Los programas escritos en Java se compilan en un bytecode independiente de la máquina y todos los sistemas operativos principales tienen entornos de ejecución de aplicaciones Java [máquinas virtuales]. Sun Microsystems es la única compañía que maneja la especificación del lenguaje.
  • Mitos y realidades de Java Mito: Java es un lenguaje de programación para la web. Realidad: Java es un lenguaje de programación de propósito general. Uso estimado de Java: 5% applets (clientes web)‏ 45% aplicaciones de escritorio (PCs)‏ 50% aplicaciones en el servidor (servlets/EJB)‏ Mito: “Write once, run anywhere” Realidad: Se puede conseguir, aunque se debe comprobar. Motivos: Las aplicaciones Java pueden ejecutar código local (nativo), las interfaces gráficas pueden comportarse de forma ligeramente distinta en distintas plataformas... Mito: Java acabará con X (donde X puede ser Microsoft, C++...)‏ Realidad: Siempre existen ventajas y desventajas. Microsoft tiene su propia alternativa: la plataforma .NET Determinadas aplicaciones es mejor escribirlas en otros lenguajes: - Utilidades simples y eficientes en ANSI C, - Sistemas complejos de altas prestaciones en C++, - Aplicaciones para Windows con Visual Basic .NET o C#...
  • Malentendidos comunes sobre Java Java es un lenguaje de programación mientras que HTML es una manera de describir la estructura de una página web. En teoría es posible que Java se convierta en un lenguaje universal para todas las plataformas, sin embargo existen muchas aplicaciones que trabajan muy bien en ciertas plataformas que podrían no hacerlo en otros dispositivos o en browsers. Si existe un compilador JIT una aplicación escrita en Java puede ser tan rápida como cualquier otra. Todos los applets se ejecutan en un web browser (por definición) sin embargo se pueden desarrollar aplicaciones que no necesitan un browser para ejecutarse. JavaScript es un lenguaje desarrollado por Netscape (originalmente denominado LiveScript) que puede ser usado en páginas web, sin embargo no tiene ninguna relación con Java excepto por la similitud del nombre.
  • Ediciones del SDK de Java Versiones del J2SE 1995 JDK 1.02 1996 JDK 1.1 1998 JDK 1.2 (Java 2 SDK v1.2)‏ 2000 JDK 1.3 (Java 2 SDK v1.3)‏ 2002 JDK 1.4 (Java 2 Platform, Standard Edition v1.4)‏ 2004 JDK 1.5 (Java 2 Platform, Standard Edition 5.0) o Tiger
  • Pasos previos 1.- Verificar la versión del JDK instalada desde la línea de comandos Seleccione: Inicio -> Ejecutar… En Windows 95,98,ME: escribir: command En Windows NT, 2k: escribir: cmd Posteriormente ejecutar: c:> java –version Resultado: java version “1.5.0_04” … 2.- Configurar la variable de entorno PATH y CLASSPATH Seleccione: Inicio -> Configuración -> Panel de Control y el icono Sistema . En Windows NT: Seleccione el Tab Environment En Windows 2000/XP : Seleccione el Tab Advanced Posteriormente entre en Variables de Entorno ("Environment Variables"). Localize o genere las variables “PATH” y "CLASSPATH" en variables de Sistema ("System Variables").
  • Práctica 1: Escribiendo la primera aplicación Java Objetivo: El objetivo de esta práctica es usar el kit de desarrollo de Java (JDK) y examinar el entorno de desarrollo. Ud. Escriba, compile y ejecute una simple aplicación Java Editar y Ejecutar una simple aplicación Java Abrir una ventana de DOS y navegar hacia el directorio C:practicasepec, crearlo si no existe, y crear un archivo llamado HolaMundo.Java usando el notepad (block de notas) desde la línea de comandos. C: cd practicasepec notepad HolaMundo.java En el notepad (block de notas) escribir el siguiente código package epec; // Archivo HolaMundo.java // Autor <tu nombre> public class HolaMundo{ public static void main(String args[]){ System.out.println("Hola Mundo!!!"); } } Guardar el archivo creado, y no cierre el notepad, para poder corregir el código si ocurren errores de compilación. Compilar el archivo HolaMundo.java En una ventana de DOS navegar hasta el directorio C:>practicasepec Verifique la existencia del archivo guardado ( dir Hola*.* )‏ Compile el archivo usando el comando: javac HolaMundo.java Verifique la creación del bytecode ( dir Hola*.* )‏ Ejecutar la aplicación HolaMundo En una ventana de DOS navegar hasta el directorio C:>practicas Ejecute la aplicación usando el comando: java epec.HolaMundo ¿Qué es lo que se muestra en la ventana de DOS?
  • Módulo 01 Introducción a la Tecnología Java

    1. 1. Introducción a la tecnología Java <ul><ul><li>Ing. Rolando Steep Quezada Martínez </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul>Programación Básica en Java y Programación Orientada a Objetos
    2. 2. ¿Qué es Java? <ul><li>Java: </li></ul><ul><ul><li>Es una plataforma y lenguaje Orientado a Objetos. </li></ul></ul><ul><ul><li>Diseñado originalmente por Sun Microsystems para aparatos electrodomésticos. </li></ul></ul><ul><ul><li>Contiene una librería de Clases Base. </li></ul></ul><ul><ul><li>Usa una máquina virtual para la ejecución de un programa. </li></ul></ul>
    3. 3. Principales beneficios de Java <ul><li>Orientado a Objetos </li></ul><ul><li>Interpretado y de plataforma independiente </li></ul><ul><li>Dinámico y distribuido </li></ul><ul><li>Soporta la Multitarea </li></ul><ul><li>Robusto y Seguro </li></ul>
    4. 4. Ventajas frente a otros lenguajes <ul><li>JAVA ES MEJOR POR LO QUE NO TIENE, QUE POR LO QUE TIENE!! </li></ul><ul><ul><li>Variables Globales </li></ul></ul><ul><ul><li>GoTo </li></ul></ul><ul><ul><li>Punteros </li></ul></ul><ul><ul><li>Tipos de datos frágiles </li></ul></ul><ul><ul><li>Asignación de memoria </li></ul></ul><ul><ul><li>Conversión de tipos </li></ul></ul><ul><ul><li>Archivos de cabecera </li></ul></ul><ul><ul><li>Preprocesador </li></ul></ul>
    5. 6. Historia de Java 1992 Proyecto &quot;Green&quot; Sistema Operativo &quot;Star7&quot; 1994 Navegador &quot;WebRunner&quot; 1ra applet : &quot;Duke&quot; saludando 1995 Oak  Java WebRunner  HotJava 1993 No se logra vender a la industria de TV interactiva 1999 Se lanza Java2. 2004 Se lanza Java2 5.0 (Tiger)‏ 2006 Se lanza Java2 6.0 (Mustang)‏
    6. 10. La Plataforma Java 2 Standard Edition
    7. 11. Componentes del Java 2 SDK <ul><li>Provee: </li></ul><ul><ul><li>Compilador (javac.exe)‏ </li></ul></ul><ul><ul><li>Librería de Clases Base </li></ul></ul><ul><ul><ul><li>classes.zip </li></ul></ul></ul><ul><ul><ul><li>rt.jar </li></ul></ul></ul><ul><ul><li>Debugger (jdb.exe)‏ </li></ul></ul><ul><ul><li>Interprete de Bytecode: </li></ul></ul><ul><ul><li>La Máquina Virtual de Java (java.exe)‏ </li></ul></ul><ul><ul><li>Generador de Documentación (javadoc.exe)‏ </li></ul></ul><ul><ul><li>Utilidad para Empaquetado (jar.exe)‏ </li></ul></ul><ul><ul><li>Visor de Applets (appletviewer.exe), etc… </li></ul></ul>
    8. 12. La máquina virtual de Java Entrono de Ejecución de un programa Java Entrono de Ejecución de un applet Java Sistema Operativo JVM Application Sistema Operativo Browser JVM Applet
    9. 13. Áreas de la máquina virtual de Java HEAP Almacenamiento dinámico Todos los objetos STACK Variables locales STATIC Variables y métodos de clase
    10. 14. Compiladores JIT (Just In Time)‏ Proceso de creación y cargar de un programa Java Proceso de Ejecución de un Programa Java JVM ejecutándose un Applet o una Aplicación Compilador J.I.T. archivo .class código máquina Java ByteCode Código Fuente (* .java)‏ (* .class)‏ Java VM Sistema Operativo javac java
    11. 16. Arquitectura neutral de Java Compilador Código Fuente Java Byte Code Intérprete ( * .java )‏ ( * .class )‏ El mismo para cada plataforma Uno para cada plataforma El mismo para cada plataforma Uno para cada plataforma Windows 95/98 Windows NT Mac OS Solaris Unix OS/2
    12. 17. Mitos y realidades de Java <ul><li>Mito: Java es un lenguaje de programación para la web. </li></ul><ul><li>Realidad: Java es un lenguaje de programación de propósito general. </li></ul><ul><li>Mito: “Write once, run anywhere” </li></ul><ul><li>Realidad: Se puede conseguir, aunque se debe comprobar. </li></ul><ul><li>Mito: Java es un lenguaje interpretado. </li></ul><ul><li>Realidad: Los compiladores JIT compilan el programa al cargarlo. </li></ul><ul><li>Mito: La seguridad y la independencia de la máquina “son gratis”. </li></ul><ul><li>Realidad: Aplicaciones un 20% más lentas que en C++. </li></ul><ul><li>Mito: Java acabará con X (donde X puede ser Microsoft, C++...)‏ </li></ul><ul><li>Realidad: Siempre existen ventajas y desventajas. </li></ul>
    13. 18. Malentendidos comunes sobre Java <ul><li>Java es una extensión de HTML. </li></ul><ul><li>Java se convertirá en un lenguaje de programación para todas las plataformas. </li></ul><ul><li>Java es interpretado así que es muy lento para una aplicación seria en una plataforma específica. </li></ul><ul><li>Todos los programas de java se ejecutan en una página web. </li></ul><ul><li>JavaScript es una versión simple de Java. </li></ul>
    14. 19. Ediciones del SDK de Java <ul><li>Java 2 está disponible en tres ediciones: </li></ul><ul><ul><li>J2SE (Standard Edition): Desarrollo de Aplicaciones standalone (escritorio) y applets. </li></ul></ul><ul><ul><li>J2EE (Enterprise Edition): Desarrollo de Aplicaciones Empresariales (WEB e Integración de Aplicaciones). Contiene a J2SE. </li></ul></ul><ul><ul><li>J2ME (Micro Edition): Desarrollo de Aplicaciones móviles. </li></ul></ul>
    15. 20. Resumen <ul><li>El código Java es compilado en bytecodes independientes de la plataforma. </li></ul><ul><li>Los bytecodes son interpretados por la JVM. </li></ul><ul><li>Las aplicaciones Java pueden ser de escritorio, pueden implementar un modelo de interface Web o móvil. </li></ul><ul><li>J2SE provee las utilidades básicas de Java. </li></ul>
    16. 21. Práctica 1 <ul><li>Objetivos: </li></ul><ul><ul><li>Examinar el entorno de Java </li></ul></ul><ul><ul><li>Escribir, compilar y ejecutar una simple aplicación Java. </li></ul></ul>

    ×