Gitprint Victorcuervo Manualweb Blob Master Java PDF Tutorial Java P
Gitprint Victorcuervo Manualweb Blob Master Java PDF Tutorial Java P
Java
versión: v0.2
https://github.com/victorcuervo/manualweb/tree/master/java
github:
(https://github.com/victorcuervo/manualweb/tree/master/java)
Disclamer
Índice
1. Introducción a Java
2. Historia de Java
3. Tecnologías Java
4. Instalar Java
5. Mi primera aplicación Java
Introducción a java
Java (http://www.manualweb.net/tutorial-java/) es un lenguaje de programación de propósito general,
tipado, orientado a objetos,... que permite el desarrollo desde aplicaciones básicas, pasando
por aplicaciones empresariales hasta aplicaciones móviles.
1 of 12
Características del lenguaje Java
Independiente de Plataforma
Orientado a Objetos
Sencillo
Seguro
Es seguro ya que los programas se ejecutan dentro de la Java Virtual Machine (JVM) en un
formato de "caja de arena", de tal manera que no pueden acceder a nada que esté fuera de ella.
Tiene una validación sobre los bytecodes para comprobar que no hay códigos de fragmento
ilegal.
Arquitectura Neutral
Portable
Robusto
Multi-hilo
2 of 12
Java (http://www.manualweb.net/tutorial-java/) nos permite la programación concurrente, de tal
manera que un único programa puede abrir diferentes hilos de ejecución.
Interpretado
Alto Rendimiento
Distribuido
Historia de Java
Se trabaja con Java Specification Requests (JSRs) que son las nuevas funcionalidades que se
busca que tenga el lenguaje.
Java 5
3 of 12
En 2004 se estaba trabajando con la versión Java (http://www.manualweb.net/tutorial-java/) 1.5, pero con
vistas a reflejar el nivel de madurez de la plataforma Java (http://www.manualweb.net/tutorial-java/) se
renombra a Java (http://www.manualweb.net/tutorial-java/) 5.
A partir de este momento se identifica el JDK con la versión 1.x, mientras que la plataforma
Java (http://www.manualweb.net/tutorial-java/) sigue con la nueva política de versionado.
Así JDK 1.5 corresponde con Java (http://www.manualweb.net/tutorial-java/) 5 , JDK 1.6 corresponde con
Java (http://www.manualweb.net/tutorial-java/) 6 ,... y así sucesivamente.
Java 6
Una de las cosas que sucede en noviembre 2006 es que Sun Microsystems
(https://en.wikipedia.org/wiki/Sun_Microsystems) lo convierte en Open Source mediante una licencia
GNU General Public License (GPL).
Dando lugar en mayo 2008 a lo que se conoce como OpenJDK (http://openjdk.java.net/) , con
OpenJDK 6.
Java 7
También aparecen cosas menores, pero muy útiles como el manejo de String dentro de la
validación en una estructura switch o la capacidad de poner subrayados en los números
para que se puedan leer mejor.
4 of 12
Ve la luz el Proyecto Nashorn para disponer de un engine Javascript
(http://www.manualweb.net/tutorial-javascript/) y así poder incluir este lenguaje dentro de las
aplicaciones Java (http://www.manualweb.net/tutorial-java/) .
Otras cosas son un nuevo API Date y Time y la inclusión de JavaFX 8 dentro de la JDK de Java
(http://www.manualweb.net/tutorial-java/) .
Java 9
Dentro de esta versión podremos encontrar el Project Jigsaw que establece la modularización
de la JDK, el Java Shell con el que podremos trabajar e interactuar al estilo RELP (Read–eval–
print loop), soporte para http 2.0 y algunas cosas más (http://blog.takipi.com/5-features-in-java-9-that-
will-change-how-you-develop-software-and-2-that-wont/)
Tecnologías Java
Dentro de Java (http://www.manualweb.net/tutorial-java/) existen diferentes tecnologías de
desarrollo, cada una enfocada a un fin diferente, ya sea la base del lenguaje Java
(http://www.manualweb.net/tutorial-java/) , Java (http://www.manualweb.net/tutorial-java/) para el ámbito
empresarial, Java (http://www.manualweb.net/tutorial-java/) para el desarrollo de aplicaciones
móviles,...
La aplicación se ejecuta dentro de la Java Virtual Machine (JVM) y tiene capacidad de accerder al
API, que son las librerías con funcionalidades que nos ofrece Java
(http://www.manualweb.net/tutorial-java/) .
Java SE
Java EE
Java ME
Java Card
Java SE
5 of 12
lenguaje.
Java EE
Java EE nos permite realizar el desarrollo de servicios, ya sean WSDL (con JAX-WS), REST
(con JAX-RS), o la creación de websockets.
Además ofrece un API de persistencia de objetos con JPA, capacidades de mensajería con Java
Message, de email con Java Mail o gestión de procesos batch.
Java ME
Si bien con el paso del tiempo se ha ido enfocando más para el desarrollo de dispositivos IoT
(Internet of Things): televisiones, sensores, impresoras,...
Java Cards
6 of 12
capacidad de procesamiento y memoria.
Instalar Java
Para instalarnos el compilador Java (http://www.manualweb.net/tutorial-java/) lo primero que
deberemos de hacer es descargarlo de la web de Oracle. A día de hoy (abril 2017) podemos
bajarnos la versión Java 8 del compilador desde la web de Oracle (https://java.com/en/download/) .
De ella nos podemos bajar el kit de desarrollo (Java SE Development Kit) y el entorno de
ejecución (Java SE Runtime Environment).
Proceso de instalación
Entre estas partes podremos elegir las herramientas de desarrollo, el código fuente, las demos y el
entorno de ejecución. Es recomendable instalar todas. Más vale que sobre a que falte.
Una vez que hayamos confirmado, la instalación empieza a ejecutarse la instalación, por lo
que nos aparecerá un progreso de instalación.
Cuando se termine la instalación, el programa nos sacará una ventana en la que podremos ver
que se ha instalado correctamente y nos permite lanzar los siguientes pasos para empezar con
Java (http://www.manualweb.net/tutorial-java/)
Ahora podremos ir al directorio en el cual nos ha realizado la instalación. En nuestro caso en:
C:Program FilesJavajdk1.8.0_131bin
Y podemos ejecutar un javac, que es el nombre del compilador, para ver que se ha instalado
correctamente.
7 of 12
instalado.
Primeros Pasos
El compilador de Java
Supongo que el primero, por descontado, lo tendréis a mano. O, al menos, algo similar. Para
los usuarios avanzados en el tema les dejare utilizar el Atom, Sublime y similares.
Ahora que tenemos todo el entorno de desarrollo instalado nos lanzamos a desarrollar, ni
más, ni menos, que nuestra primera aplicación Java.
Lógicamente, nuestra primera aplicación no podría ser otra que “Hola Mundo”. Por si algún
despistado todavía no se ha enterado de que va esta aplicación, decirle, simplemente, que es
mostrar por pantalla la frase “Hola Mundo”. Complejo, ¿verdad?.
p u b l i c c l a s s M i P r i m e r a A p l i c a c i o n {
p u b l i c s t a t i c v o i d m a i n ( String[ ] args) {
System. out. println( "Hola Mundo") ;
}
}
8 of 12
El fichero lo guardaremos como MiPrimeraAplicacion.java. Este será nuestro fichero con el
código fuente.
Deberemos de tener cuidado en cómo escribimos el nombre del fichero ya que Java
(http://www.manualweb.net/tutorial-java/) es un lenguaje sensible a mayúsculas, es decir, que
no es lo mismo poner miprimeraaplicacion o MiprimeraAplicacion o
MIPRIMERAAPLICACION o ... El nombre del fichero deberá de coincidir con el nombre
de la clase principal.
La verdad es que a estas alturas de la película no nos vamos a centrar en que significa cada una
de las líneas de código.
Si bien, no es que haya que ser muy listo, para, al menos, darnos cuenta de que con la
sentencia System.out.println (http://www.w3api.com/wiki/Java:System.out) se pueden volcar
contenidos a la pantalla del ordenador.
En el caso de estar en un sistema operativo Windows, el compilador suele estar instalado (si
hemos seguido la instalación por defecto) en:
C:\Program Files\Java\jdk1.8.0_51.jdk\bin
/usr/libexec/java_home
javac
Uff... vaya cantidad de opciones... No te preocupes por ellas, ya que para compilar mi
aplicación deberé de poner por consola lo siguiente...
javac MiPrimeraAplicacion.java
Esta ejecución supone que tenemos el código fuente en el mismo directorio que el compilador,
si bien, eso no será lo más corriente.
9 of 12
Para poder ejecutar el compilador en cualquier directorio de máquinas Windows deberemos de
insertar el directorio donde se ubica el compilador en la variable de entorno PATH.
Ahora podremos ejecutar el compilador desde cualquier sitio. Así, debería de funcionarnos lo
siguiente...
C:\WORK\Ejemplos1\javac MiPrimeraAplicacion.java
Vamos que si no nos dice nada de nada es que lo hemos hecho muy bien. En el caso de que
hubiéramos metido la pata saldrían cosas como las siguientes...
Esto es que el nombre de la clase y del fichero no existe. Múltiples errores se nos pueden
producir.
Ejecutando mi aplicación
Esto nos viene a decir que si yo compilo un programa, por ejemplo, en C, en mi máquina
Windows 8.1 sobre una plataforma Intel. Solo va a funcionar en maquinas con esa
configuración.
10 of 12
En el caso de Java (http://www.manualweb.net/tutorial-java/) , el código intermedio se llama
bytecodes. Este código no es dependiente ni del sistema operativo ni de la máquina en el cual
lo ejecutamos.
El programa que va a ejecutar dichos bytecodes es java. Este programa está en el mismo
directorio en el que estaba el compilador.
java
java MiPrimeraAplicacion
Es normal que la primera vez que ejecutemos nos pueda suceder esto. A si que no nos
preocupemos.
Esto sucede debido a que el interprete java busca los ficheros .class en los directorios que
define la variable de entorno CLASSPATH.
Es por ello que si queremos ejecutar una clase que esta en el directorio actual deberemos de
tener, al menos, dicho directorio en la variable de entorno.
Cuando escribamos aplicaciones más grandes utilizaremos clases creadas por Java, a si que
deberemos de tener en el CLASSPATH la ruta de dichas clases. Para solucionar todo este
embrollo podemos escribir lo siguiente.
set CLASSPATH=.
Si tu eres una de esas personas que no puede dejar nada fuera de control, te recomiendo que te
leas el documento JDK Installation for Microsoft Windows
(https://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_jdk_install.html#CHDEBCCJ) . Todo lo
11 of 12
que siempre quisiste saber sobre la variable CLASSPATH y nunca te atreviste a preguntar. :-)
12 of 12