2. Plataforma Java SE 5 Variables en Java Heap y Stack de memoria Colecciones Entrada / Salida
3. Variables en Java (1) Es el nombre que se asocia con una porción de memoria del ordenador en la que se guarda un valor asignado. Una variable requiere ser declarada con una sentencia, en donde se define el tipo de dato y el nombre de dicha variable.
4. Variables en Java (2) Tipos de variables: Instancia: Objetos definidos por las clases. Clase: Son propias de la clase y no de los objetos. Sus valores son compartidos por todos los objetos de la clase. Son las variables estáticas. Locales: Se utilizan dentro de los métodos o dentro de un scope (alcance) determinado.
5. Variables en Java (3) Al declarar una variable, el nombre debe cumplir los siguientes requisitos de un identificador: Debe empezar con una letra, símbolo de dólar ($) o caracteres de conexión (_), nunca debe empezar con un número.
6. Variables en Java (4) Después del primer caracter el identificador puede contener cualquier combinación de letras, símbolo de dólar ($), caracteres de conexión (_) o números. No hay un límite de caracteres que un identificador pueda tener. No se pueden usar una palabra reservada como identificador.
7. Variables en Java (5) Por otro lado, las convenciones de código Java recomiendan usar: Nombres cortos, significativos y fáciles de recordar. Estilo de escritura CamelCase lowerCamelCase.
8. Heap y Stack de memoria Heap: Asignación dinámica de memoria. El patrón de distribución y tamaño de los bloques no se conoce hasta el tiempo de ejecución. Stack: Sección de memoria que se asigna a las variables automáticas dentro de las funciones. Utilizan una secuencia LIFO.
9. Colecciones (1) Son objetos que referencian a un grupo de objetos. Pueden: Cambiar de tamaño dinámicamente. Buscar un objeto dentro del conjunto. Proveer ordenamiento. Insertar y borrar elementos.
10. Colecciones (2) Los 4 tipos principales son Lists: De objetos, implementan List Sets: Conjunto de objetos, implementan Set Maps: Objetos con un identificador único, implementan Map Queues: Objetos disponibles en el orden en el cuál son ordenados.
11. Entrada / Salida (1) File: Representación abstracta del archivo y/o directorio de nombres. No está preparado un archivo para leer o escribir, sólo está definido a alto nivel. FileReader: Esta clase se usa para leer caracteres de un archivo.
12. Entrada / Salida (2) BufferedReader: Es un lector de más bajo nivel. Es más eficiente y fácil de usar que la clase anterior manteniendo los datos en el buffer. FileWriter: Clase usada para escribir caracteres en un archivo.
13. Entrada / Salida (3) BufferedWriter: Es un escritor de más bajo nivel. Es más eficiente y fácil de usar que la clase anterior. PrintWriter: Clase más flexible que las dos clases anteriores. Se puede usar en cualquier caso de escritura. Se agregan más métodos.
15. Entrada / Salida (5) Serialización(1) Es el proceso de escribir el estado de un objeto a un flujo de bytes. La utilidad de esta operación se manifiesta cuando queremos salvar el estado de nuestro programa en un sitio de almacenamiento permanente o cuando se quiere mantener su persistencia. Posteriormente, se pueden recuperar los objetos deserializándolos.
16. Entrada / Salida (6) Serialización(2) También se utiliza en una Invocación de Métodos Remotos (RMI), transmitiendo elementos de una forma sencilla. Dado que cuando un objeto se serializa, éste puede tener referencias a otros objetos que a la vez lo tendrán a otros, los métodos para la serialización y deserialización de objetos contemplan esta posibilidad.
17. Entrada / Salida (7) Serialización(3) Así, cuando serializamos un objeto que está en la cima del grafo de objetos, todos los objetos a los que se hace referencia son también serializados. El proceso inverso de recuperación de objetos hará justo lo contrario.