Está en la página 1de 5

Tabla de contenido

Derechos de autor................................................. .................................................. ........................................... 3

Dedicación................................................. .................................................. .......................................... 5 Parte 1. Fundamentos

............................................. .................................................. .................... 11

Capítulo 1. Java 8: ¿por qué debería importarte ....................................... ..................................... 12

1.1. ¿Por qué es Java sigue cambiando? ............................................ .................................................. ... 14

1.2. Funciones en Java ............................................... .................................................. ................ 21

1.3. Corrientes ................................................. .................................................. .............................. 28

1.4. métodos predeterminados ................................................ .................................................. ................ 32

1.5. Otras ideas buenas de la programación funcional ............................................ ................ 34

1.6. Resumen................................................. .................................................. ............................ 36

Capítulo 2. Pasando código de parametrización con el comportamiento .......................................... 37

2.1. El hacer frente a los requerimientos cambiantes .............................................. ................................... 38

2.2. parametrización comportamiento ................................................ ................................................. 41

2.3. La lucha contra la verbosidad ................................................ .................................................. ............. 47

2.4. Ejemplos del mundo real .............................................. .................................................. .......... 52

2.5. Resumen................................................. .................................................. ........................... 54

Capítulo 3. Las expresiones lambda ............................................. ................................................ 56

3.1. Lambdas en una cáscara de nuez .............................................. .................................................. ......... 57

3.2. ¿Dónde y cómo utilizar lambdas ............................................ ............................................ 60

3.3. Poniendo en práctica lambdas: el patrón de ejecutar alrededor ......................................... 66

3.4. El uso de interfaces funcionales ............................................... ................................................. 70

3.5. La verificación de tipos, la inferencia de tipos, y las restricciones .......................................... .................... 76

3.6. referencias de métodos ................................................ .................................................. ............ 82

3.7. Poner lambdas y referencias de métodos en práctica! .......................................... ....... 89

3.8. Los métodos útiles para componer expresiones lambda ............................................ ............... 91

3.9. frommathematics ideas similares ............................................... ........................................ 95

3.10. Resumen................................................. .................................................. ......................... 98

2. Parte de procesamiento de datos de estilo funcional .......................................... .................................. 99

www.it-ebooks.info
Capítulo 4. Introducción a las corrientes ............................................. ............................................. 100

4.1. ¿Cuáles son las corrientes? .............................................. .................................................. ............. 100

4.2. Primeros pasos con corrientes .............................................. ............................................. 105

4.3. Arroyos vs colecciones .............................................. .................................................. ..... 108

4.4. las operaciones de rutas ................................................ .................................................. ............ 113

4.5. Resumen................................................. .................................................. .......................... 117

Capítulo 5. Trabajo con las corrientes ............................................ ............................................ 118

5.1. Filtrado y rebanar ............................................... .................................................. .......... 119

5.2. Cartografía................................................. .................................................. ........................... 123

5.3. Encontrar y coincidente ............................................... .................................................. ...... 129

5.4. La reducción ................................................. .................................................. .......................... 132

5.5. Poniendo todo en práctica ............................................. .................................................. ..140

5.6. flujos numéricos ................................................ .................................................. ............. 145

5.7. Edificio arroyos ................................................ .................................................. .............. 152

5.8. Resumen................................................. .................................................. ......................... 158

Capítulo 6. La recopilación de datos con las corrientes ........................................... ................................ 159

6.1. Colectores en una cáscara de nuez .............................................. .................................................. ..... 160

6.2. La reducción y resumir ............................................... .............................................. 163

6.3. Agrupamiento................................................. .................................................. .......................... 172

6.4. Fraccionamiento................................................. .................................................. ..................... 180

6.5. La interfaz Collector ............................................... .................................................. .... 186

6.6. El desarrollo de su propio colector para un mejor rendimiento ........................................... .... 194

6.7. Resumen................................................. .................................................. ......................... 202

Capítulo 7. procesamiento de datos en paralelo y el rendimiento .......................................... ..... 203

7.1. corrientes paralelas ................................................ .................................................. ............... 204

7.2. El tenedor / unirse marco ............................................. .................................................. ... 214

7.3. Spliterator ................................................. .................................................. ....................... 222

7.4. Resumen................................................. .................................................. ......................... 232

Parte 3. A partir del 8 de programación Java ........................................... ................................... 233 Capítulo 8.

Refactoring, probar y depurar ..... .................................................. .... 234

8.1. Refactorización para mejorar la legibilidad y flexibilidad ............................................ ........ 234

www.it-ebooks.info
8.2. Refactorización patrones de diseño orientado a objetos con lambdas ....................................... 242

8.3. lambdas de prueba ................................................ .................................................. .............. 253

8.4. Depuración ................................................. .................................................. ....................... 256

8.5. Resumen................................................. .................................................. ......................... 261

Capítulo 9. métodos predeterminados ............................................. .................................................. ... 262

