课程试听
第一章 课程大纲与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复用+多线程