Java 17 Programación Avanzada

Java está presente a nuestro alrededor, se utiliza en servidores, en aplicaciones de escritorio, en dispositivos multimedia, en teléfonos móviles e incluso en juegos como el popular Minecraft. De ahí que haya estado presente en la cotidianidad de tus padres, está en la nuestra y estará presente en la de tus hijos.

Este libro va dirigido a todas las personas que con conocimientos de programación desean profundizar y afianzar sus conocimientos. Con un lenguaje claro y didáctico, se exponen las últimas características añadidas al lenguaje, se estudian estructuras
de datos y métodos algorítmicos avanzados, se desarrollan los conceptos de la programación concurrente con detalle, sin que falten las aplicaciones prácticas que ilustran las ideas explicadas.

Esta obra profundiza en el lenguaje Java y en los métodos profesionales de desarrollo de aplicaciones para que el lector sea capaz de resolver problemas reales aplicando la tecnología Java. Para los lectores que necesiten iniciarse en este lenguaje, el autor tiene publicada otra obra de iniciación con el título Java 17 Fundamentos prácticos de programación, que comienza de cero el aprendizaje del lenguaje Java.

El código fuente que aparece en el libro está disponible para descargar en la web del libro con el objetivo de facilitar la asimilación de los conocimientos tratados. También están disponibles varios proyectos Maven para que el lector realice prácticas en proyectos reales.

Escritor
Colección
Profesional
Materia
Java
Idioma
  • Castellano
EAN
9788418971372
ISBN
978-84-18971-37-2
Depósito legal
M-32438-2021
Páginas
526
Ancho
17 cm
Alto
24 cm
Peso
857 g
Edición
1
Fecha publicación
22-11-2021
Edición en papel
32,90 €
665,32 MX$33,46 US$
También disponible en

Índice de contenido

