SlideShare uma empresa Scribd logo
1 de 20
Programación Interactiva
   Introducción a Java




                           1
¿ Qué es Java ?
•   Java es un lenguaje de programación de
    propósito general, fuertemente tipado,
    robusto, basado en clases y objetos, de nivel
    medio/alto.

•   Es un lenguaje interpretado, es decir no es el
    SO el que ejecuta los programas Java sino una
    máquina virtual conocida como JVM (Java
    Virtual Machine).

•   Desarrollado por Sun Microsystems
    (www.sun.com)
                                                     2
Arquitectura de Java

             Programas Java

API Java        Extensiones

      Java Virtual Machine (JVM)

           Sistema Operacional

               Hardware


                                   3
¿ Cómo comienza la vida de un programa
                   Java ?




Código Fuente    Compilador   Archivo compilado    JVM
(Archivo.java)     (javac)        Bytecode        (java)
                               (Archivo.class)              Programa
                                                           en ejecución




                                                                     4
¿ Qué es el bytecode ?
• Es el tipo equivalente a un archivo .o en C++

• Cuando el javac compila un archivo de código fuente
  “Numeros.java” genera un archivo bytecode “Números.class”
  que corresponde a una versión del archivo .java que la JVM
  puede entender

• La utilidad de este proceso (en vez de la generación de un
  ejecutable) radica en la portabilidad del bytecode, ya que
  este archivo puede ejecutarse en cualquier SO que tenga una
  implementación de la JVM

                                                                5
Ventajas y Desventajas
• Retira parte de la responsabilidad sobre punteros

• Multiplataforma gracias a que es interpretado por la JVM

• Facilidad de uso

• Velocidad y uso de recursos (principales desventajas)

• Paso por parámetro, por valor

• Java API


                                                             6
Punteros en C++ y Java

• En C++ el usuario puede crear punteros a objetos u objetos,
  en Java, solo lo primero es posible (se les denomina
  referencias)

• En C++ la responsabilidad de liberar un puntero es del
  usuario, mientras en Java la JVM se encarga de esto a través
  de un proceso llamado “Garbage Collection”




                                                                 7
Ventajas y desventajas de los lenguajes
               Interpretados

• Java, PHP, Scheme, Perl, entre otros, son lenguajes
  interpretados, es decir, no es el SO quien ejecuta el programa
  sino una máquina virtual (otro programa) que está siendo
  ejecutado por el SO

• Problemas de desempeño (gran problema)

• Mayor posibilidad de robo de código

• Multiplataforma (mayor ventaja), aunque esto depende solo
  aplica para las plataformas que tienen una implementación
  de la JVM (gran ventaja)

                                                               8
Facilidad De Uso De Java
• Gracias a que en Java un programador puede concentrarse
  más en lo que debe hacer su programa, y no tanto en el
  manejo de punteros y otros asuntos de bajo nivel (Java API)

• Una extensa librería de clases que permiten hacer casi todo lo
  que se puede en C++ (Java API)

• El código fuente queda menos plagado de pormenores que en
  C++



                                                                9
Ventajas De Java Sobre C++
• Gracias al API de Java los programadores
  reescriben menos código, los programas son
  más estandarizados en cuanto a métodos que
  utilizan

• El Garbage Collector despreocupa al
  programador sobre el desperdicio de memoria
  (en parte)

• Independiente de la plataforma


                                                10
Desventajas de Java contra C++
• Los programas en C++ se ejecutan más rápidamente

• Mayor eficiencia en consumo de recursos

• La capacidad de crear objetos reales en C++ es útil cuando se
  requiere velocidad extra.

• Incapacidad de pasar objetos por valor (imitado por métodos
  de clonación)

• Carencia de herencia múltiple, imitado por la herencia
  múltiple de interfases en Java, aunque no totalmente.

                                                              11
Desventajas de Java contra C++
•   Los programas en C++ se ejecutan más rapidamente

•   Mayor eficiencia en consumo de recursos

•   La capacidad de crear objetos reales en C++ es útil cuando se requiere
    velocidad extra.

