[TJJ-015] Novedades Java 8

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.


Image result for java8


Contenido

  1. Resumen general de las novedades
    1. Interfaces funcionales
    2. Lambdas
    3. Métodos default en interfaces
    4. Streams
    5. Nuevo API de fechas
    6. Cambio de la zona de memoria PermGen por Metaspace
    7. Motor javascript
    8. Perfiles compactos
    9. Mejoras en el API de Reflection
    10. Soporte para codificación en base64
    11. Convergencia entre JRockit y HotSpot
    12. Mejoras en el API de JDBC
  2. Expresiones lambda
    1. Parametrización del comportamiento
    2. Código más flexible
    3. Clases anónimas
    4. ¿Qué es un lambda?
    5. Sintaxis
    6. Interfaces funcionales: ¿dónde usar expresiones lambda?
    7.  java.util.function
    8. Referencias a métodos
    9. Funciones en Java 8
    10. Verificación de tipos
    11. Inferencia de tipos
    12. Uso de variables locales
  3. Streams
    1. Procesamiento de colecciones
    2. ¿Qué es un flujo?
    3. Operaciones de secuencias y patrones
    4. Filtros
    5. Mapeos
    6. Búsquedas y Matching
    7. Reducción
    8. minBy / maxBy
    9. Optimización de flujos
    10. Patrón reducir
    11. Eager vs Lazy
    12. Cortocircuitos y Loop Fusión
  4. Collectors
    1. Agrupamiento y particiones
    2. Operaciones de recolección
    3. Recolección de listas y conjuntos
    4. Recolección flexible
    5. Recolectores aritméticas
    6.  Máximo / mínimo
    7. Media / Total / Suma
    8. Resumen estadístico
    9. Búsquedas avanzadas
    10. Más allá de la agrupación y la partición
    11. Recolectores descendentes
  5. Métodos default y métodos estáticos en las interfaces
    1. La motivación para los métodos predeterminados
    2. Los métodos estáticos en la interfaz
    3. Métodos predeterminados útiles
    4. Pautas para métodos predeterminados
  6. Fecha y hora en Java 8
    1. El problema con las librerias de fecha y hora actuales
    2. Las clases principales: LocalDate / LocalTime
    3. Repaso del API JSR-310
  7. Tipos de datos opcionales
    1. El problema con null
    2. Como opcional mejora la nulidad
    3. Cómo utilizar Opcional en el código
    4. Creación de objetos opcionales
    5. Valores por defecto y acciones
    6. Transformando Opcionales con mapas
    7. Rechazando valores con filtros
  8. La concurrencia mejorados con Lambdas
    1. Introducción a la concurrencia
    2. Future y ExecutorService
    3. CompletableFutures
  9. Modularidad de Java 9
    1. Motivación
    2. Encapsulación
    3. Dependencias
    4. Evolución de JDK
    5.  Desarrollo modular
    6. ¿Qué es un módulo?
    7. Declaración
    8. Empaquetado
    9. 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


Image result for java 8 in action