展开全部

主编推荐语

深入理解Go语言底层精髓,适合有编程经验的工程师和学者。

内容简介

本书为深入理解学习Go语言必经之路中的重点知识领域,采用大量精美详细的图文介绍,文 章讲解深入浅出,极大降低了理解Golang底层精髓的学习门槛。本书包含3篇:第-篇为深度理论篇(第1章~第4章) , 包含深入理解Golang中GPM模型、深入理解Golang垃圾回收GC三色标记与混合写屏障、深入理解Golang内存管理模型、网络IO复 用模型等。第二篇为Golang实战中 需要进阶的知识育区介绍(第5章~第12章)。第三篇为基于Golang从0到1的实现轻量级网络服务框架Zinx及相关应用案例。本书主要的面向读者是已经具有软件编程开发经验的工程师、系统开发工程师、期望由Python、 PHP、 C/C++、Ruby、Java等 编程语言转职到Golang开发的后端工程师、期望深入理解Go语言特性的计算机软件学者等。

目录

  • 版权信息
  • 作者简介
  • 内容简介
  • 序一
  • 序二
  • 前言
  • 为什么写本书
  • 本书主要面向的读者
  • 本书读者应具备的背景知识
  • 本书概述
  • 致谢
  • 第一篇 Go语言修炼必经之路
  • 第1章 深入理解Go语言协程调度器GPM模型
  • 1.1 Go语言“调度器”的由来
  • 1.2 Go语言调度器GPM模型的设计思想
  • 1.3 Go调度器调度场景过程全解析
  • 1.4 小结
  • 第2章 Go语言混合写屏障的GC全场景分析
  • 2.1 Go V1.3标记-清除算法
  • 2.2 Go V1.5的三色标记法
  • 2.3 Go V1.5的屏障机制
  • 2.4 Go V1.8的混合写屏障
  • 2.5 小结
  • 第3章 Go语言内存管理洗髓经
  • 3.1 何为内存
  • 3.2 内存为什么需要管理
  • 3.3 操作系统是如何管理内存的
  • 3.4 如何用Go语言实现内存管理和内存池设计
  • 3.5 Go语言内存管理之魂TCMalloc
  • 3.6 Go语言堆内存管理
  • 3.7 小结
  • 第4章 深入理解Linux网络I/O复用并发模型
  • 4.1 网络并发模型中的几个基本概念
  • 4.2 解决阻塞等待缺点的办法
  • 4.3 什么是epoll
  • 4.4 epoll的触发模式
  • 4.5 简单的epoll服务器
  • 4.6 Linux下常见的网络I/O复用并发模型
  • 4.7 小结
  • 第二篇 Go语言编程进阶之路
  • 第5章 有关Goroutine无限创建的分析
  • 5.1 从操作系统分析进程、线程、协程的区别
  • 5.2 协程的切换成本
  • 5.3 Go是否可以无限创建,如何限定数量
  • 5.4 动态保活Worker工作池设计
  • 5.5 小结
  • 第6章 Go语言中的逃逸现象,变量“何时在栈、何时在堆”
  • 6.1 Go语言中的逃逸现象
  • 6.2 逃逸分析过程示例
  • 6.3 普遍的逃逸规则
  • 6.4 小结
  • 第7章 interface剖析与Go语言中面向对象思想
  • 7.1 interface的赋值问题
  • 7.2 非空接口的interface内部构造
  • 7.3 空接口的interface内部构造
  • 7.4 interface{}与∗interface{}
  • 7.5 面向对象思维理解interface
  • 7.6 小结
  • 第8章 defer践行中必备的要领
  • 8.1 defer的执行顺序
  • 8.2 defer与return谁先谁后
  • 8.3 函数返回值的初始化
  • 8.4 有名函数返回值遇见defer的情况
  • 8.5 defer遇见panic
  • 8.6 defer中包含panic
  • 8.7 defer下的函数参数包含子函数
  • 8.8 小结
  • 第9章 Go语言中常用的问题及性能调试实践方法
  • 9.1 如何分析程序的运行时间与CPU利用率
  • 9.2 如何分析Go语言程序的内存使用情况
  • 9.3 如何获取Go语言程序的CPU性能情况
  • 9.4 小结
  • 第10章 make和new的原理性区别
  • 10.1 变量的声明
  • 10.2 Go语言中make与new的区别
  • 10.3 slice与new关键字
  • 10.4 小结
  • 第11章 精通Go Modules项目依赖管理
  • 11.1 GOPATH的工作模式
  • 11.2 Go Modules模式
  • 11.3 使用Go Modules初始化项目
  • 11.4 修改模块的版本依赖关系
  • 11.5 小结
  • 第12章 ACID、CAP、BASE的分布式理论推进
  • 12.1 从本地事务到分布式理论
  • 12.2 ACID理论
  • 12.3 CAP理论
  • 12.4 CAP的“3选2”证明
  • 12.5 分布式BASE理论
  • 12.6 小结
  • 第三篇 Go语言框架设计之路
  • 第13章 Zinx框架基础服务构建
  • 13.1 初探Zinx架构
  • 13.2 Zinx-V0.1基础服务
  • 13.3 Zinx-V0.2简单的连接封装与业务绑定
  • 13.4 小结
  • 第14章 Zinx框架路由模块设计与实现
  • 14.1 IRequest消息请求抽象类
  • 14.2 IRouter路由配置抽象类
  • 14.3 Zinx-V0.3集成简单路由功能
  • 14.4 Server传递Router参数Connection
  • 14.5 使用Zinx-V0.3完成应用程序
  • 14.6 小结
  • 第15章 Zinx全局配置
  • 15.1 Zinx-V0.4增添全局配置代码实现
  • 15.2 使用Zinx-V0.4完成应用程序
  • 15.3 小结
  • 第16章 Zinx消息封装模块 设计与实现
  • 16.1 创建消息封装类型
  • 16.2 消息的封包与拆包
  • 16.3 Zinx-V0.5代码实现
  • 16.4 小结
  • 第17章 Zinx多路由模式设计与实现
  • 17.1 创建消息管理模块
  • 17.2 Zinx-V0.6代码实现
  • 17.3 使用Zinx-V0.6完成应用程序
  • 17.4 小结
  • 第18章 Zinx读写分离模型构建
  • 18.1 Zinx-V0.7代码实现
  • 18.2 小结
  • 第19章 Zinx消息队列和任务工作池设计与实现
  • 19.1 创建消息队列
  • 19.2 创建及启动Worker工作池
  • 19.3 将消息发送给消息队列
  • 19.4 Zinx-V0.8代码实现
  • 19.5 使用Zinx-V0.8完成应用程序
  • 19.6 小结
  • 第20章 Zinx连接管理及属性设置
  • 20.1 连接管理
  • 20.2 Zinx的连接属性设置
  • 20.3 小结
  • 第21章 基于Zinx框架的应用项目案例
  • 21.1 应用案例介绍
  • 21.2 MMO多人在线游戏AOI算法
  • 21.3 数据传输协议Protocol Buffer
  • 21.4 MMO游戏服务器应用协议
  • 21.5 构建项目与用户上线
  • 21.6 世界聊天系统实现
  • 21.7 上线位置信息同步
  • 21.8 移动位置与未跨越格子的AOI广播
  • 21.9 玩家下线
  • 21.10 移动与跨越格子的AOI广播
  • 21.11 小结
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。