Mastering Concurrency Programming with Java 9 Second Edition

Javier Fernandez Gonzalez

買這商品的人也買了...

商品描述

Key Features

  • Implement concurrent applications using the Java 9 Concurrency API and its new components
  • Improve the performance of your applications and process more data at the same time, taking advantage of all of your resources
  • Construct real-world examples related to machine learning, data mining, natural language processing, and more

Book Description

Concurrency programming allows several large tasks to be divided into smaller sub-tasks, which are further processed as individual tasks that run in parallel. Java 9 includes a comprehensive API with lots of ready-to-use components to implement powerful concurrency applications in an easy way, but with a high flexibility to adapt these components to your needs.

The book starts with a full description of design principles of concurrent applications and how to parallelize a sequential algorithm. You will then be introduced to Threads and Runnables, which are an integral part of Java 9's concurrency API. You will see how to use all the components of the Java Concurrency API from basics to the most advanced techniques and will implement them in real-world powerful concurrency applications.

We use real-world examples of complex algorithms related to machine learning, data mining, natural language processing, and more. You will also get acquainted with the data structures and synchronization utilities to avoid data-race conditions and other critical problems. We also explain reactive streams and how they help in asynchronous stream processing.

Finally, the book ends with a detailed description of the tools and techniques you can use to test a Java concurrent application, along with a brief insight into other concurrency mechanisms in JVM.

What you will learn

  • Master the principles that every concurrent application must follow
  • See how to parallelize a sequential algorithm to obtain better performance without data inconsistencies and deadlocks
  • Get the most from the Java Concurrency API components
  • Separate the thread management from the rest of the application with the Executor component
  • Execute phased-based tasks in an efficient way with the Phaser components
  • Solve problems using a parallelized version of the divide and conquer paradigm with the Fork / Join framework
  • Find out how to use parallel Streams and Reactive Streams (a new feature of Java 9)
  • Implement the "map and reduce" and "map and collect" programming models
  • Control the concurrent data structures and synchronization mechanisms provided by the Java Concurrency API
  • Implement efficient solutions for some actual problems such as data mining, machine learning, and more

商品描述(中文翻譯)

主要特點



  • 使用Java 9並行API及其新組件實現並行應用程式

  • 提升應用程式的效能,同時處理更多數據,充分利用所有資源

  • 構建與機器學習、數據挖掘、自然語言處理等相關的實際範例

書籍描述


並行程式設計將幾個大型任務分為較小的子任務,這些子任務作為獨立任務並行運行。Java 9包含了一個全面的API,其中包含許多可立即使用的組件,以便以簡單的方式實現強大的並行應用程式,同時具有高度靈活性,可根據需求調整這些組件。


本書首先詳細介紹並行應用程式的設計原則以及如何將順序算法並行化。然後介紹了Java 9並行API的核心組件:線程和Runnable。您將學習如何從基礎到最高級的技術使用Java並行API的所有組件,並將其應用於實際強大的並行應用程式中。


我們使用與機器學習、數據挖掘、自然語言處理等相關的複雜算法的實際範例。您還將熟悉數據結構和同步工具,以避免數據競爭條件和其他關鍵問題。我們還解釋了反應式流以及它們如何幫助異步流處理。


最後,本書詳細介紹了測試Java並行應用程式的工具和技術,並簡要介紹了JVM中的其他並行機制。

你將學到什麼



  • 掌握每個並行應用程式必須遵循的原則

  • 了解如何將順序算法並行化,以獲得更好的性能,同時避免數據不一致和死鎖

  • 充分利用Java並行API的組件

  • 將線程管理與應用程式的其他部分分離,使用Executor組件

  • 使用Phaser組件以高效的方式執行階段性任務

  • 使用Fork / Join框架的並行化分治範例解決問題

  • 了解如何使用並行流和反應式流(Java 9的新功能)

  • 實現“映射和減少”和“映射和收集”編程模型

  • 控制Java並行API提供的並行數據結構和同步機制

  • 為數據挖掘、機器學習等實際問題實現高效解決方案