Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
JAVA por Mind Map: JAVA

1. Historia

1.1. 1991: James Gosling inicia proyecto de código independiente

1.2. 1993: Desarrolla un nuevo lenguaje (OAK)

1.3. 1994: Aparece WWW y Mosaic

1.4. 1995: Sun inicia disponibilidad de Java

1.5. 2004 : Versión J2se 1.5-Beta disponible

2. Tecnología

2.1. POO

2.2. Sintaxis Similar a C++

2.3. Contiene Máquina Virtual Java (JVM)

2.4. Tres Versiones: J2SE, J2EE, J2ME

2.5. Contiene Java API

3. Características

3.1. Simple y Orientado a Objetos

3.2. Robusto y seguro

3.3. Interpretado, neutro de la arquitectura y portable

3.4. Distribuido y alto desempeño

3.5. Multi-hebra

3.6. Dinámico

4. Entorno

4.1. Comentarios en Java

4.1.1. //TEXTO

4.1.2. /*TEXTO*/

4.1.3. /**TEXTO*/

4.2. Método main

4.2.1. El interpretador lo invoca al ejecutarse una aplicación Java

4.2.2. Tiene un argumento único: Arreglo de Strings

4.3. Permite acceder a recursos del Sistema: con el paquete System (API Java)

4.4. Applets

4.4.1. Uso normal es en un Web Browser

4.4.2. Diferente Modelo de Ejecución

4.5. Importación de Clases y Paquetes con la palabra reservada import. Ejm: import.java.applet*

4.6. Definición de subclases con la palabra reservada extends

5. Funcionalidad

5.1. Esencial

5.2. Interfaces Gráficas

5.3. Comunicación en la Red y Applets

5.4. Internacionalización

5.5. Seguridad

5.6. Threads(hebras)

5.7. Componentes de Software (JavaBean)

5.8. Serialización de Objetos

5.9. Acceso uniforme a Base de Datos y sus relaciones

6. Conceptos Básicos

6.1. Conjunto de Caracteres: Utiliza Unicode, 16 bits

6.2. Identificadores: Case sensitive y deben inicar con una letra

6.3. Palabras reservadas: abstract, continue, for, new, switch, assert, default, goto, package, synchronized, boolean, do, if, private, this, break, double, implements, protected, throw, byte, else, import, public, throws, case, enum, instanceof, return, transient, catch, extends, int, short, try, char, final, interface, static, void, class, finally, long, strictfp, volatile, const, float, native, super, while.

7. Variables, Constantes y Tipos Primitivos

7.1. Variable debe ser declarada antes de su uso

7.2. Variables esta nombrada por un identificador

7.3. Tipos de Datos

7.3.1. Primitivos: Entero, real, booleano y caracter

7.3.1.1. byte: Entero de un byte 8 bits, C-2 short: Entero corto 16 bits, C-2 int: Entero 32 bits, C-2 long: Entro largo 64 bits, C-2 float: Punto flotante de precisión simple 32 bits, IEEE 754 double: Punto flotante de precisión doble 64 bits, IEEE 754 char: Caracter 16 bits, Unicode boolean: Booleano (true y false)

7.3.2. Referencias: Arreglo, clase e interfaz

7.4. No soporta punteros

7.5. Declaración de Variables: [modificador]tipo de variable {,variable}*

8. Operadores

8.1. Conversión de Tipo

8.1.1. Implícita: Es automática

8.1.2. Explícita: Se denomina cast. Ejm: long d=(long) i;

8.2. Operadores Ariméticos

8.2.1. Suma + Resta - Multiplicación * División / Residuo o módulo %

8.3. Operadores de Incremento y Decremento

8.3.1. variable++ y variable-- aunque existen en forma prefija y postfija

8.4. Operadores Relacionales

8.4.1. Mayor que > Mayor o igual que >= Menor que < Menor o igual que <= Igual que == Diferente !=

8.5. Operadores al Bit

