通过并行性提高您的编程专业知识。了解并行、并行和分布式编程的基础知识。
Suggested by: Coursera (What is Coursera?)
No prior knowledge required
No unnecessary risks
要观看有关此专业的摘要视频, 请单击此处。
有关两位早期职业软件工程师关于并行计算与他们工作的相关性的采访, 请单击此处。
本课程向行业专业人士和学生讲授 Java 8 上下文中并行编程的基本概念。并行编程允许开发人员利用多核计算机,通过同时使用多个处理器来加速应用程序性能。在课程结束时,您将了解如何使用 Java 中流行的并行编程框架(例如 ForkJoin、Stream 和 Phaser)为各种多核平台(包括服务器、桌面和移动设备)编写并行程序,您还将学习它们的理论基础知识,包括计算图、理想并行性、并行速度增益、阿马德尔定律、信息竞争和确定性。
掌握这些概念将使您能够立即将它们应用于多核 Java 程序的上下文中,并且还将为掌握您将来获得的其他并行编程系统(例如 C++11、OpenMP、.Net Task Parallel Library)奠定基础。
本课程向行业专业人士和学生讲授 Java 8 上下文中同步编程的基本概念。同步编程使开发人员能够高效、正确地管理并行程序中共享资源的使用。在课程结束时,您将了解如何在 Java 中使用基本的同步结构,例如线程、锁、关键部分、原子变量、隔离、玩家模型、乐观同步和同步集合,以及它们的理论基础(例如进度保证、死锁、活锁、饥饿和线性)。
掌握这些概念将使您能够立即将它们应用于同步 Java 程序的上下文中,并将帮助您掌握将来将获得的其他同步编程系统(例如 POSIX 线程、.NET 线程)。
本课程向行业专业人士和学生讲授 Java 8 上下文中分布式编程的基本概念。去中心化编程允许开发人员使用数据中心中的多个节点,以提高处理速率并减少选定应用程序的延迟。在课程结束时,您将了解如何为 Java 程序使用流行的分布式编程框架,包括 Hadoop、Spark、套接字、远程方法调用 (RMI)、多播套接字、Kafka、消息传递接口 (MPI),以及将工作分配和多进程编程相结合的各种方法。
掌握这些概念将使您能够立即将它们应用于分布式 Java 程序的上下文中,并且还将为掌握您将来会遇到的其他分布式编程系统(例如缩放或 C++)奠定基础。