•   Incapacidad de pasar objetos por valor (imitado por métodos de
    clonación)

•   Carencia de herencia múltiple, imitado por la herencia múltiple de
    interfases en Java, aunque no totalmente.

•   Instrucción goto (reemplazada por bloques con nombre)


                                                                             12
Java Development Kit (JDK)
        Java Runtime Environment (JRE)
• El JRE es un paquete de software desarrollado por Sun que
  contiene la JVM y todo lo necesario para ejecutar programas
  Java

• El JDK es otro paquete que incluye todo lo necesario para
  crear y ejecutar programas Java (incluye el JRE, compilador,
  debugger, visor de applets, Java API, entre otras herramientas
  para el programador).

• Puede descargar las últimas versiones en www.sun.com (1.5.0
  en este momento)
                                                                13
Java API
• El Java API (Application Program Interfase), interfaz de
  programación de aplicaciones es un conjunto de librerías que
  permiten el desarrollo de aplicaciones en Java, brinda
  funciones de uso común para el programador como por
  ejemplo:
   –   Creación y manejo de elementos de GUI
   –   Manejo de archivos
   –   Funciones de red
   –   Comunicación entre programas




                                                             14
Java API
• Existen dentro de su librería clases gráficas (awt y swing),
  las cuales permiten crear objetos gráficos comunes
  altamente configurables y con una arquitectura
  independiente de la plataforma.

• Hay gran cantidad de herramientas para generar interfaces
  gráficas como:
       •   JBuilder
       •   NetBeans
       •   Fote4J
       •   Jdeveloper
       •   Eclipse


                                                                 15
Java API
• Se puede acceder a bases de datos fácilmente con JDBC,
  independientemente de la plataforma utilizada.

• Existen clases JDBC para las Bases de Datos más
  comunes, entre ellas:
      • Oracle
      • PostgreSQL
      • MySQL




                                                       16
Herramientas del JDK
•   javac: El compilador Java, convierte código fuente (.java) en bytecodes
    (.class)

•   java: El interprete de Java este programa es el que ejecuta los
    bytecodes

•   appletviewer: Un interprete Java que ejecuta applets desde un
    archivo HTML, tal como lo haría un navegador web

•   javadoc: Genera documentación de código fuente en formato HTML

•   javap: El desensamblador Java, puede obtener el código fuente a partir
    de lso bytecodes

•   jdb: El depurador (debugger), permite supervisar la ejecución de los
    programas Java

•   jar: Permite almacenar un programa en Java que comprende muchos
    .class en un solo archivo .jar (en realidad, es un .zip)

                                                                           17
Compilación y Ejecución
• Por ahora, digamos que cada clase debe estar
  definida en un archivo que debe llamarse igual
  que la clase, con extensión .java

• Es decir, la clase FiguraGeometrica debe
  declararse en un archivo llamado
  FiguraGeometrica.java




                                                   18
Compilación y Ejecución
                 Aplicaciones
 Por ejemplo:
   /****************** HolaMundo.java******************/

   class HolaMundo
   {
     public static void main (String args[])
     {
       System.out.println("Hola Mundo !");
     }
   }




                                                           19
IDE’s
       Entornos Gráficos de Desarrollo
