Java a fondo.Curso de programación actualizado a Java 8/ Incluye introducción a hibernate y spring ( 3 edición)

Java a fondo.Curso de programación actualizado a Java 8/ Incluye introducción a hibernate y spring ( 3 edición)

Autor / Author: Pablo Augusto Sznajdleder
Editorial / Publisher: Alfaomega
Entrega / Delivery : Nacional / International
Envio desde / Ships from: Colombia
Condición / Condition: Nuevo / New

Nuestro PrecioCOP$123,035
Precio de lista: COP$136,711
Código9789587782080
Stock: 1
Peso: 700.0
addthis
Guarde la lista de peticiones

Tipo: Libro impreso / Print book

Encuadernación / Binding: Tapa blanda / Paperback

Tamaño / Size: 17 x 23 cm

Páginas / Pages: 440

Resumen / Summary:

Autor / Author: Pablo Augusto Sznajdleder
Editorial / Publisher: Alfaomega
Entrega / Delivery : Nacional / International
Envio desde / Ships from: Colombia
Condición / Condition: Nuevo / New



Tabla de contenido / Table of contents:


1 Introducción al lenguaje de programación Java

1.1 Introducción

1.2 Comencemos a programar 

1.2.1 El Entorno Integrado de Desarrollo (IDE)

1.3 Estructuras de control

1.3.1 Entrada y salida de datos por consola

1.3.2 Definición de variables

1.3.3 Comentarios en el código

1.3.4 Estructuras de decisión

1.3.5 Estructuras iterativas 

1.4 Otros elementos del lenguaje

1.4.1 Tipos de datos

1.4.2 Algunas similitudes y diferencias con C y C++

1.4.3 Definición de constantes 

1.4.4 Arrays

1.4.5 Matrices

1.4.6 Literales de cadenas de caracteres

1.4.7 Caracteres especiales 

1.4.8 Argumentos en línea de comandos 

1.5 Tratamiento de cadenas de caracteres 

1.5.1 Acceso a los caracteres de un String 

1.5.2 Mayúsculas y minúsculas

1.5.3 Ocurrencias de caracteres

1.5.4 Subcadenas

1.5.5 Prefijos y sufijos 

1.5.6 Posición de un substring dentro de la cadena 

1.5.7 Concatenar cadenas 

1.5.8 La clase StringBuffer

1.5.9 Conversión entre números y cadenas

1.5.10 Representación numérica en diferentes bases

1.5.11 La clase StringTokenizer 

1.5.12 Usar expresiones regulares para particionar una cadena

1.5.13 Comparación de cadenas

1.6 Operadores 

1.6.1 Operadores aritméticos

1.6.2 Operadores lógicos

1.6.3 Operadores relacionales

1.6.4 Operadores lógicos de bit

1.6.5 Operadores de desplazamiento de bit

1.7 La máquina virtual y el JDK

1.7.1 El JDK (Java Development Kit)

1.7.2 Versiones y evolución del lenguaje Java 

1.8 Resumen 

2 Programación orientada a objetos

2.1 Introducción

2.2 Clases y objetos 

2.2.1 Los métodos 

2.2.2 Herencia y sobrescritura de métodos 

2.2.3 El método toString

2.2.4 El método equals

2.2.5 Definir y “crear” objetos

2.2.6 El constructor 

2.2.7 Un pequeño repaso de lo visto hasta aquí

2.2.8 Convenciones de nomenclatura

2.2.9 Sobrecarga

2.2.10 Encapsulamiento

2.2.11 Visibilidad de métodos y atributos

2.2.12 Packages (paquetes)

2.2.13 La estructura de los paquetes y la variable CLASSPATH

2.2.14 Las APIs (Application Programming Interface)

2.2.15 Representación gráfica UML

2.2.16 Importar clases de otros paquetes

2.3 Herencia y polimorfismo

2.3.1 Polimorfismo

2.3.2 Constructores de subclases

2.3.3 La referencia super

2.3.4 La referencia this 