CAPÍTULO 1. INTERFACES GRÁFICAS Y NUEVAS CARACTERÍSTICAS DE JAVA
1.1 JAVA, LENGUAJE DE PROGRAMACIÓN DE GUIONES
1.2 INFERENCIA DE TIPOS PARA VARIABLES LOCALES
1.3 REGISTROS. INMUTABILIDAD
1.4 CLASES SELLADAS
1.5 RECONOCIMIENTO DE PATRONES. TIPOS DE DATOS ALGEBRAICOS
1.6 INTERFACES GRÁFICAS DE USUARIO CON SWING
1.7 DESARROLLO DE UN JUEGO CON SWING: BUSCAMINAS
1.8 LECTURA DE UN FICHERO DE LA CARPETA DE RECURSOS
CAPÍTULO 2. ESTRUCTURAS DE DATOS AVANZADAS
2.1 TABLAS DE DISPERSIÓN
2.2 ÁRBOLES BINARIOS DE BÚSQUEDA
2.3 COLAS DE PRIORIDAD Y MONTÍCULOS DE FIBONACCI
2.4 PARTICIONES
2.5 GRAFOS
CAPÍTULO 3. MÉTODOS ALGORÍTMICOS
3.1 RECORRIDO EN PROFUNDIDAD DE UN GRAFO
3.2 RECORRIDO EN ANCHURA DE UN GRAFO
3.3 CÓMO DETERMINAR SI UN GRAFO NO DIRIGIDO ES CONEXO
3.4 ORDENACIÓN TOPOLÓGICA DE UN GRAFO DIRIGIDO ACÍCLICO
3.5 MÉTODO ALGORÍTMICO VORAZ: CÁLCULO DE ÁRBOLES DE RECUBRIMIENTO DE COSTE MÍNIMO. ALGORITMOS DE PRIM Y KRUSKAL
3.6 MÉTODO ALGORÍTMICO VORAZ: CÁLCULO DE CAMINOS DE COSTE MÍNIMO. ALGORITMO DE DIJKSTRA
3.7 MÉTODO ALGORÍTMICO DE PROGRAMACIÓN DINÁMICA:CÁLCULO DE CAMINOS DE COSTE MÍNIMO
ALGORITMO DE BELLMAN-FORD
3.8 MÉTODO ALGORÍTMICO DE PROGRAMACIÓN DINÁMICA:CÁLCULO DE CAMINOS DE COSTE MÍNIMO
ALGORITMO DE FLOYD-WARSHALL
3.9 MÉTODO ALGORÍTMICO DE VUELTA ATRÁS: COLOREADO DE UN GRAFO
3.10 MÉTODO ALGORÍTMICO DE VUELTA ATRÁS: CICLOS
HAMILTONIANOS DE UN GRAFO
3.11 DESARROLLO DE UN JUEGO CON ADVERSARIO Y EL ALGORITMO DE MINIMAX: TIC TAC TOE
3.12 DESARROLLO DE UN JUEGO CON ADVERSARIO, EL ALGORITMO DE MINIMAX Y LA PODA ALFA-BETA: CONECTA 4
CAPÍTULO 4. PROGRAMACIÓN CONCURRENTE
4.1 PROCESOS. HILOS
4.2 SINCRONIZACIÓN DE HILOS: FUNDAMENTOS TEÓRICOS
4.3 SINCRONIZACIÓN DE HILOS: CERROJOS
4.4 SINCRONIZACIÓN DE HILOS: CERROJOS IMPLÍCITOS
4.5 SINCRONIZACIÓN DE HILOS: SEMÁFOROS
4.6 SINCRONIZACIÓN DE HILOS: BARRERAS
4.7 SINCRONIZACIÓN DE HILOS: DIVISOR EN FASES
4.8 SINCRONIZACIÓN DE HILOS: CERROJO DE CUENTA ATRÁS
4.9 SINCRONIZACIÓN DE HILOS: INTERCAMBIADOR
4.10 VOLÁTIL Y ATÓMICO
4.11 ALGORITMOS NO-BLOQUEANTES
4.12 DETECCIÓN DE INTERBLOQUEOS
4.13 CENA DE LOS FILÓSOFOS
4.14 CÓMO GESTIONAR LA EXCEPCIÓN JAVA.LANG INTERRUPTEDEXCEPTION
4.15 DISEÑO DE ALGORITMOS CONCURRENTES SEGUROS
CAPÍTULO 5. PROGRAMACIÓN FUNCIONAL AVANZADA
5.1 ESTRUCTURAS DE DATOS FUNCIONALES: LISTAS INMUTABLES
5.2 ENTRADA/SALIDA EN UN ENTORNO FUNCIONAL
5.3 REFACTORIZACIÓN DE PROGRAMAS IMPERATIVOS: CARGA DE UN FICHERO DE PROPIEDADES
5.4 REFACTORIZACIÓN DE PROGRAMAS IMPERATIVOS :LECTURA DE UN FICHERO XML
5.5 ESTRUCTURAS DE DATOS FUNCIONALES: ÁRBOLES BINARIOS DE BÚSQUEDA
5.6 ESTRUCTURAS DE DATOS FUNCIONALES: MAPAS.
CAPÍTULO 6. PROGRAMACIÓN CONCURRENTE AVANZADA
6.1 PROGRAMACIÓN CONCURRENTE EN SWING
6.2 DESARROLLO DE UN GESTOR DE DESCARGAS
6.3 ESTRUCTURAS DE DATOS SINCRONIZADAS Y CONCURRENTES DEL API DE JAVA
6.4 EJECUTORES Y FLOTAS DE HILOS
6.5 PROGRAMACIÓN CONCURRENTE CON FORK/JOIN
6.6 DESARROLLO DE UN JUEGO: SUDOKU
6.7 PROGRAMACIÓN CONCURRENTE CON STREAMS
6.8 PROGRAMACIÓN CONCURRENTE ASÍNCRONA CON COMPLETABLEFUTURE
BIBLIOGRAFÍA
MATERIAL ADICIONAL

Libros relacionados