8.5.1. AND al bit & OR inclusivo al bit | OR exclusivo al bit ^ Corrimiento a la izquierda << (rellenando con 0) Corrrimiento a la derecha >> (rellenando con el signo) Corrimiento a la derecha >>> (rellenando con 0)

8.6. Operador Condicional

8.6.1. La forma valor = test ? exp1 : exp2;

8.7. Operador de Asignación

8.7.1. =

8.7.2. Java soporta otras formas de asignación +=, -=, *=, /=, %=, >>=, <<= ,>>>=, &=, ^=, |=

9. Control de Flujo

9.1. Sentencias y Bloques

9.1.1. Sentencia if-else

9.1.1.1. if (exp-booleana) sent1 else sent2

9.1.2. Sentencia switch

9.1.2.1. switch (valor) { case 0: case 2: case 4: case 6: case 8: System.out.println (“es par”); break; case 1: case 3: case 5: case 7: case 9: System.out.println (“es impar”); break; default: System.out.println (“es impar”); }

9.1.3. Sentencia while y do-while

9.1.3.1. while (exp-boolena ) sentencia

9.1.3.2. do sentencia while (exp-boolena );

9.1.4. Sentencia for

9.1.4.1. for (exp-inicial; exp-boolena; exp-incremento) sentencia

9.1.5. Sentencia break: Permite salir desde cualquier bloque.

9.1.6. Sentencia continue: Permite saltar al final del cuerpo de una repetición y evaluar la condición del término.

9.1.7. Sentencia return: Terminar la ejecución de un método y retorna al invocador.

10. Clases y Objetos

10.1. Clases

10.1.1. Contienen los métodos que definen la computación

10.1.2. Estructura Lógica: Nombre, Atributos y Métodos

10.1.3. Modificadores: public, asbtract y final

10.1.4. Control de acceso a Variables Miembros (Atributos de Clase)

10.1.4.1. private

10.1.4.2. protected

10.1.4.3. public

10.1.5. Creación de Objetos

10.1.5.1. Persona p1; Persona p2 = new Persona(“Pedro”);

10.1.5.2. Constructores: Un objeto recién creado debe inicializar las variables miembro

10.1.5.2.1. Ejemplo: public Persona (String s) { ID = ++nextID; Nombre = s; }

10.1.5.2.2. Modificadores de Acceso

10.1.5.2.3. Si no se define constructor, se asume un constructor sin argumentos, que no hace nada

10.1.6. Métodos

10.1.6.1. Un método se entiende para manipular el estado del objeto (variables miembro)

10.1.6.2. Para proteger campos de un acceso externo se usa el modificador private

10.1.6.3. Es recomendable usar accesores para proteger el estado de los objetos

10.1.6.4. Referencia this: Sólo se puede usar en un método no estático, y se refiere al objeto actual sobre el que se invocó el método

10.1.6.5. Sobrecarga de Métodos

10.1.6.5.1. Java permite tener varios métodos con un mismo nombre, pero diferentes parámetros

10.1.6.5.2. Miembros Estáticos: Un miembro estático es único para toda una clase, en vez de tener uno por objeto

10.1.6.6. Recolección de Basura: Java realiza recolección automática de basura, el programador no requiere liberar explícitamente los objetos

10.1.6.7. Método finalize: Permite ejecutar un método de finalización antes de liberar memoria

10.1.6.8. Método main: El método mainse debe encontrar en cada aplicación Java

10.1.6.9. Método toString: Si un objeto soporta el método public String toString(), este método se invoca en cualquier expresión en que el objeto aparezca con los operadores + y +=

10.1.7. Clases Anidadas

10.1.7.1. Java permite definir una clase como miembro de otra clase

10.1.7.2. Si clase anidada se declara estática, se llama clase anidada estática

10.1.8. Clases Internas

10.1.8.1. Si no es estática, es una clase interna

11. Herencia

11.1. Clases Extendidas

11.1.1. En Java todas las clases son extendidas