2.3.5 Clases abstractas

2.3.6 Constructores de clases abstractas

2.3.7 Instancias

2.3.8 Variables de instancia

2.3.9 Variables de la clase 

2.3.10 El Garbage Collector (recolector de residuos)

2.3.11 El método finalize

2.3.12 Constantes

2.3.13 Métodos de la clase 

2.3.14 Clases utilitarias

2.3.15 Referencias estáticas

2.3.16 Colecciones (primera parte) 

2.3.17 Clases genéricas

2.3.18 Implementación de una pila (estructura de datos)

2.3.19 Implementación de una cola (estructura de datos)

2.4 Interfaces

2.4.1 Desacoplamiento de clases

2.4.2 El patrón de diseño: factory method

2.4.3 Abstracción a través de interfaces

2.4.4 La interface Comparable

2.4.5 Desacoplar aún más 

2.5 Colecciones 

2.5.1 Cambio de implementación 

2.6 Excepciones 

2.6.1 Excepciones declarativas y no declarativas

2.6.2 El bloque try–catch-finally

2.7 Resumen 

3 Acceso a bases de datos (JDBC)

3.1 Introducción

3.2 Conceptos básicos sobre bases de datos relacionales 

3.2.1 Relaciones foráneas y consistencia de datos

3.2.2 Diagrama Entidad-Relación (DER) 

3.2.3 SQL – Structured Query Language

3.2.4 Ejecutar queries

3.2.5 Unir tablas (join) 

3.2.6 Ejecutar updates 

3.3 Conectar programas Java con bases de datos

3.3.1 Invocar un query con un join

3.3.2 Updates 

3.3.3 Ejecutar un INSERT

3.3.4 Ejecutar un DELETE 

3.3.5 Ejecutar un UPDATE

3.3.6 El patrón de diseño “Singleton” (Singleton Pattern)

3.3.7 Singleton Pattern para obtener la conexión

3.3.8 El shutdown hook

3.3.9 Inner classes (clases internas)

3.3.10 Manejo de transacciones 

3.4 Uso avanzado de JDBC 

3.4.1 Acceso a la metadata (ResultSetMetaData)

3.4.2 Definir el “query fetch size” para conjuntos de resultados grandes

3.4.3 Ejecutar batch updates (procesamiento por lotes) 

3.5 Resumen

4 Diseño de aplicaciones Java (Parte I)

4.1 Introducción

4.2 Atributos de una aplicación

4.2.1 Casos de uso

4.3 Desarrollo de aplicaciones en capas

4.3.1 Aplicación de estudio

4.3.2 Análisis de los objetos de acceso a datos (DAO y DTO)

4.3.3 Análisis del façade

4.3.4 Diagrama de secuencias de UML

4.4 Portabilidad entre diferentes bases de datos

4.4.1 DAOs abstractos e implementaciones específicas para las diferentes bases de datos

4.4.2 Implementación de un factory method

4.4.3 Combinar el factory method con el singleton pattern

4.4.4 Mejorar el diseño de los DAOs abstractos

4.5 Diseño por contratos

4.5.1 Coordinación de trabajo en equipo

4.6 Resumen 

5 Interfaz gráfica (GUI)

5.1 Introducción

5.2 Componentes y contenedores

5.2.1 Distribución de componentes (layouts)

5.2.2 AWT y Swing

5.3 Comenzando a desarrollar GUI

5.3.1 Distribuciones relativas

5.3.2 Combinación de layouts

5.4 Capturar eventos

5.4.1 Tipos de eventos

5.4.2 Eventos de acción

5.4.3 Eventos de teclado 

5.5 Swing

5.5.1 Cambiar el LookandFeel

5.6 Model View Controller (MVC)

5.6.1 Ejemplo de uso: ListModel

5.6.2 Ejemplo de uso: TableModel

5.7 Resumen 

6 Multithreading (Hilos)

6.1 Introducción

6.2 Implementar threads en Java

6.2.1 La interface Runnable 

