顶部
收藏

分布式编程


作者:
韩少云 纪威 陈天竺
定价:
35.00元
ISBN:
978-7-04-050556-6
版面字数:
340.000千字
开本:
16开
全书页数:
暂无
装帧形式:
平装
重点项目:
暂无
出版时间:
2021-09-01
读者对象:
高等职业教育
一级分类:
计算机大类
二级分类:
计算机类
三级分类:
计算机应用技术

本书是高等教育出版社与达内时代科技集团(以下简称达内集团)联合出品的程序设计类新形态一体化教材,由达内集团一线授课讲师根据自己多年的授课经验结合课堂真实案例编写。本书以互联网企业实际用人的要求为导向,总结近几年国家应用型本科院校与示范性高职院校软件技术专业教学改革及达内集团在IT培训行业十多年的经验编写而成。

分布式编程在教学体系中定位为大数据课程的前置课程。全书共6章,分别是Socket通信、NIO、并发访问及优化、序列化与反序列化、初识Zookeeper、Zookeeper企业级开发。每章都包括基础知识论述与案例讲解,是达内一线优秀讲师讲课模式的再现。同时每章还包括本章重点、本章目标、本章小结等模块。

本书配有微课视频、授课用PPT、案例源代码等丰富的数字化学习资源。与本书配套的数字课程“分布式编程”在“智慧职教”网站(www.icve.com.cn)上线,学习者可以登录网站进行在线学习及资源下载,授课教师可以调用本课程构建符合自身教学特色的SPOC课程,详见“智慧职教”服务指南。教师也可发邮件至编辑邮箱1548103297@qq.com获取相关资源。

本书可作为高职及应用型本科院校软件技术专业Java大数据课程的配套教材,也可作为Java大数据爱好者的入门教材和参考用书。

  • 前辅文
  • 第1章Socket通信
    • 本章重点
    • 本章目标
    • 1.1网络模型
      • 1.1.1 OSI参考模型
      • 1.1.2 TCP/IP参考模型
    • 1.2传输协议
      • 1.2.1 UDP
      • 1.2.2 TCP
    • 1.3Socket通信
      • 1.3.1 基于UDP的Socket通信
      • 1.3.2 基于TCP的Socket通信
      • 1.3.3 多线程聊天室
    • 1.4进程和线程
      • 1.4.1 进程
      • 1.4.2 为什么引入进程模型
      • 1.4.3 线程
    • 1.4.4线程的调度算法
    • 本章小结
  • 第2章NIO
    • 本章重点
    • 本章目标
    • 2.1BIO
    • 2.1.1什么是BIO
      • 2.1.2 BIO的局限性
      • 2.1.3 BIO的应用场景
    • 2.2NIO
      • 2.2.1 NIO概述
      • 2.2.2 应用场景
    • 2.3缓冲区
    • 2.4通道
      • 2.4.1 服务器端通道
      • 2.4.2 客户端通道
      • 2.4.3 通道读/写数据
      • 2.4.4 数据报通道
      • 2.4.5 文件通道
    • 2.5选择器
      • 2.5.1 选择器的设计思路
      • 2.5.2 选择器的常用方法
      • 2.5.3 NIO服务器端和客户端的实现
    • 2.6TCP粘包和拆包
      • 2.6.1 粘包和拆包
      • 2.6.2 何时需要考虑粘包问题
      • 2.6.3 拆包策略
    • 2.7AIO简介
    • 本章小结
  • 第3章并发访问及优化
    • 本章重点
    • 本章目标
    • 3.1阻塞式队列(BlockingQueue)
      • 3.1.1 生产者—消费者模型
      • 3.1.2 ArrayBlockingQueue
    • 3.2并发映射
      • 3.2.1 ConcurrentMap
      • 3.2.2 ConcurrentNavigableMap
    • 3.3闭锁和栅栏
      • 3.3.1 CountDownLatch
      • 3.3.2 CyclicBarrier
    • 3.4交换机和信号量
      • 3.4.1 Exchanger
      • 3.4.2 Semaphore
    • 3.5线程池
      • 3.5.1 线程池简介
      • 3.5.2 ExecutorService
      • 3.5.3 Executors
    • 3.6锁
      • 3.6.1 Lock
      • 3.6.2 ReadWriteLock
      • 3.6.3 原子性
    • 本章小结
  • 第4章序列化与反序列化
    • 本章重点
    • 本章目标
    • 4.1序列化与反序列化概述
      • 4.1.1 序列化
      • 4.1.2 反序列化
      • 4.1.3 serialVersionUID
      • 4.1.4 transient
    • 4.2序列化框架
      • 4.2.1 Apache Avro简介
      • 4.2.2 Avro支持的数据类型
      • 4.2.3 Avro的.avsc文件
      • 4.2.4 Avro序列化
    • 4.3RPC
      • 4.3.1 RPC简介
      • 4.3.2 Avro RPC
    • 本章小结
  • 第5章初识Zookeeper
    • 本章重点
    • 本章目标
    • 5.1分布式系统
      • 5.1.1 何谓分布式
      • 5.1.2 分布式环境的问题
    • 5.2Zookeeper
      • 5.2.1 Zookeeper概述
      • 5.2.2 单机版Zookeeper的安装配置
      • 5.2.3 Zookeeper的数据模型
      • 5.2.4 Zookeeper的常用指令
      • 5.2.5 Zookeeper结点类型
      • 5.2.6 Zookeeper常用API
    • 5.3Zookeeper集群
      • 5.3.1 搭建Zookeeper集群
      • 5.3.2 Zookeeper服务器角色
      • 5.3.3 leader选举
      • 5.3.4 原子广播
      • 5.3.5 observer观察者
      • 5.3.6 配置observer角色
    • 5.4Zookeeper集群命令
      • 5.4.1 Linux nc安装
      • 5.4.2 Zookeeper常用集群命令
      • 5.4.3 Zookeeper的应用场景
    • 本章小结
  • 第6章Zookeeper企业级开发
    • 本章重点
    • 本章目标
    • 6.1项目概述
      • 6.1.1 Zebra项目简介
      • 6.1.2 Zebra项目整体架构
    • 6.2Zebra项目搭建
      • 6.2.1 搭建TarenaZebra-contract工程
      • 6.2.2 搭建TarenaZebra-engine1-01工程
      • 6.2.3 搭建TarenaZebra-engine2工程
      • 6.2.4 搭建TarenaZebra-jobtracker工程
    • 6.3Zebra项目编码
      • 6.3.1 创建jobtracker工程的FileHandle类
      • 6.3.2 创建jobtracker工程的FileToBlock类
      • 6.3.3 实现一级引擎RPC服务器
      • 6.3.4 jobtracker与一级引擎远程交互
      • 6.3.5 一级引擎处理日志文件
      • 6.3.6 实现二级引擎RPC服务器
      • 6.3.7 实现一级引擎RPC客户端
      • 6.3.8 二级引擎实现数据合并
    • 本章小结
  • 参考文献