Rice University
使用 Java 进行分布式编程
Rice University

使用 Java 进行分布式编程

Vivek Sarkar

位教师:Vivek Sarkar

26,094 人已注册

包含在 Coursera Plus

深入了解一个主题并学习基础知识。
4.6

(502 条评论)

中级 等级
需要一些相关经验
灵活的计划
2 周 在 10 小时 一周
自行安排学习进度
94%
大多数学生喜欢此课程
深入了解一个主题并学习基础知识。
4.6

(502 条评论)

中级 等级
需要一些相关经验
灵活的计划
2 周 在 10 小时 一周
自行安排学习进度
94%
大多数学生喜欢此课程

要了解的详细信息

可分享的证书

添加到您的领英档案

作业

4 项作业

授课语言:英语(English)

了解顶级公司的员工如何掌握热门技能

Petrobras, TATA, Danone, Capgemini, P&G 和 L'Oreal 的徽标

积累特定领域的专业知识

本课程是 Java 中的并行、并发和分布式编程 专项课程 专项课程的一部分
在注册此课程时,您还会同时注册此专项课程。
  • 向行业专家学习新概念
  • 获得对主题或工具的基础理解
  • 通过实践项目培养工作相关技能
  • 获得可共享的职业证书

该课程共有7个模块

欢迎来到 Java 分布式编程!本课程设计为三部分系列,通过各种视频讲座、演示和编码项目涵盖一个主题或知识体系。

涵盖的内容

1个视频5篇阅读材料1个编程作业1个讨论话题

在本模块中,我们将学习 MapReduce 范式,以及如何用它来编写分布式程序,分析以键值对表示的数据。 MapReduce 程序是通过用户指定的 map 和 reduce 函数定义的,我们将学习如何在 Apache Hadoop 和 Spark 项目中编写此类程序。 MapReduce 范式可用于表达各种并行算法。 我们将学习的一个例子是计算文档挖掘中使用的术语频率-反向文档频率(TF-IDF)统计量;该算法使用固定(非迭代)数量的映射和还原操作。 我们要研究的另一个 MapReduce 例子是 PageRank 算法的并行化。 该算法是迭代 MapReduce 计算的一个示例,也是与本模块相关的小型项目的重点。

涵盖的内容

6个视频6篇阅读材料1个作业1个编程作业

在本模块中,我们将学习客户机-服务器编程,以及分布式 Java 应用程序如何使用套接字相互通信。 由于通过套接字进行的通信是在字节级别上进行的,因此我们将学习如何在发送方进程中将对象序列化为字节,并在接收方进程中将字节反序列化为对象。套接字和序列化为与本模块相关的文件服务器小型项目提供了必要的背景知识。 我们还将学习远程方法调用(RMI),它将顺序程序中的方法调用概念扩展到分布式编程环境中。 同样,我们还将学习多播套接字(multicast sockets),它对标准套接字接口进行了扩展,使发送方能够向一组指定的接收方发送相同的信息;这种功能对于新闻馈送、视频会议和多人游戏等许多应用都非常有用。 最后,我们将学习分布式发布-订阅应用,以及如何使用 Apache Kafka 框架实现这些应用。

涵盖的内容

6个视频6篇阅读材料1个作业1个编程作业

Vivek Sarkar 教授将与 Two Sigma 总经理 Jim Ward 和高级副总裁 Eric Allen 博士在得克萨斯州休斯顿市中心的办公室一起探讨分布式编程的重要性。

涵盖的内容

2个视频1篇阅读材料

在本模块中,我们将学习如何在单程序多数据(SPMD)模式下编写分布式应用程序,特别是如何使用消息传递接口(MPI)库。 MPI 进程可以使用点对点通信原语发送和接收消息,其结构和语义与使用套接字的消息传递不同。 我们还将学习 MPI 程序的消息排序和死锁属性。 非阻塞通信是点对点通信的一个有趣扩展,因为非阻塞通信可用于避免阻塞造成的延迟,还能避免与死锁相关的错误。 最后,我们将研究集体通信,它能以比组播和发布-订阅操作更强大的方式涉及多个进程。 在本模块中获得的 MPI 知识将在与本模块相关的小型项目中付诸实践,该项目是用 MPI 实现分布式矩阵乘法程序。

涵盖的内容

6个视频6篇阅读材料1个作业1个编程作业

在本模块中,我们将学习进程和线程作为并行、并发和分布式 Java 程序基本构件的作用。 有了这些背景知识,我们将学习如何在使用套接字编写的分布式应用程序中实现多线程服务器以提高响应速度,并在使用多线程和套接字实现并行文件服务器的小型项目中应用这些知识。 类似的方法也可用于结合 MPI 和多线程,以提高分布式 MPI 应用程序的性能。 分布式行动者是结合分布式和多线程的另一个例子。 行为体模型的一个显著特性是,相同的高级构造可用于在同一进程中运行的行为体之间以及不同进程中的行为体之间进行通信;这两种情况的区别取决于应用程序配置,而不是应用程序代码。 最后,我们将了解反应式编程模型,以及它在使用异步事件实现面向服务的分布式架构方面的适用性。

涵盖的内容

6个视频7篇阅读材料1个作业1个编程作业

接下来的两个视频将展示学习并行编程和 Java 并发编程的重要性。Vivek Sarkar 教授将在 Two Sigma 与业界专业人士讨论如何在该领域利用我们其他两门课程的主题。

涵盖的内容

2个视频1篇阅读材料

获得职业证书

将此证书添加到您的 LinkedIn 个人资料、简历或履历中。在社交媒体和绩效考核中分享。

位教师

授课教师评分
4.7 (48个评价)
Vivek Sarkar
Rice University
3 门课程66,639 名学生

提供方

Rice University

从 软件开发 浏览更多内容

人们为什么选择 Coursera 来帮助自己实现职业发展

Felipe M.
自 2018开始学习的学生
''能够按照自己的速度和节奏学习课程是一次很棒的经历。只要符合自己的时间表和心情,我就可以学习。'
Jennifer J.
自 2020开始学习的学生
''我直接将从课程中学到的概念和技能应用到一个令人兴奋的新工作项目中。'
Larry W.
自 2021开始学习的学生
''如果我的大学不提供我需要的主题课程,Coursera 便是最好的去处之一。'
Chaitanya A.
''学习不仅仅是在工作中做的更好:它远不止于此。Coursera 让我无限制地学习。'

学生评论

4.6

502 条评论

  • 5 stars

    69.32%

  • 4 stars

    22.31%

  • 3 stars

    4.98%

  • 2 stars

    0.99%

  • 1 star

    2.39%

显示 3/502 个

PK
4

已于 May 27, 2020审阅

SA
5

已于 Apr 27, 2020审阅

NK
4

已于 Sep 4, 2017审阅

Coursera Plus

通过 Coursera Plus 开启新生涯

无限制访问 10,000+ 世界一流的课程、实践项目和就业就绪证书课程 - 所有这些都包含在您的订阅中

通过在线学位推动您的职业生涯

获取世界一流大学的学位 - 100% 在线

加入超过 3400 家选择 Coursera for Business 的全球公司

提升员工的技能,使其在数字经济中脱颖而出

常见问题