6.2.2 Esperar a que finalice un thread

6.2.3 Threads e interfaz gráfica 

6.2.4 Sistemas operativos multitarea

6.2.5 Ciclo de vida de un thread 

6.2.6 Prioridad de ejecución

6.3 Sincronización de threads 

6.3.1 Monitores y sección crítica

6.3.2 Ejemplo del Productor/Consumidor

6.4 Resumen 

7 Networking

7.1 Introducción

7.2 Conceptos básicos de networking

7.2.1 TCP - “Transmission Control Protocol”

7.2.2 UDP - “User Datagram Protocol”

7.2.3 Puertos 

7.2.4 Dirección IP 

7.2.5 Aplicaciones cliente/servidor

7.3 TCP en Java

7.3.1 El socket

7.3.2 Un simple cliente/servidor en Java

7.3.3 Serialización de objetos

7.3.4 Implementación de un servidor multithread

7.3.5 Enviar y recibir bytes 

7.3.6 Enviar y recibir valores de tipos de datos primitivos 

7.4 UDP en Java 

7.5 Remote Method Invocation (RMI) 

7.5.1 Componentes de una aplicación RMI

7.5.2 Ejemplo de una aplicación que utiliza RMI

7.5.3 Compilar y ejecutar la aplicación RMI 

7.5.4 RMI y serialización de objetos

7.6 Resumen

8 Diseño de aplicaciones Java (Parte II) 

8.1 Introducción

8.2 Repaso de la aplicación de estudio 

8.2.1 El modelo de datos

8.2.2 La funcionalidad 

8.2.3 El backend y el frontend

8.2.4 Los métodos del façade

8.3 Capas lógicas vs. capas físicas

8.3.1 Desventajas de un modelo basado en dos capas físicas

8.3.2 Modelo de tres capas físicas

8.4 Desarrollo de la aplicación en tres capas físicas 

8.4.1 Desarrollo del servidor

8.4.2 Desarrollo de un cliente de prueba 

8.4.3 El service locator (o ubicador de servicios)

8.4.4 Integración con la capa de presentación

8.5 Implementación del servidor con tecnología RMI

8.5.1 El servidor RMI 

8.5.2 El service locator y los objetos distribuidos 

8.5.3 Desarrollo de un cliente de prueba

8.5.4 Integración con la capa de presentación

8.5.5 El Business Delegate

8.6 Concurrencia y acceso a la base de datos

8.6.1 El pool de conexiones 

8.6.2 Implementación de un pool de conexiones 

8.6.3 Integración con los servidores TCP y RMI 

8.7 Resumen 

9 Estructuras de datos dinámicas

9.1 Introducción

9.2 Estructuras dinámicas

9.2.1 El nodo

9.2.2 Lista enlazada (linked list)

9.2.3 Pila (stack) 

9.2.4 Cola (queue) 

9.2.5 Implementación de una cola sobre una lista circular

9.2.6 Clases LinkedList, Stack y Queue

9.2.7 Tablas de dispersión (Hashtable) 

9.2.8 Estructuras de datos combinadas 

9.2.9 Árboles

9.2.10 Árbol Binario de Búsqueda (ABB)

9.2.11 La clase TreeSet

9.3 Resumen 

10 Parametrización mediante archivos XML

10.1 Introducción

10.2 XML - “Extensible Markup Language” 

10.3 Estructurar y definir parámetros en un archivo XML

10.3.1 Definición de la estructura de parámetros 

10.3.2 Leer y parsear el contenido de un archivo XML

10.3.3 Acceder a la información contenida en el archivo XML

10.4 Resumen

11 Introspección de clases y objetos 

11.1 Introducción

11.2 Comenzando a introspectar

11.2.1 Identificar métodos y constructores

11.2.2 Acceso al prototipo de un método 

11.3 Annotations

11.4 Resumen 

12 Generalizaciones y desarrollo de frameworks

12.1 Introducción

12.2 ¿Qué es un framework?

