bloque1:introjava
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
bloque1:introjava [02/03/2018 15:28] – [Versiones] Fernando Valdeón | bloque1:introjava [16/09/2024 20:53] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 8: | Línea 8: | ||
Java como lenguaje es solamente un glosario de palabras e instrucciones propios, que tienen su propias reglas léxicas. Al fin y al cabo es solo un idioma para comunicarnos con el ordenador, en forma de texto. | Java como lenguaje es solamente un glosario de palabras e instrucciones propios, que tienen su propias reglas léxicas. Al fin y al cabo es solo un idioma para comunicarnos con el ordenador, en forma de texto. | ||
* Java es un lenguaje de programación de alto nivel de abstracción; | * Java es un lenguaje de programación de alto nivel de abstracción; | ||
+ | |||
* Su sintaxis está basada en la de lenguajes como //C// o //C++//, pero no permite tanto trabajo a bajo nivel como ellos. | * Su sintaxis está basada en la de lenguajes como //C// o //C++//, pero no permite tanto trabajo a bajo nivel como ellos. | ||
+ | |||
* Es un lenguaje de propósito general, por lo que se puede usar para crear aplicaciones de diferentes tipos (red, bases de datos, web, escritorio). | * Es un lenguaje de propósito general, por lo que se puede usar para crear aplicaciones de diferentes tipos (red, bases de datos, web, escritorio). | ||
+ | |||
* Es un lenguaje orientado a objetos, por lo que permite crear elementos (clases) en el programa que representan conceptos de la vida real (facturas, ventas, alumno, vehículos, etc). | * Es un lenguaje orientado a objetos, por lo que permite crear elementos (clases) en el programa que representan conceptos de la vida real (facturas, ventas, alumno, vehículos, etc). | ||
+ | |||
* Es un lenguaje compilado, ya que genera un fichero resultado de la compilación (bytecode) que es capaz de ser ejecutado. | * Es un lenguaje compilado, ya que genera un fichero resultado de la compilación (bytecode) que es capaz de ser ejecutado. | ||
+ | |||
* Es también un lenguaje interpretado, | * Es también un lenguaje interpretado, | ||
+ | |||
* Es un lenguaje multiplataforma, | * Es un lenguaje multiplataforma, | ||
+ | |||
<code java> | <code java> | ||
public class MiPrograma{ | public class MiPrograma{ | ||
Línea 24: | Línea 31: | ||
===== Java como plataforma de ejecución ===== | ===== Java como plataforma de ejecución ===== | ||
- | * Java es independiente de la máquina gracias a su JVM. | + | * Java es independiente de la máquina |
- | * | + | * |
* En los lenguajes compilados el código se traduce al código máquina de ese ordenador concreto. No es portable. | * En los lenguajes compilados el código se traduce al código máquina de ese ordenador concreto. No es portable. | ||
+ | |||
* Java se descarga y se instala en nuestro equipo. Java Runtime Environment. | * Java se descarga y se instala en nuestro equipo. Java Runtime Environment. | ||
* El JRE es un paquete que además de contener la máquina virtual de Java, contiene las librerías necesarias para ejecutar el código de java, gestiona la memoria de los programas, excepciones, | * El JRE es un paquete que además de contener la máquina virtual de Java, contiene las librerías necesarias para ejecutar el código de java, gestiona la memoria de los programas, excepciones, | ||
+ | |||
* La máquina virtual de Java es la encargada de ejecutar todo ese código compilado. | * La máquina virtual de Java es la encargada de ejecutar todo ese código compilado. | ||
- | * Al final todo lenguaje se debe traducir a código máquina, ya que es lo único que entiende | + | * Al final, todo lenguaje se debe traducir a código máquina, ya que es lo único que entiende |
* La diferencia es que ese código máquina es generado por la máquina virtual de java. | * La diferencia es que ese código máquina es generado por la máquina virtual de java. | ||
* La máquina virtual de java recibe por su parte el código compilado de java. | * La máquina virtual de java recibe por su parte el código compilado de java. | ||
Línea 38: | Línea 47: | ||
===== Máquina virtual de Java ===== | ===== Máquina virtual de Java ===== | ||
* El lenguaje de programación Java está completamente ligado a su plataforma de ejecución. No puede funcionar uno sin el otro. | * El lenguaje de programación Java está completamente ligado a su plataforma de ejecución. No puede funcionar uno sin el otro. | ||
+ | |||
* El lenguaje en lugar de poder ejecutarse directamente y dar instrucciones al hardware, necesita antes ser traducido. | * El lenguaje en lugar de poder ejecutarse directamente y dar instrucciones al hardware, necesita antes ser traducido. | ||
+ | |||
* Esto hace que sea un poco más lento que otros lenguajes puramente compilados, como C, o C++. | * Esto hace que sea un poco más lento que otros lenguajes puramente compilados, como C, o C++. | ||
* Primero se compila el código fuente de Java (texto) en un archivo y se genera un código intermedio en otro archivo (bytecode de Java). | * Primero se compila el código fuente de Java (texto) en un archivo y se genera un código intermedio en otro archivo (bytecode de Java). | ||
+ | |||
* Este código intermedio resultado de la compilación, | * Este código intermedio resultado de la compilación, | ||
+ | |||
* La máquina virtual de Java (JVM, Java Virtual Machine) está disponible para cualquier plataforma, a través del paquete JRE (Java Runtime Environment) | * La máquina virtual de Java (JVM, Java Virtual Machine) está disponible para cualquier plataforma, a través del paquete JRE (Java Runtime Environment) | ||
Línea 54: | Línea 67: | ||
* Es el paquete que permite ejecutar aplicaciones creadas en Java en mi ordenador. | * Es el paquete que permite ejecutar aplicaciones creadas en Java en mi ordenador. | ||
+ | |||
* Está compuesta de la //máquina virtual de Java//, bibliotecas de Java y todo lo necesario para ejecutar aplicaciones. | * Está compuesta de la //máquina virtual de Java//, bibliotecas de Java y todo lo necesario para ejecutar aplicaciones. | ||
+ | |||
* Las bibliotecas (API de Java) y la máquina virtual (JVM) deben comprenderse entre si. | * Las bibliotecas (API de Java) y la máquina virtual (JVM) deben comprenderse entre si. | ||
+ | |||
* Las bibliotecas ofrecen todas las instrucciones que se pueden ejecutar en código java, y van cambiando con cada versión de Java. | * Las bibliotecas ofrecen todas las instrucciones que se pueden ejecutar en código java, y van cambiando con cada versión de Java. | ||
+ | |||
* Es necesario que la JVM entienda todas las instrucciones de la API de Java, por eso tanto API como JVM, se entregan conjuntas. | * Es necesario que la JVM entienda todas las instrucciones de la API de Java, por eso tanto API como JVM, se entregan conjuntas. | ||
==== Java Development Kit (JDK)==== | ==== Java Development Kit (JDK)==== | ||
* Contiene el **JRE**, para poder ejecutar las aplicaciones creadas. | * Contiene el **JRE**, para poder ejecutar las aplicaciones creadas. | ||
+ | |||
* Es necesario en caso de que queramos desarrollar aplicaciones en Java. | * Es necesario en caso de que queramos desarrollar aplicaciones en Java. | ||
+ | |||
* Algunos IDE's contienen herramientas similares, y se podría crear un programa sin tener el JDK. | * Algunos IDE's contienen herramientas similares, y se podría crear un programa sin tener el JDK. | ||
+ | |||
* Nos ofrece distintas herramientas para poder compilar, crear ejecutables, | * Nos ofrece distintas herramientas para poder compilar, crear ejecutables, | ||
+ | |||
==== Diferencias ==== | ==== Diferencias ==== | ||
Línea 83: | Línea 104: | ||
* Java ME (Micro Edition) | * Java ME (Micro Edition) | ||
* Librerías enfocadas en entornos de recursos limitados: Móviesl, PDA, Tablets, etc. | * Librerías enfocadas en entornos de recursos limitados: Móviesl, PDA, Tablets, etc. | ||
+ | |||
* Java SE (Standard Edition) | * Java SE (Standard Edition) | ||
* Librerías enfocadas en entornos de gama media: ordenadores, | * Librerías enfocadas en entornos de gama media: ordenadores, | ||
+ | |||
* Java EE (Enterprise Edition) | * Java EE (Enterprise Edition) | ||
* Librerías enfocadas en entornos distribuidos empresariales o de internet. | * Librerías enfocadas en entornos distribuidos empresariales o de internet. | ||
Línea 104: | Línea 127: | ||
===== Eclipse IDE ===== | ===== Eclipse IDE ===== | ||
* Es un Entorno de Desarrollo Integrado (IDE) multiplataforma. | * Es un Entorno de Desarrollo Integrado (IDE) multiplataforma. | ||
+ | |||
* Está creado en el lenguaje Java, por lo que necesitamos la plataforma Java para usarlo. | * Está creado en el lenguaje Java, por lo que necesitamos la plataforma Java para usarlo. | ||
+ | |||
* Es un programa de código abierto. | * Es un programa de código abierto. | ||
+ | |||
* Incorpora algunas herramientas de desarrollo, como un compilador, por lo que no necesitamos el JDK para poder crear y ejecutar un programa escrito en Java. | * Incorpora algunas herramientas de desarrollo, como un compilador, por lo que no necesitamos el JDK para poder crear y ejecutar un programa escrito en Java. | ||
+ | |||
* Otras de sus funcionalidades si requieres en JDK (Kit de desarrollo Java). | * Otras de sus funcionalidades si requieres en JDK (Kit de desarrollo Java). | ||
+ | |||
{{ : | {{ : | ||
Línea 113: | Línea 141: | ||
{{ : | {{ : | ||
^Nombre ^ Fecha Lanzamiento ^ Versión^ | ^Nombre ^ Fecha Lanzamiento ^ Versión^ | ||
+ | |Photon|27 de junio de 2018|4.8| | ||
|Oxigen|28 de junio de 2017|4.7| | |Oxigen|28 de junio de 2017|4.7| | ||
|Neon|22 de junio de 2016|4.6| | |Neon|22 de junio de 2016|4.6| | ||
Línea 133: | Línea 162: | ||
* El instalador nos ofrecerá la la selección de la distribución de Eclipse que queramos atendiendo al entorno en el que nos enfocaremos, | * El instalador nos ofrecerá la la selección de la distribución de Eclipse que queramos atendiendo al entorno en el que nos enfocaremos, | ||
- | * El paquete se descargará directamente con distribución de eclipse que queramos emplear atendiendo a nuestro enfoque. | + | * El paquete |
- | Se recomienda descomprimirlo en una ruta sin espacios en blanco, por ejemplo //C://. | + | Se recomienda descomprimirlo |
Cada vez que lo arranquemos nos puede preguntar qué // | Cada vez que lo arranquemos nos puede preguntar qué // | ||
===== Creación de programas en Java ===== | ===== Creación de programas en Java ===== | ||
- | El proceso de obtención de un programa en java a partir de un código fuente de Java, consta de 2 fases: la compilación y la ejecución. En la compilación se obtiene otro código llamado bytecode de Java. Este código es comprendido por cualquier JVM de Java instalada en cualquier dispositivo. | + | El proceso de obtención de un programa en java a partir de un código fuente de Java, consta de 2 fases: la compilación y la ejecución. En la compilación se obtiene otro código llamado |
- | La ejecución conlleva un proceso de // | + | La ejecución conlleva un proceso de // |
- | Se puede concluir que java es un lengauje compilado | + | Se puede concluir que java es un lenguaje __compilado |
{{ : | {{ : | ||
==== Editor ==== | ==== Editor ==== | ||
* Es la herramienta con la que escribimos el lenguaje o código. Existe una sintaxis concreta para cada lenguaje, aunque pueden ser parecidas. | * Es la herramienta con la que escribimos el lenguaje o código. Existe una sintaxis concreta para cada lenguaje, aunque pueden ser parecidas. | ||
- | | + | |
+ | | ||
* A cada fichero de texto debemos asignarle extensión .java. | * A cada fichero de texto debemos asignarle extensión .java. | ||
+ | |||
* Cada IDE tiene su propio editor, pero podemos usar el que queramos (p.e. notepad). | * Cada IDE tiene su propio editor, pero podemos usar el que queramos (p.e. notepad). | ||
==== Compilador ==== | ==== Compilador ==== | ||
* Se encarga de leer el código que hemos escrito en un archivo y convertirlo en un formato que podrá ser leido por la máquina. | * Se encarga de leer el código que hemos escrito en un archivo y convertirlo en un formato que podrá ser leido por la máquina. | ||
+ | |||
* La máquina es el ordenador en el que lo ejecutamos, pero como hemos comentado, la plataforma Java tiene un particularidad. | * La máquina es el ordenador en el que lo ejecutamos, pero como hemos comentado, la plataforma Java tiene un particularidad. | ||
+ | |||
* Java usa un programa llamado Máquina Virtual de Java. | * Java usa un programa llamado Máquina Virtual de Java. | ||
+ | |||
* La JVM simula un ordenador que entiende ese código y el capaz de ejecutarlo en nuestro ordenador real. | * La JVM simula un ordenador que entiende ese código y el capaz de ejecutarlo en nuestro ordenador real. | ||
+ | |||
* Instalando una JVM en cualquier máquina nos aseguramos que el código compilado es comprendido (multiplataforma). | * Instalando una JVM en cualquier máquina nos aseguramos que el código compilado es comprendido (multiplataforma). | ||
==== Interprete ==== | ==== Interprete ==== | ||
- | * Al compilar el código, creamos un nuevo archivo con el mismo nombre, pero con extensión .class | + | * Al compilar el código, creamos un nuevo archivo con el mismo nombre, pero con extensión |
* Este fichero contiene un código denominado bytecode de java. | * Este fichero contiene un código denominado bytecode de java. | ||
+ | |||
* Dicho código es **interpretado** por la máquina virtual de Java instalada en cualquier equipo. | * Dicho código es **interpretado** por la máquina virtual de Java instalada en cualquier equipo. | ||
+ | |||
* La JVM es la encargada de traducir (interpretar) dicho código en algo capaz de ser ejecutado por el ordenador (código máquina). | * La JVM es la encargada de traducir (interpretar) dicho código en algo capaz de ser ejecutado por el ordenador (código máquina). | ||
bloque1/introjava.1520004498.txt.gz · Última modificación: 16/09/2024 20:53 (editor externo)