在过去单核CPU时代,单任务在一个时间点只能执行单一程序,随着多核CPU的发展,并行程序开发就显得尤为重要。

《实战Java高并发程序设计》主要介绍基于Java的并行程序设计基础、思路、方法和实战。首先,立足于并发程序基础,详细介绍Java中进行并行程序设计的基本方法。第二,进一步详细介绍JDK中对并行程序的强大支持,帮助读者快速、稳健地进行并行程序开发。第三,详细讨论有关“锁”的优化和提高并行程序性能级别的方法和思路。第四,介绍并行的基本设计模式及Java8对并行程序的支持和改进。第五,介绍高并发框架Akka的使用方法。最后,详细介绍并行程序的调试方法。

《实战Java高并发程序设计》内容丰富,实例典型,实用性强,适合有一定Java基础的技术开发人员阅读。


作者

葛一鸣,51CTO特约讲师,国家认证系统分析师,获得OracleOCP认证。长期从事Java软件开发工作,对Java程序设计、JVM有深入的研究,对设计模式、人工智能、神经网络、数据挖掘等技术有浓厚兴趣,著有《自己动手写神经网路》电子书和《实战Java虚拟机》一书。

郭超,就职于杭州市道路运输管理局信息中心,主要从事大型交通管理系统的分布式管理和并发模型设计,对Java的研究比较深入,专注于分布式应用和并发应用。


查看全部
目录

摘要

前言

第1章 走入并行世界

1.1 何去何从的并行计算

1.2 你必须知道的几个概念

1.3 并发级别

1.4 有关并行的两个重要定律

1.5 回到Java:JMM

1.6 参考文献

第2章 Java并行程序基础

2.1 有关线程你必须知道的事

2.2 初始线程:线程的基本操作

2.3 volatile与Java内存模型(JMM)

2.4 分门别类的管理:线程组

2.5 驻守后台:守护线程(Daemon)

2.6 先干重要的事:线程优先级

2.7 线程安全的概念与synchronized

2.8 程序中的幽灵:隐蔽的错误

2.9 参考文献

第3章 JDK并发包

3.1 多线程的团队协作:同步控制

3.2 线程复用:线程池

3.3 不要重复发明轮子:JDK的并发容器

3.4 参考资料

第4章 锁的优化及注意事项

4.1 有助于提高“锁”性能的几点建议

4.2 Java虚拟机对锁优化所做的努力

4.3 人手一支笔:Thread Local

4.4 无锁

4.5 有关死锁的问题

4.6 参考文献

第5章 并行模式与算法

5.1 探讨单例模式

5.2 不变模式

5.3 生产者-消费者模式

5.4 高性能的生产者-消费者:无锁的实现

5.5 Future模式

5.6 并行流水线

5.7 并行搜索

5.8 并行排序

5.9 并行算法:矩阵乘法

5.10 准备好了再通知我:网络NIO

5.11 读完了再通知我:AIO

5.12 参考文献

第6章 Java 8 与并发

6.1 Java 8 的函数式编程简介

6.2 函数式编程基础

6.3 一步一步走入函数式编程

6.4 并行流与并行排序

6.5 增强的Future:Completable Future

6.6 读写锁的改进:Stamped Lock

6.7 原子类的增强

6.8 参考文献

第7章 使用Akka构建高并发程序

7.1 新并发模型:Actor

7.2 Akka之Hello World

7.3 有关消息投递的一些说明

7.4 Actor的生命周期

7.5 监督策略

7.6 选择Actor

7.7 消息收件箱(Inbox)

7.8 消息路由

7.9 Actor的内置状态转换

7.10 询问模式:Actor中的Future

7.11 多个Actor同时修改数据:Agent

7.12 像数据库一样操作内存数据:软件事务内存

7.13 一个有趣的例子:并发粒子群的实现

7.14 参考文献

第8章 并行程序调试

8.1 准备实验样本

8.2 正式起航

8.3 挂起整个虚拟机

8.4 调试进入Array List内部

查看全部
书评
查看更多
请您登录后发表评论 登录 | 注册
我的评分:
提交
0/400