Video description
本课程教授如何通过模式、面向对象设计技术和Java编程语言的特性来开发高质量并发软件应用程序和可重用框架。
多核的分布式核处理器、廉价的大容量存储、无处不在的连接性和通用软件平台的融合趋势,正推动着软件工程师和程序员的需求变化,他们需要知道如何为连接到云计算平台的客户端设备开发并发软件。尽管目前在处理器、存储和网络方面有许多改进,但是从客观上说,想要根据预算额度按时开发和交付高质量的软件仍然是有难度的,特别是开发高质量的并发软件应用程序和可重用服务。
本课程通过示例描述了如何通过使用面向对象的设计技术、Java编程语言特性、类库、应用模式和框架等技术要点,来有效降低并发软件开发的复杂性。课程中使用了许多Java应用程序示例来展示并发软件中的面向模式设计和编程技术。
● 了解为Java客户机或服务器开发并发软件所涉及内在的、偶然的复杂性。
● 理解如何利用面向模式的软件体系结构技术有效降低开发复杂性。
● 利用Java面向对象编程语言特性、类库,应用面向模式软件体系结构技术开发可重用的并发软件。
● 掌握如何在Java中成功地将面向模式的软件体系结构技术应用到并发软件中。
Table of Contents
课程开篇介绍
课程开篇介绍
第1课 Java并发性概述
学习目标
1.1理解Java体系结构用于并发软件的动因和关键层
1.2了解开发并发软件的主要好处
1.3认识并发软件的内在复杂性
1.4认识并发软件的偶然复杂性
总结
第2课 Java线程机制和框架
学习目标
2.1认识可用于编写并发软件的Java线程机制
2.2了解Java线程生命周期以及如何有效地管理
2.3理解Java Executor框架如何将线程管理和创建与应用的其余部分解耦——第1部分
2.4理解Java Executor框架如何将线程管理和创建与应用的其余部分解耦——第2部分
2.5理解Java Executor框架如何将线程管理和创建与应用的其余部分解耦——第3部分
2.6了解Java8函数式编程特性和并发框架应用于多线程程序-第1部分
2.7了解Java8函数式编程特性和并发框架应用于多线程程序-第2部分
2.8了解Java8函数式编程特性和并发框架应用于多线程程序-第3部分
2.9了解Java8函数式编程特性和并发框架应用于多线程程序-第4部分
总结
第3课 Java同步机制
学习目标
3.1了解并发程序中关键的Java同步类
3.2使用Java原子变量和操作为单个变量提供无锁、线程安全的编程
3.3通过Java内置的监视器对象确保线程之间的互斥和协作
3.4使用Java ReentrantLock为并发程序提供互斥机制
3.5使用Java ReentrantReadWriteLock和StampLock为并发程序提供读者-写者锁机制——第1部分
3.5使用Java ReentrantReadWriteLock和StampLock为并发程序提供读者-写者锁机制——第2部分
3.6使用Java Semaphore控制多个线程对有限数量共享资源的访问
3.7使用Java ConditionObject支持并发程序中每个用户定义对象有多个等待集
3.8使用Java CountDownLock、CyclicBarrier和Phaser屏障同步器支持一个或多个线程等待其他线程中执行的操作完成
总结
第4课 Java并发编程案例研究
学习目标
4.1理解一个并发ping/pong应用的设计与实现
4.2理解一个并发资源管理应用的设计与实现
4.3理解一个并发内容下载应用的设计与实现
4.4了解使用Java8并发框架开发的并发内容下载应用程序的设计和实现
第5课 Java.util.concurrent类的源代码分析
学习目标
5.1分析Java线程机制的实现
5.2分析Java同步机制的实现——第1部分
5.2分析Java同步机制的实现——第2部分
总结
总结