• Otros enlaces:
  – Eclipse ( http://www.eclipse.org ) Open-Source
  – NetBeans ( http://www.netbeans.org ) Open-Source
  – JBuilder ( http://www.borland.com/jbuilder ) de Borland
  – Visual Age de IBM
    ( http://www-4.ibm.com/software/ad/vajava/ )
  – JDeveloper de Oracle
    ( http://otn.oracle.com/products/jdev/content.html )




                                                              20

Mais conteúdo relacionado

Mais procurados

Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosCarolina Cols
 
Características Java
Características JavaCaracterísticas Java
Características JavaIsabel Gómez
 
Cuadro Comparativo sobre Sistemas Operativos.
Cuadro Comparativo sobre Sistemas Operativos. Cuadro Comparativo sobre Sistemas Operativos.
Cuadro Comparativo sobre Sistemas Operativos. Juan Barrientos
 
Sistema de-maquina-virtual
Sistema de-maquina-virtualSistema de-maquina-virtual
Sistema de-maquina-virtualkerlly villon
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a EventosLaura
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srtCarlos Solano
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteJosé Antonio Sandoval Acosta
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosLuis Dario Gomez
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en JavaUCE
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 

Mais procurados (20)

Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Manejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativosManejo de los procesos en los sistemas operativos
Manejo de los procesos en los sistemas operativos
 
Características Java
Características JavaCaracterísticas Java
Características Java
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Cuadro Comparativo sobre Sistemas Operativos.
Cuadro Comparativo sobre Sistemas Operativos. Cuadro Comparativo sobre Sistemas Operativos.
Cuadro Comparativo sobre Sistemas Operativos.
 
Sistema de-maquina-virtual
Sistema de-maquina-virtualSistema de-maquina-virtual
Sistema de-maquina-virtual
 
Programacion Orientada a Eventos
Programacion Orientada a EventosProgramacion Orientada a Eventos
Programacion Orientada a Eventos
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Lectores y escritores
Lectores y escritoresLectores y escritores
Lectores y escritores
 
Principios del RUP
Principios del RUPPrincipios del RUP
Principios del RUP
 
Algoritmo de planificación srt
Algoritmo de planificación srtAlgoritmo de planificación srt
Algoritmo de planificación srt
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
Ejemplo rup
Ejemplo rupEjemplo rup
Ejemplo rup
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 

Semelhante a 1.introduccion java

Semelhante a 1.introduccion java (20)

[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
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Lenguaje java
Lenguaje javaLenguaje java
Lenguaje java
 
Clase2
Clase2Clase2
Clase2
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
JAVA
JAVAJAVA
JAVA
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
Introduccion Java
Introduccion JavaIntroduccion Java
Introduccion Java
 
Aplicaciones java
Aplicaciones javaAplicaciones java
Aplicaciones java
 
[ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java [ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java
 
Java de erlin
Java de erlinJava de erlin
Java de erlin
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
 
Presentación1
Presentación1Presentación1
Presentación1
 
Presentación1
Presentación1Presentación1
Presentación1
 
Introduccion a Java
Introduccion a JavaIntroduccion a Java
Introduccion a Java
 
Queesjava 1230140667149082-2
Queesjava 1230140667149082-2Queesjava 1230140667149082-2
Queesjava 1230140667149082-2
 
Java
JavaJava
Java
 
Lenguaje de programacion java
Lenguaje de programacion javaLenguaje de programacion java
Lenguaje de programacion java
 

Mais de Marisol Henao

Propuesta interfaz aplicación móvil
Propuesta interfaz aplicación móvilPropuesta interfaz aplicación móvil
Propuesta interfaz aplicación móvilMarisol Henao
 
Ficha técnica scribd
Ficha técnica scribdFicha técnica scribd
Ficha técnica scribdMarisol Henao
 
Formulas y funciones
Formulas y funcionesFormulas y funciones
Formulas y funcionesMarisol Henao
 
Elementos del lenguaje java
Elementos del lenguaje javaElementos del lenguaje java
Elementos del lenguaje javaMarisol Henao
 
Conceptos de programacion orientada a objetos
Conceptos de programacion orientada a objetosConceptos de programacion orientada a objetos
Conceptos de programacion orientada a objetosMarisol Henao
 
Introducción a acces 2010 1
Introducción a acces 2010 1Introducción a acces 2010 1
Introducción a acces 2010 1Marisol Henao
 
Qué es la estrategía
Qué es la estrategíaQué es la estrategía
Qué es la estrategíaMarisol Henao
 

Mais de Marisol Henao (11)

Propuesta interfaz aplicación móvil
Propuesta interfaz aplicación móvilPropuesta interfaz aplicación móvil
Propuesta interfaz aplicación móvil
 
Ficha técnica scribd
Ficha técnica scribdFicha técnica scribd
Ficha técnica scribd
 
Ficha slideshare
Ficha slideshareFicha slideshare
Ficha slideshare
 
Ficha issuu
Ficha issuuFicha issuu
Ficha issuu
 
Formulas y funciones
Formulas y funcionesFormulas y funciones
Formulas y funciones
 
Mysql
MysqlMysql
Mysql
 
Elementos del lenguaje java
Elementos del lenguaje javaElementos del lenguaje java
Elementos del lenguaje java
 
Conceptos de programacion orientada a objetos
Conceptos de programacion orientada a objetosConceptos de programacion orientada a objetos
Conceptos de programacion orientada a objetos
 
Introducción a sql
Introducción a  sqlIntroducción a  sql
Introducción a sql
 
Introducción a acces 2010 1
Introducción a acces 2010 1Introducción a acces 2010 1
Introducción a acces 2010 1
 
Qué es la estrategía
Qué es la estrategíaQué es la estrategía
Qué es la estrategía
 

Último

el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 

Último (20)

el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 

1.introduccion java

  • 1. Programación Interactiva Introducción a Java 1
  • 2. ¿ Qué es Java ? • Java es un lenguaje de programación de propósito general, fuertemente tipado, robusto, basado en clases y objetos, de nivel medio/alto. • Es un lenguaje interpretado, es decir no es el SO el que ejecuta los programas Java sino una máquina virtual conocida como JVM (Java Virtual Machine). • Desarrollado por Sun Microsystems (www.sun.com) 2
  • 3. Arquitectura de Java Programas Java API Java Extensiones Java Virtual Machine (JVM) Sistema Operacional Hardware 3
  • 4. ¿ Cómo comienza la vida de un programa Java ? Código Fuente Compilador Archivo compilado JVM (Archivo.java) (javac) Bytecode (java) (Archivo.class) Programa en ejecución 4
  • 5. ¿ Qué es el bytecode ? • Es el tipo equivalente a un archivo .o en C++ • Cuando el javac compila un archivo de código fuente “Numeros.java” genera un archivo bytecode “Números.class” que corresponde a una versión del archivo .java que la JVM puede entender • La utilidad de este proceso (en vez de la generación de un ejecutable) radica en la portabilidad del bytecode, ya que este archivo puede ejecutarse en cualquier SO que tenga una implementación de la JVM 5
  • 6. Ventajas y Desventajas • Retira parte de la responsabilidad sobre punteros • Multiplataforma gracias a que es interpretado por la JVM • Facilidad de uso • Velocidad y uso de recursos (principales desventajas) • Paso por parámetro, por valor • Java API 6
  • 7. Punteros en C++ y Java • En C++ el usuario puede crear punteros a objetos u objetos, en Java, solo lo primero es posible (se les denomina referencias) • En C++ la responsabilidad de liberar un puntero es del usuario, mientras en Java la JVM se encarga de esto a través de un proceso llamado “Garbage Collection” 7
  • 8. Ventajas y desventajas de los lenguajes Interpretados • Java, PHP, Scheme, Perl, entre otros, son lenguajes interpretados, es decir, no es el SO quien ejecuta el programa sino una máquina virtual (otro programa) que está siendo ejecutado por el SO • Problemas de desempeño (gran problema) • Mayor posibilidad de robo de código • Multiplataforma (mayor ventaja), aunque esto depende solo aplica para las plataformas que tienen una implementación de la JVM (gran ventaja) 8
  • 9. Facilidad De Uso De Java • Gracias a que en Java un programador puede concentrarse más en lo que debe hacer su programa, y no tanto en el manejo de punteros y otros asuntos de bajo nivel (Java API) • Una extensa librería de clases que permiten hacer casi todo lo que se puede en C++ (Java API) • El código fuente queda menos plagado de pormenores que en C++ 9
  • 10. Ventajas De Java Sobre C++ • Gracias al API de Java los programadores reescriben menos código, los programas son más estandarizados en cuanto a métodos que utilizan • El Garbage Collector despreocupa al programador sobre el desperdicio de memoria (en parte) • Independiente de la plataforma 10
  • 11. Desventajas de Java contra C++ • Los programas en C++ se ejecutan más rápidamente • Mayor eficiencia en consumo de recursos • La capacidad de crear objetos reales en C++ es útil cuando se requiere velocidad extra. • Incapacidad de pasar objetos por valor (imitado por métodos de clonación) • Carencia de herencia múltiple, imitado por la herencia múltiple de interfases en Java, aunque no totalmente. 11
  • 12. Desventajas de Java contra C++ • Los programas en C++ se ejecutan más rapidamente • Mayor eficiencia en consumo de recursos • La capacidad de crear objetos reales en C++ es útil cuando se requiere velocidad extra. • Incapacidad de pasar objetos por valor (imitado por métodos de clonación) • Carencia de herencia múltiple, imitado por la herencia múltiple de interfases en Java, aunque no totalmente. • Instrucción goto (reemplazada por bloques con nombre) 12
  • 13. Java Development Kit (JDK) Java Runtime Environment (JRE) • El JRE es un paquete de software desarrollado por Sun que contiene la JVM y todo lo necesario para ejecutar programas Java • El JDK es otro paquete que incluye todo lo necesario para crear y ejecutar programas Java (incluye el JRE, compilador, debugger, visor de applets, Java API, entre otras herramientas para el programador). • Puede descargar las últimas versiones en www.sun.com (1.5.0 en este momento) 13
  • 14. Java API • El Java API (Application Program Interfase), interfaz de programación de aplicaciones es un conjunto de librerías que permiten el desarrollo de aplicaciones en Java, brinda funciones de uso común para el programador como por ejemplo: – Creación y manejo de elementos de GUI – Manejo de archivos – Funciones de red – Comunicación entre programas 14
  • 15. Java API • Existen dentro de su librería clases gráficas (awt y swing), las cuales permiten crear objetos gráficos comunes altamente configurables y con una arquitectura independiente de la plataforma. • Hay gran cantidad de herramientas para generar interfaces gráficas como: • JBuilder • NetBeans • Fote4J • Jdeveloper • Eclipse 15
  • 16. Java API • Se puede acceder a bases de datos fácilmente con JDBC, independientemente de la plataforma utilizada. • Existen clases JDBC para las Bases de Datos más comunes, entre ellas: • Oracle • PostgreSQL • MySQL 16
  • 17. Herramientas del JDK • javac: El compilador Java, convierte código fuente (.java) en bytecodes (.class) • java: El interprete de Java este programa es el que ejecuta los bytecodes • appletviewer: Un interprete Java que ejecuta applets desde un archivo HTML, tal como lo haría un navegador web • javadoc: Genera documentación de código fuente en formato HTML • javap: El desensamblador Java, puede obtener el código fuente a partir de lso bytecodes • jdb: El depurador (debugger), permite supervisar la ejecución de los programas Java • jar: Permite almacenar un programa en Java que comprende muchos .class en un solo archivo .jar (en realidad, es un .zip) 17
  • 18. Compilación y Ejecución • Por ahora, digamos que cada clase debe estar definida en un archivo que debe llamarse igual que la clase, con extensión .java • Es decir, la clase FiguraGeometrica debe declararse en un archivo llamado FiguraGeometrica.java 18
  • 19. Compilación y Ejecución Aplicaciones  Por ejemplo: /****************** HolaMundo.java******************/ class HolaMundo { public static void main (String args[]) { System.out.println("Hola Mundo !"); } } 19
  • 20. IDE’s Entornos Gráficos de Desarrollo • Otros enlaces: – Eclipse ( http://www.eclipse.org ) Open-Source – NetBeans ( http://www.netbeans.org ) Open-Source – JBuilder ( http://www.borland.com/jbuilder ) de Borland – Visual Age de IBM ( http://www-4.ibm.com/software/ad/vajava/ ) – JDeveloper de Oracle ( http://otn.oracle.com/products/jdev/content.html ) 20