首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
xiaohanliang
掘友等级
关注我的B站: "扫黄组高级督察梁sir"
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
3
文章 2
沸点 1
赞
3
返回
|
搜索文章
最新
热门
Go语言学习 - Understanding Map
hamp是map的底层实现, 本身并不是一个基础的数据类型, 因此它是需要被"制造"出来的, 内部的一些结构设置是需要初始化才能用的. 我们在日常写程序的时候大多数都是通过以上两种方式创建一个map, 以上这两个函数尤其是make这个关键字, 其实是会被翻译成makemap函数…
Go语言学习 - Understanding Lock
我们从零开始想象mutex是怎么上锁的, 假设我们规定一种游戏规则: "你必须把这个数字从0变成1". 改成的人算赢, 没改成的人就等着. 等刚刚赢的人再把数字改回0, 这样你就有机会再抢一把了. 这就是mutex上锁的基本原理. 再进一步的, 有如下两个细节: 说到底核心就是…
Go语言学习 - GMP/并发调度
之前我们简单介绍过GMP大概是怎么回事. 但是我们对它仍然缺少一个深刻的认识, 这篇文章通过一次go func() 来分别描述这三个人日常的工作. 按照我的习惯, 我不会说的特别深, 特别细节, 不会讨论一些极端情况, 也不会讨论GC下的工作模式. 我会尽量避免使用"书面/官方…
Go语言学习 - Chan的工作原理
缓冲槽的工作方式就是上图那样, 每当你往通道里写消息, 消息会先存到缓冲槽里, 而后才被取出来. 这种常规的工作模式也叫异步模式, 因为收发工作不是同步进行的, 你可以先发, 发完你走人, 随后收件人再去管道里取. 仔细想一想通道给我们带来了什么, 如果将通道的功能点拆开, 通…
MySQL连接池与超时设定
写一个网络后端, 启动数据库, 连接数据库, 开始之前配置你的数据库. 流量一大, 各种问题都出来了, 你开始认识到Mysql是一整套系统, 一套需要配置的系统. 以上两个函数是什么? 什么是MySQL连接,什么是连接池. 我应该怎么配置? 等你知道这些东西是什么, 怎么工作的…
Go语言学习 - database/sql
我不太喜欢GORM, 感觉太复杂了(他一定很喜欢很擅长反射). 于是想去了解内置包是怎么用的, 这篇文章简单说说内置包是怎么做查询的. 一些细节诸如加锁以及buffer的使用, 没往下分析了. 先从一个简单的例子开始, 这是一个简单的查询: 连接对象指的是go程序与数据库的连接…
Go练习 - PProf分析练习
先说一下这次要做什么, 我们每天都需要同步一次本部门人员详细信息. 但是只有两个接口可用: 在获得详细信息以后需要筛选出本部门的人员信息, 也就是org字段中包含云部门的数据, 筛选出的数据算是最新人员名单, 对比数据库中已有的数据, 做增量更新(也就是不存在的补上就够了). …
Go语言学习 - Sync.Pool
假设我们需要频繁申请内存用于存放你的结构体, 而这个结构体本身是短命的, 可能这个请求过去你就不用了. 申请了这么多内存, 对于GC来说就是一种压力了. 针对这个问题, 如果我们能产生一个池子, 用于存放这些短命内存, 理想情况中下次请求来了, 直接从池子中拿就好了, 那么GC…
Go语言学习 - HelloWorld
这是我接触go的第一个程序, GMP是我接触go学的最新的东西, 这两者是怎么联系在一起的, GMP是怎么发挥作用的, 为什么init能先于任何函数运行. 了解一下boot-strap, 在此之前, 你需要有gdb工具: brew install gdb 开始了, 我们先编译这…
Go语言学习 - GMP模型
在开始之前, 我想说一下, 分析GMP的定位, 以及工作流程是一个非常冗长的行为. 这跟reflct分析不一样, 即使花去了两周时间看各种文章, 代码阅读. 我也只能说, 只敢说我刚刚摸到了调度的门, 只看调度就已经不容易, 有时候你需要结合GC一起考虑进去, 在这篇文章里我没…
下一页
个人成就
文章被点赞
96
文章被阅读
60,164
掘力值
1,199
关注了
10
关注者
47
收藏集
1
关注标签
6
加入于
2019-04-03