2023年1月21日

go RWMutex源码分析

摘要: 适用场景 并发场景下读多写少。 字段含义 RWMutex基于Mutex,写优先,Lock函数(反转readerCount)会阻止新的reader获取锁。 type RWMutex struct { w Mutex // writer之间互斥 writerSem uint32 // writer信号量 阅读全文

posted @ 2023-01-21 19:30 王景迁 阅读(74) 评论(0) 推荐(0)

go sync.Once源码分析

摘要: 适用场景 服务启动时读取全局配置。单个函数流程里面只调用一次。 源码 双重检查done值是0后,加锁执行指定函数并把done值改成1。 type Once struct { done uint32 m Mutex } func (o *Once) Do(f func()) { if atomic.L 阅读全文

posted @ 2023-01-21 17:43 王景迁 阅读(40) 评论(0) 推荐(0)

go WaitGroup源码分析

摘要: 适用场景 等待若干个任务执行完成。 实现原理 字段 type WaitGroup struct { 省略 // 存储waiter数、WaitGroup计数和信号量 state1 [3]uint32 } 添加任务Add函数 设置WaitGroup计数 func (wg *WaitGroup) Add( 阅读全文

posted @ 2023-01-21 16:20 王景迁 阅读(34) 评论(0) 推荐(0)

go Channel源码分析

摘要: 理论基础 不要通过共享内存来通信,要通过通信来共享内存。 特点 通道分为非缓冲通道和缓冲通道。单向通道由双向通道转换而来,但是单向通道不能转换回双向通道。 通过make来初始化一个chan,未初始化的chan的零值是nil。 接收数据时,返回两个值。第一个值是返回的chan中的元素,第二个值是boo 阅读全文

posted @ 2023-01-21 09:59 王景迁 阅读(88) 评论(0) 推荐(0)

2023年1月14日

获取kubelet管理的容器

摘要: k8s 1.15 pkg/kubelet/kuberuntime/kuberuntime_container.gogetKubeletContainers方法获取kubelet管理的所有业务容器(true表示包括退出的和死亡的容器,用于GC)补充代码 kubelet日志 容器情况 启动一个基于Ngi 阅读全文

posted @ 2023-01-14 14:40 王景迁 阅读(118) 评论(0) 推荐(0)

2023年1月8日

curl

摘要: 打印curl总耗时 echo "time_total is %{time_total}s\n" > curl-format.txt curl -w "@curl-format.txt" -o /dev/null -s -L http://localhost:1000/test -w:从文件中读取打印 阅读全文

posted @ 2023-01-08 19:34 王景迁 阅读(85) 评论(0) 推荐(0)

2023年1月1日

arthas输出方法的请求参数和返回值

摘要: 运行jar包 java -jar demo-0.0.1-SNAPSHOT.jar 下载Arthas并启动 curl -O https://alibaba.github.io/arthas/arthas-boot.jar && java -Dfile.encoding=UTF-8 -jar artha 阅读全文

posted @ 2023-01-01 15:54 王景迁 阅读(515) 评论(0) 推荐(0)

2022年12月17日

GC测试

摘要: 基于SpringBoot来开发接口并编译运行 代码 UserController类 package com.wjq.demo; import org.springframework.web.bind.annotation.RequestMapping; import org.springframew 阅读全文

posted @ 2022-12-17 14:37 王景迁 阅读(144) 评论(0) 推荐(0)

MySQL字符集

摘要: 查看字符集 show charset like 'utf8%'; 每种字符集有多种比较规则,有默认的比较规则。utf8:一个字符最多占用3个字节,默认比较规则是utf8_general_ci。utf8mb4:一个字符最多占用4个字节,默认比较规则是utf8mb4_general_ci。比较规则中,c 阅读全文

posted @ 2022-12-17 09:35 王景迁 阅读(104) 评论(0) 推荐(0)

2022年12月7日

Nginx加权轮询负载均衡

摘要: Nginx 1.22.1 默认负载均衡策略 Nginx默认采用加权轮询策略。 src/http/ngx_http_upstream.c中ngx_http_upstream_init_main_conf函数 省略 for (i = 0; i < umcf->upstreams.nelts; i++) 阅读全文

posted @ 2022-12-07 22:11 王景迁 阅读(189) 评论(0) 推荐(0)

导航