第一章 课程大纲与Golang综合分析
1-1 课程介绍 免费试学
  • 01-课程需知与大纲介绍
  • 02-序言-当下的Golang分析
第二章 Golang强知识--课程资料在本章
2-1 Golang内存调试与CPU性能--课程资料在这里
  • 03-第一篇-1-Golang调试性能分析-程序运行时间分析
  • 04-第一篇-1-Golang调试性能分析-查看程序内存占用情况
  • 05-第一篇-1-Golang调试性能分析-GODEBUG与gctrace跟踪信息
  • 06-第一篇-1-Golang调试性能分析-runtimeMemStats查看内存信息
  • 07-第一篇-1-Golang调试性能分析-pprof查看内存信息
  • 08-第一篇-1-Golang调试性能分析-CPU性能分析注意事项
  • 09-第一篇-1-Golang调试性能分析-CPUprofile文件Web获取方法
  • 10-第一篇-1-Golang调试性能分析-pprof工具分析profile文件
  • 11-第一篇-1-Golang调试性能分析-pprof工具生成profile文件
  • 12-第一篇-1-Golang调试性能分析-可视化查看
  • 13-第一篇-1-Golang调试性能分析-z总结
2-2 Golang调度器原理与GMP模型设计思想
  • 14-第一篇-2-Golang调度器GMP-课程阶段目标
  • 15-第一篇-2-Golang调度器GMP-调度器的由来与分析
  • 16-第一篇-2-Golang调度器GMP-GMP模型简介
  • 17-第一篇-2-Golang调度器GMP-调度器的设计策略
  • 18-第一篇-2-Golang调度器GMP-go指令的调度流程
  • 19-第一篇-2-Golang调度器GMP-Go的启动周期M0和G0
  • 20-第一篇-2-Golang调度器GMP-GMP可视化调试
  • 21-第一篇-2-Golang调度器GMP-GMP终端GODEBUG调试
  • 22-第一篇-2-Golang调度器GMP-场景1-创建G
  • 23-第一篇-2-Golang调度器GMP-场景2-G执行完毕
  • 24-第一篇-2-Golang调度器GMP-场景3-4-5-连续创建多个G导致本地队列满
  • 25-第一篇-2-Golang调度器GMP-场景6-唤醒正在休眠的M
  • 25-第一篇-2-Golang调度器GMP-场景7-呗唤醒的M从全局取G
  • 26-第一篇-2-Golang调度器GMP-场景8-偷取G情况
  • 27-第一篇-2-Golang调度器GMP-场景9-自旋线程的最大限制
  • 28-第一篇-2-Golang调度器GMP-场景10-G发生调用阻塞
  • 29-第一篇-2-Golang调度器GMP-场景11-G发生非阻塞
  • 30-第一篇-2-Golang调度器GMP-总结
2-3 Golang中的逃逸现象-何时栈何时堆
  • 31-第一篇-3-Golang变量的逃逸现象-课程目标
  • 32-第一篇-3-Golang变量的逃逸现象-Golang的逃逸现象演示
  • 33-第一篇-3-Golang变量的逃逸现象-逃逸现象分阶段编译分析
  • 34-第一篇-3-Golang变量的逃逸现象-new的变量逃逸现象
  • 35-第一篇-3-Golang变量的逃逸现象-new和make的区别
  • 36-第一篇-3-Golang变量的逃逸现象-总结
2-4 Golang中GC的三色标记与混合写屏障机制全分析
  • 37-第一篇-4-Golang三色标记与混合写屏障-课程目标
  • 38-第一篇-4-Golang三色标记与混合写屏障-GoV1.3的标记清除法
  • 39-第一篇-4-Golang三色标记与混合写屏障-GoV1.3的标记清除法的缺点
  • 40-第一篇-4-Golang三色标记与混合写屏障-GoV1.5三色标记法
  • 41-第一篇-4-Golang三色标记与混合写屏障-三色标记无STW的问题
  • 42-第一篇-4-Golang三色标记与混合写屏障-强弱三色不变式
  • 43-第一篇-4-Golang三色标记与混合写屏障-插入写屏障
  • 44-第一篇-4-Golang三色标记与混合写屏障-删除写屏障
  • 45-第一篇-4-Golang三色标记与混合写屏障-混合写屏障操作流程
  • 46-第一篇-4-Golang三色标记与混合写屏障-混合写屏障场景1
  • 47-第一篇-4-Golang三色标记与混合写屏障-混合写屏障场景2
  • 48-第一篇-4-Golang三色标记与混合写屏障-混合写屏障场景3
  • 49-第一篇-4-Golang三色标记与混合写屏障-混合写屏障场景4
  • 50-第一篇-4-Golang三色标记与混合写屏障-混合写屏障场景4
2-5 Golang如何体现面向对象思想
  • 51-第一篇-5-Golang面向对象思想-课程目标及提纲
  • 52-第一篇-5-Golang面向对象思想-interface特点与多态
  • 53-第一篇-5-Golang面向对象思想-平铺设计与开闭原则
  • 54-第一篇-5-Golang面向对象思想-依赖倒转原则
  • 55-第一篇-5-Golang面向对象思想-总结