11.1.1.1. Toda clase se deriva (quizás indirectamente) de la clase Object

11.1.2. Java sólo permite tener una única superclase (herencia simple)

11.2. Reglas

11.2.1. Una subclase hereda todos los miembros

11.2.1.1. públicos

11.2.1.2. protegidos

11.2.1.3. sin modificador (paquete)

11.2.2. Colisiones de nombres

11.2.2.1. En el caso de una variable miembro, ésta se oculta

11.2.2.2. En el caso de un método, éste es redefinido (overriden)

11.3. Redefinición de Varaibles Miembros

11.3.1. Los campos no se pueden realmente redefinir, sólo pueden ser ocultados

11.3.2. Para accederlos se puede usar referencia super

11.4. Redefinición de Métodos

11.4.1. Para la definición de métodos donde existe coincidencia de nombres

11.4.1.1. Sobrecarga: Definir más de un método con el mismo nombre, pero con diferente firma

11.4.1.2. Redefinición: Reemplaza la implementación de la superclase

11.4.2. Métodos que no se pueden redefinir

11.4.2.1. Métodos finales

11.4.2.2. Métodos Estáticos

11.4.3. Métodos que se deben redefinir

11.4.3.1. Métodos que han sido declarados abstractos en la superclase

11.5. Constructores en clases extendidas

11.5.1. Se invoca el constructor de la superclase (sino se especifica cual, se usa el por omisión)

11.5.2. Inicializar los campos usando sentencias de inicialización

11.5.3. Ejecutar el cuerpo del constructor

11.6. Modificador final

11.6.1. Variable. La variable no puede ser modificada (constante)

11.6.2. Método. El método no puede ser redefinido

11.6.3. Clase. La clase no se puede derivar (implícitamente todos sus métodos son finales)

11.7. Clase Object

11.7.1. Todas las clases tienen a Object como raíz, por lo tanto heredan sus métodos

11.7.2. Métodos

11.7.2.1. Métodos de utilidad general

11.7.2.2. Métodos para soportar hebras (threads)

11.8. Clonación de Objetos

11.8.1. El método clone permite clonar un objeto

11.8.2. Una clase que permite clonar objetos normalmente implementa la interfaz Cloneable

11.9. Clases y Métodos Abstractos

11.9.1. Permite definir clases que definen sólo parte de su implementación

12. Interfaces y Paquetes

12.1. Interfaces

12.1.1. Interfaz es una simple lista de métodos abstractos (no implementados)

12.1.2. Cuerpo

12.1.2.1. Todas las constantes son implícitamente

12.1.2.1.1. públicas

12.1.2.1.2. estáticas

12.1.2.1.3. finales

12.1.2.2. Todos los métodos son implícitamente

12.1.2.2.1. públicos

12.1.2.2.2. abstractos

12.1.2.3. No se aceptan otros modificadores (e.g. private, protected y synchronized)

12.1.3. Implementación

12.1.3.1. Una referencia a una interfaz permite suponer que los métodos existen

12.1.3.2. Una clase que “implementa” una interfaz se compromete a “implementarlos”.

12.1.4. Herencia

12.1.4.1. Herencia Simple vs Múltiple

12.1.4.1.1. Una clase puede extender exactamente una superclase

12.1.4.1.2. Una interfaz puede extender múltiples interfaces

12.1.4.1.3. Java evita el problema permitiendo sólo herencia simple para clases

12.1.4.2. Extensión de interfaces

12.1.4.2.1. Al igual que las clases, las interfaces pueden tener súper-interfaces.

12.1.4.2.2. La interfaz hija “hereda” las definiciones de la interfaz padre

12.1.4.2.3. En este caso se permite herencia múltiple

12.2. Paquetes

12.2.1. Contiene clases, interfaces y subpaquetes que están relacionados

12.2.2. Definición

12.2.2.1. En la primera línea de cada archivo fuente de una clase o interfaz debe aparecer: package <nombre>

