[TJJ-015] Novedades Java 8
- Pronoide Wiki Web
Owned by Pronoide Wiki Web
Duración: 12 horas
Perfil: Avanzado
Dirigido a
Esta acción formativa está destinada a Programadores y Analistas Java que desean aprender a desarrollar aplicaciones utilizando las características de la versión 8 del lenguaje Java.
Requisitos previos
Los alumnos necesitarán tener conocimientos de Java/Java EE.
Objetivos
El alumno aprenderá a desarrollar aplicaciones que aprovechen los nuevos mecanismos de programación disponibles en Java 8.
Contenido
- Resumen general de las novedades
- Interfaces funcionales
- Lambdas
- Métodos default en interfaces
- Streams
- Nuevo API de fechas
- Cambio de la zona de memoria PermGen por Metaspace
- Motor javascript
- Perfiles compactos
- Mejoras en el API de Reflection
- Soporte para codificación en base64
- Convergencia entre JRockit y HotSpot
- Mejoras en el API de JDBC
- Expresiones lambda
- Parametrización del comportamiento
- Código más flexible
- Clases anónimas
- ¿Qué es un lambda?
- Sintaxis
- Interfaces funcionales: ¿dónde usar expresiones lambda?
- java.util.function
- Referencias a métodos
- Funciones en Java 8
- Verificación de tipos
- Inferencia de tipos
- Uso de variables locales
- Streams
- Procesamiento de colecciones
- ¿Qué es un flujo?
- Operaciones de secuencias y patrones
- Filtros
- Mapeos
- Búsquedas y Matching
- Reducción
- minBy / maxBy
- Optimización de flujos
- Patrón reducir
- Eager vs Lazy
- Cortocircuitos y Loop Fusión
- Collectors
- Agrupamiento y particiones
- Operaciones de recolección
- Recolección de listas y conjuntos
- Recolección flexible
- Recolectores aritméticas
- Máximo / mínimo
- Media / Total / Suma
- Resumen estadístico
- Búsquedas avanzadas
- Más allá de la agrupación y la partición
- Recolectores descendentes
- Métodos default y métodos estáticos en las interfaces
- La motivación para los métodos predeterminados
- Los métodos estáticos en la interfaz
- Métodos predeterminados útiles
- Pautas para métodos predeterminados
- Fecha y hora en Java 8
- El problema con las librerias de fecha y hora actuales
- Las clases principales: LocalDate / LocalTime
- Repaso del API JSR-310
- Tipos de datos opcionales
- El problema con null
- Como opcional mejora la nulidad
- Cómo utilizar Opcional en el código
- Creación de objetos opcionales
- Valores por defecto y acciones
- Transformando Opcionales con mapas
- Rechazando valores con filtros
- La concurrencia mejorados con Lambdas
- Introducción a la concurrencia
- Future y ExecutorService
- CompletableFutures
- Modularidad de Java 9
- Motivación
- Encapsulación
- Dependencias
- Evolución de JDK
- Desarrollo modular
- ¿Qué es un módulo?
- Declaración
- Empaquetado
- Uso de módulos
Documentación Recomendada
Java 8 in Action. Lambdas, streams, and functional-style programming
Raoul-Gabriel Urma, Mario Fusco y Alan Mycroft
Agosto 2014 | 424 páginas
ISBN: 9781617291999
https://www.manning.com/books/java-8-in-action