12.2.1 ¿Frameworks propios o frameworks de terceros? 

12.2.2 Reinventar la rueda

12.3 Un framework para acceder a archivos XML

12.3.1 Diseño de la API del framework

12.3.2 Análisis del elemento a generalizar 

12.3.3 Parsear el archivo XML y cargar la estructura de datos 

12.4 Un framework para acceder a bases de datos

12.4.1 Identificación de la tarea repetitiva 

12.4.2 Diseño de la API del framework 

12.4.3 Java Beans

12.4.4 Transacciones

12.4.5 Mappeo de tablas usando annotations 

12.5 El bean factory

12.6 Integración

12.6.1 Los objetos de acceso a datos

12.6.2 El façade

12.6.3 El archivo de configuración

12.6.4 El cliente 

12.7 Resumen 

13 Entrada/Salida

13.1 Introducción

13.2 I/O streams (flujos de entrada y salida)

13.2.1 Entrada y salida estándar

13.2.2 Redireccionar la entrada y salidas estándar

13.2.3 Cerrar correctamente los streams

13.2.4 Streams de bytes (InputStream y OutputStream)

13.2.5 Streams de caracteres (readers y writers)

13.2.6 Streams bufferizados

13.2.7 Streams de datos (DataInputStream y DataOutputStream)

13.2.8 Streams de objetos (ObjectInputStream y ObjectOutputStream)

13.3 Resumen 

14 Consideraciones finales

14.1 Introducción

14.2 Consideraciones sobre multithreading y concurrencia

14.2.1 Clases con o sin métodos sincronizados 

14.2.2 El singleton pattern en contextos multithreaded

14.3 Consideraciones sobre clases “legacy”

14.3.1 La clase StringTokenizer y el método split

14.4 Resumen 

15 Object Relational Mapping (ORM) y persistencia de datos

15.1 Introducción

15.2 Hibernate framework

15.2.1 El modelo de datos relacional 

15.2.2 ORM (Object Relational Mapping

15.2.3 Configuración de Hibernate 

15.2.4 Mappeo de tablas 

15.2.5 La sesión de Hibernat

15.3 Asociaciones y relaciones 

15.3.1 Asociación many-to-one

15.3.2 Asociación one-to-many 

15.3.3 P6Spy 

15.3.4 Lazy loading vs. eager loading

15.4 Recuperar colecciones de objetos

15.4.1 Criterios de búsqueda vs. HQL

15.4.2 Named queries 

15.4.3 Ejecutar SQL nativo

15.4.4 Queries parametrizados

15.5 Insertar, modificar y eliminar filas

15.5.1 Transacciones

15.5.2 Insertar una fila 

15.5.3 Estrategia de generación de claves primarias

15.5.4 Modificar una fila

15.5.5 Múltiples updates y deletes

15.6 Casos avanzados

15.6.1 Análisis y presentación del modelo de datos

15.6.2 Asociaciones many-to-many

15.6.3 Claves primarias compuestas (Composite Id) 

15.7 Diseño de aplicaciones

15.7.1 Factorías de objetos

15.8 Resumen 

16 Inversión del control por inyección de dependencias 

16.1 Introducción

16.2 Spring framework

16.2.1 Desacoplar el procesamiento

16.2.2 Conclusión y repaso

16.3 Spring y JDBC

16.4 Integración Spring + Hibernate

16.5 Resumen 

17 Actualización a Java 8

17.1 Introducción

17.2 Novedades en Java 7 

17.2.1 Literales binarios

17.2.2 Literales numéricos separados por “_” (guion bajo)

17.2.3 Uso de cadenas en la sentencia switch

17.2.4 Inferencia de tipos genéricos 

17.2.5 Sentencia try con recurso incluido 

17.2.6 Atrapar múltiples excepciones dentro de un mismo bloque catch

17.2.7 Nuevos métodos en la clase File

17.3 Novedades en Java 8 

Bibliografía

No existen productos recomendados en este momento.
No existen productos recomendados en este momento.