12.2.2.2. El nombre del paquete implícitamente se antepone al nombre de la clase o interfaz

12.2.2.3. Código externo al paquete puede referenciar a tipo internos del paquete de acuerdo a las reglas de control de acceso

12.2.3. Control de Acceso

12.2.3.1. Clases e Interfaces tienen dos accesos

12.2.3.1.1. Público. Si se califican con public esta permitido su acceso fuera del paquete

12.2.3.1.2. Paquete. Sino se declara public, su acceso se restringe dentro del paquete

12.2.3.2. Miembros de clase declarados

12.2.3.2.1. Sin modificador de acceso son accesibles dentro del paquete, pero fuera de él

12.2.3.2.2. Miembros no privados son accesibles por cualquier código del paquete (son amistosos)

12.2.3.3. Paquetes de Java

12.2.3.3.1. java.lang java.io java.util java.math java.awt java.net java.rmi java.applet java.sql java.beans java.security etc.

13. Caracteres, String y Otros Tipos de Datos

13.1. Arreglos

13.1.1. Arreglos en Java son agrupaciones ordenadas de elementos

13.1.2. Los índice varían desde 0 a largo-1

13.1.3. Los arreglos no se pueden derivar

13.2. Caracteres y Strings

13.2.1. Clases básicas

13.2.1.1. Character

13.2.1.1.1. Métodos

13.2.1.2. String

13.2.1.2.1. Contiene métodos comunes con el StringBuffer

13.2.1.3. StringBuffer

13.2.1.3.1. StringBuffer debe siempre usar new para crear un string

13.3. Números

13.3.1. Clase Number y sus métodos

13.3.2. Funciones matemáticas

13.3.2.1. exponenciación logaritmos raíz cuadrada Funciones trigonométricas Máximos y mínimos Redondeos etc.

13.3.3. Formato

13.3.3.1. Los programas almacenan y operan números en forma independiente de la localidad

13.3.3.2. Java provee soporte para realizar tales conversiones en paquete java.text

13.4. Date

13.4.1. Clase java.util.Date

13.4.2. Útil para manejar datos fecha/hora

14. Manejo de Excepciones

14.1. Una excepción corresponde a un evento que interrumpe el flujo normal de ejecución

14.2. Jerarquía

14.2.1. Error: Representa un error interno irrecuperable o agotamiento de recursos en el sistema de runtime de Java

14.2.2. Exception: Representa una situación excepcional en el programa.

14.2.2.1. Subclases

14.2.2.1.1. RuntimeException se debe a un error de programación

14.2.2.1.2. IOException son por algún otro problema

14.3. Tipos

14.3.1. Excepciones no verificadas (unchecked)

14.3.2. Excepciones verificadas (checked)

14.4. Métodos

14.4.1. Un método advierte al compilador sobre excepciones que no puede manejar lanzándola con throws

14.5. Capturar Excepciones

14.5.1. Sentencia try permite definir un bloque de sentencias para las cuales se quiere definir un manejador de excepciones

14.5.2. Para cada clase de excepción se define un manejador diferente con catch

15. Streams y Archivos

15.1. Streams Básicos

15.1.1. Java provee dos clases básicas para bytes

15.1.1.1. InputStream : Secuencia de bytes de entrada

15.1.1.2. OutputStream : Secuencia de bytes de salida

15.2. Conjunto de Streams

15.2.1. Java provee más de 60 clases de streams

15.2.2. Todas las clases se derivan de las 4 clases básicas

15.3. Archivos

15.3.1. Clases Básicas

15.3.1.1. FileReader. Lectura de caracteres  FileWriter. Escritura de caracteres  FileInputStream . Lectura de bytes  FileOutputStream . Escritura de bytes

15.3.2. Clase File

15.3.2.1. No corresponde a un stream (se deriva de Object), que permite tener repesentación abstracta de archivos y directorios

15.3.2.2. Está definida en paquete java.io