9.1. La evolución de las API ................................................ .................................................. ................... 265

9.2. métodos predeterminados en una cáscara de nuez ............................................. ............................................ 269

9.3. patrones de uso de métodos predeterminados ............................................. .................................. 272

9.4. reglas de resolución ................................................ .................................................. ............... 277

9.5. Resumen................................................. .................................................. ......................... 284

Capítulo 10. Utilización opcional como una mejor alternativa a la nula ....................................... 285

10.1. ¿Cómo se puede modelar la ausencia de un valor? ........................................ ......................... 286

10.2. La introducción de la clase opcional .............................................. ....................................... 290

10.3. Las pautas de la adopción opcional .............................................. ....................................... 292

10.4. ejemplos prácticos de la utilización opcional ............................................. .............................. 303

10.5. Resumen................................................. .................................................. ....................... 307

Capítulo 11. CompletableFuture: programación asincrónica componibles .... 309

11.1. Futuros................................................. .................................................. ............................. 311

11.2. La implementación de una API asíncrona .............................................. ............................... 314

11.3. Hacer que el código no bloqueante ............................................ ........................................... 320

11.4. Pipelining tareas asíncronas ............................................... ....................................... 328

11.5. Como reacción a una conclusión CompletableFuture ............................................. ................ 338

11.6. Resumen................................................. .................................................. ........................ 342

Capítulo 12. Nueva Fecha y Hora API .......................................... ........................................ 343

12.1. LocalDate, LocalTime, instantáneo, duración y período de ........................................ ....... 344

12.2. Manipular, analizar y dar formato a fechas ........................................... .................. 350

12.3. Trabajar con diferentes husos horarios y calendarios ........................................... .......... 358

12.4. Resumen................................................. .................................................. ........................ 361

Parte 4. Más allá de Java 8 ............................................ .................................................. ................ 363 Capítulo 13. Pensando

funcionalmente ............................ .................................................. ........ 364

13.1. Implementación y mantenimiento de sistemas de .............................................. ........................ 364

www.it-ebooks.info
13.2. ¿Cuál es la programación funcional? .............................................. ................................... 368

13.3. Recursividad vs iteración .............................................. .................................................. .... 375

13.4. Resumen................................................. .................................................. ....................... 379

Capítulo 14. técnicas de programación funcional ............................................ ........... 381

14.1. Funciones de todo el mundo ................................................ .................................................. ... 381

14.2. estructuras de datos persistentes ............................................... ............................................... 385

14.3. La evaluación perezosa con las corrientes .............................................. .......................................... 392

14.4. La coincidencia de patrones................................................ .................................................. ........... 401

14.5. Miscelánea................................................. .................................................. ..................... 407

14.6. Resumen................................................. .................................................. ....................... 410

Capítulo 15. Mezcla programación orientada a objetos y FP: la comparación de Java y Scala 8 ........................... 412

15.1. Introducción a la Scala ............................................... .................................................. ...... 413

15.2. Funciones ................................................. .................................................. ....................... 422

15.3. Las clases y los rasgos ............................................... .................................................. ............ 427

15.4. Resumen................................................. .................................................. ....................... 429

Capítulo 16. Conclusiones y donde al lado para Java ......................................... .............. 431

16.1. Revisión de Java 8 características ............................................. .................................................. .431

16.2. ¿Qué hay por delante para Java? ............................................. .................................................. .... 435

16.3. La última palabra ............................................... .................................................. ................. 446

actualizaciones de idioma Apéndice A. Varios ............................................ ................... 447

A.1. Anotaciones ................................................. .................................................. ..................... 447

A.2. Generalizada de tipo objetivo inferencia ............................................. ..................................... 450

actualizaciones de la biblioteca Apéndice B. Varios ............................................ ....................... 452

B.1. Colecciones ................................................. .................................................. ....................... 452

B.2. Concurrencia ................................................. .................................................. ................... 455

B.3. Las matrices ................................................. .................................................. .............................. 458

B.4. Número y Matemáticas ............................................... .................................................. ........... 459

B.5. Archivos ................................................. .................................................. ................................. 460

B.6. Reflexión................................................. .................................................. ....................... 460

B.7. Cuerda................................................. .................................................. ............................... 460

Apéndice C. La realización de varias operaciones en paralelo en una corriente ................ 462

www.it-ebooks.info
C.1. Bifurcar una corriente ............................................... .................................................. .............. 462

C.2. Consideraciones sobre el rendimiento ................................................ ........................................... 472

Apéndice D. Lambdas y JVM bytecode ........................................... ............................ 473

D.1. clases anónimas ................................................ .................................................. ......... 473

D.2. generación de código de bytes ................................................ .................................................. ....... 473

D.3. InvokeDynamic al rescate .............................................. ........................................... 475

D.4. las estrategias de generación de código .............................................. ............................................... 477

Índice................................................. .................................................. ............................................ 479

10

www.it-ebooks.info

También podría gustarte