深入理解Go语言

深入理解Go语言

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

深入理解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 小结

第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 小结

图书推荐

深入理解Go语言是2023年由清华大学出版社出版,作者刘丹冰。

得书感谢您对《深入理解Go语言》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
深入理解Zabbix监控系统 电子书
本书深入剖析Zabbix监控系统源码及功能,助力理解核心原理,提供二次开发参考。
GO语言开发实战:慕课版 电子书
为对GO语言感兴趣的初学者和爱好者量身定做,从入门到精通,扫码直接看学习视频,并免费提供一站式教学服务包。
用Go语言自制编译器 电子书
放下大部头,换一种方式入门编译原理,体验一步步实现类C语言的乐趣。
深入理解Android 5源代码 电子书
本书共分20章,循序渐进地分析了Android系统的基本源代码,依次讲解了Android系统介绍,获取并编译Android源代码,分析JavaNativeInterface系统,分析HAL系统,分析IPC通信机制,分析Binder对象和Java接口,分析ServiceManager和MessageQueue,init进程和Zygote进程,System进程和应用程序进程,分析Activity组件,
深入理解Spring Cloud与微服务构建 电子书
适读人群 :本书既适合Spring Cloud初学者入门使用,又适合正在做微服务实践的架构师或打算实施微服务的团队作为参考用书,同时也可作为高等院校计算机相关专业的师生用书和培训学校的教材。 1. 深入浅出讲解Spring Cloud组件、开发工具、框架等知识点。 2. 使读者全面理解微服务的构建原理。 3. 实例丰富,解释清晰,易于读者真正理解原理,并学以致用。 4. 深入讲解Spring Cloud OAuth2,直击市场需求痛点。