golang
拙劣的魔法
专注 坚持!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
golang int与byte数组之间的转换
golang byte[] 与int 相互转换原创 2022-05-24 21:19:07 · 4400 阅读 · 2 评论 -
使用golang 编写一个websocket 库
func main() { h := NewWebsocket() h.OnConnect(func(ic connection.IWsCli) { ic.Write([]byte("heelo")) fmt.Printf("链接成功 \n") }) h.onReadEvent(func(c ctx.Context) { fmt.Printf("recv %s \n", string(c.Req.Bodys)) c.Resp.Write([]byte("zhangsan")).原创 2022-04-25 14:34:06 · 2176 阅读 · 0 评论 -
用golang.实现一个http代理?
项目地址原创 2022-04-06 23:51:18 · 411 阅读 · 0 评论 -
实现oj评测机
OJ评测机原创 2022-02-19 12:06:18 · 1522 阅读 · 0 评论 -
golang gc回收机制
v1.3 前使用标记清除算法 (缺点 让程序暂停会出现卡顿) 暂停业务逻辑,找出不可达和可达对象 stw 开始标记 标记所有可达对象 清除不可达对象 停止暂停,重复此过程,直到进程结束 三色标记法 创建的所有对象都为白色 gc 回收时遍历第一层节点,将节点标记为灰色 遍历灰色节点下一层,将可达对象标记为灰色,当前灰色节点标记为黑色 重复直到随后一层 将白色对象清除 如何三色标记不加stw 保护,可能会出现对象丢失 灰色对象丢失了白色对象 上一层的灰色对象又引用了白色对象 为了解决使用全局stw原创 2021-12-31 17:26:17 · 349 阅读 · 0 评论 -
golang 实现tcp 扫描器
func nmap(startPort int, EndPort int, url string) { ports := []int{} var wait sync.WaitGroup wait.Add(1) for i := startPort; i < EndPort; i++ { go func(p int) { host := fmt.Sprintf("%s:%d", url, p) _, re := net.DialTimeout("tcp", host, time.原创 2021-12-23 18:09:07 · 1411 阅读 · 0 评论
分享