2-6 Golang的Defer七知识点
  • 56-第一篇-6-Golang中defer的必备知识点-课程提纲及目标
  • 57-第一篇-6-Golang中defer的必备知识点-知识点1
  • 58-第一篇-6-Golang中defer的必备知识点-知识点2
  • 59-第一篇-6-Golang中defer的必备知识点-知识点3
  • 60-第一篇-6-Golang中defer的必备知识点-知识点4
  • 61-第一篇-6-Golang中defer的必备知识点-知识点5
  • 62-第一篇-6-Golang中defer的必备知识点-知识点6
  • 63-第一篇-6-Golang中defer的必备知识点-知识点7
  • 64-第一篇-6-Golang中defer的必备知识点-defer面试真题分析
2-7 Golang如何进行模块及项目依赖管理
  • 65-第一篇-7-Golang模块及项目依赖管理-课程目标及提纲
  • 66-第一篇-7-Golang模块及项目依赖管理-GOPATH工作模式的弊端
  • 67-第一篇-7-Golang模块及项目依赖管理-GoModules模式基础环境说明
  • 68-第一篇-7-Golang模块及项目依赖管理-GoModules初始化项目
  • 69-第一篇-7-Golang模块及项目依赖管理-改变模块依赖关系
第三章 Go企业面试真题分析
3-1 企业面试真题
  • 70-第二篇-1-Golang面试真题数据定义-课程提纲
  • 71-第二篇-1-Golang面试真题数据定义-函数返回类型名称
  • 72-第二篇-1-Golang面试真题数据定义-结构体类型的比较
  • 73-第二篇-1-Golang面试真题数据定义-string与nil赋值问题
  • 74-第二篇-1-Golang面试真题数据定义-常量与内存四区
  • 75-第二篇-2-Golang面试真题数组和切片
  • 76-第二篇-3-Golang面试真题map-初始化赋值问题
  • 77-第二篇-3-Golang面试真题map-遍历问题
  • 78-第二篇-4-Golang面试真题interface-赋值问题
  • 79-第二篇-4-Golang面试真题interface-interface内部构造(1)
  • 80-第二篇-4-Golang面试真题interface-interface内部构造(2)
  • 81-第二篇-4-Golang面试真题interface-万能类型与万能类型的地址
  • 82-第二篇-5-Golang面试真题channel-特殊情况15字口诀
  • 83-第二篇-6-Golang面试真题WaitGroup
  • 84-第二篇-6-Golang面试真题-总结
第四章 编程设计及通用理论
4-1 epoll的理论与IO阻塞机制
  • 85-第三篇-1-编程设计及通用理论-课程提纲及目标
  • 86-第三篇-1-epoll的理论与IO阻塞机制-流IO阻塞
  • 87-第三篇-1-epoll的理论与IO阻塞机制-解决阻塞死等待的办法多路IO复用
  • 88-第三篇-1-epoll的理论与IO阻塞机制-epoll的API内部机制构造
  • 89-第三篇-1-epoll的理论与IO阻塞机制-水平触发和边缘触发
  • 90-第三篇-1-epoll的理论与IO阻塞机制-epoll-server实现
  • 91-第三篇-1-epoll的理论与IO阻塞机制-总结
4-2 分布式从ACID、CAP、BASE的理论推进
  • 92-第三篇-2-分布式ACID、CAP、BASE推进-课程目标及纲要
  • 93-第三篇-2-分布式ACID、CAP、BASE推进-事务及ACID特性
  • 94-第三篇-2-分布式ACID、CAP、BASE推进-CAP及相关特性
  • 95-第三篇-2-分布式ACID、CAP、BASE推进-CAP的3选2证明
  • 96-第三篇-2-分布式ACID、CAP、BASE推进-BASE理论
  • 97-第三篇-2-分布式ACID、CAP、BASE推进-总结
4-3 进程、线程以及Goroutine的区别
  • 98-第三篇-3-进程、线程以及Goroutine的区别课程目标及提纲
  • 99-第三篇-3-进程、线程以及Goroutine的区别
  • 100-第三篇-3-进程、线程以及Goroutine的区别-线程切换成本与协程大小论证
  • 101-第三篇-4-限制Goroutine数量的方法-无限Go的危险
  • 102-第三篇-4-限制Goroutine数量的方法-只使用buffer和channel来限制
  • 103-第三篇-4-限制Goroutine数量的方法-使用sync和channel组合来限制
  • 104-第三篇-4-限制Goroutine数量的方法-无缓冲channel与任务发送、执行分离来限制
  • 105-第三篇-4-限制Goroutine数量的方法-总结
4-4 socket server的N种并发模型
  • 106-第三篇-5-socket server的N种并发模型-课程目标及提纲
  • 107-第三篇-5-socket server的N种并发模型-模型1-单线程Accept
  • 108-第三篇-5-socket server的N种并发模型-模型2-单线程Accept+多线程读写业务
  • 109-第三篇-5-socket server的N种并发模型-模型3-单线程多路IO复用
  • 110-第三篇-5-socket server的N种并发模型-模型4-单线程多路IO复用+多线程读写业务(业务工作池)
  • 111-第三篇-5-socket server的N种并发模型-模型5-单线程IO复用+多线程IO复用(链接线程池)
  • 112-第三篇-5-socket server的N种并发模型-模型5(进程版)-单进程多路IO复用+多进程多路IO复用(进程池)
  • 113-第三篇-5-socket server的N种并发模型-模型6-单线程多路IO复用+多线程多路IO复用+多线程