摘要: 反射的结构体 //reflect/type.go type Type interface { // 该类型内存分配大小(内存对齐单位子节) Align() int // 该类型作为结构体字段时内存分配大小(内存对齐单位子节) FieldAlign() int // 根据index in [0, Nu 阅读全文
posted @ 2023-11-14 16:24 朝阳1 阅读(28) 评论(0) 推荐(0)
摘要: 写锁需要阻塞写锁:一个协程拥有写锁时,其他协程写锁定需要阻塞 写锁需要阻塞读锁:一个协程拥有写锁时,其他协程读锁定需要阻塞 读锁需要阻塞写锁:一个协程拥有读锁时,其他协程写锁定需要阻塞 读锁不能阻塞读锁:一个协程拥有读锁时,其他协程也可以拥有读锁 阅读全文
posted @ 2023-11-14 09:27 朝阳1 阅读(11) 评论(0) 推荐(0)
摘要: 需要下载graphviz package main import ( "math/rand" "os" "runtime/pprof" "time" ) func generate(n int) []int { rand.Seed(time.Now().UnixNano()) nums := mak 阅读全文
posted @ 2023-11-13 15:28 朝阳1 阅读(54) 评论(0) 推荐(0)
摘要: 需要下载graphviz package main import ( "log" "os" "runtime/trace" ) func main() { file, err := os.Create("trace.out") if err != nil { log.Fatal(err) } def 阅读全文
posted @ 2023-11-13 15:26 朝阳1 阅读(108) 评论(0) 推荐(0)
摘要: 每一个 OS 线程都有一个固定大小的内存块(一般会是 2MB)来做栈,这个栈会用来存储当前正在被调用或挂起(指在调用其它函数时)的函数的内部变量。 这个固定大小的栈同时很大又很小。因为 2MB 的栈对于一个小小的 goroutine 来说是很大的内存浪费,而 对于一些复杂的任务(如深度嵌套的递归)来 阅读全文
posted @ 2023-11-13 11:14 朝阳1 阅读(85) 评论(0) 推荐(0)
摘要: nats自行安装 消费端 package main import ( "fmt" "github.com/nats-io/nats.go" ) ////nats-server 在管理 subject 的时候是通过’.’ 进行分割的,server 底层是使用 tree module 分层管理 subj 阅读全文
posted @ 2023-11-10 14:21 朝阳1 阅读(405) 评论(0) 推荐(0)
摘要: golang主要有两种锁:互斥锁和读写锁 互斥锁 Mutex 用于提供一种加锁机制(Locking Mechanism),保证同一时刻只有一个goroutine在临界区运行 package main import ( "fmt" "sync" "time" ) func main() { var m 阅读全文
posted @ 2023-11-10 11:28 朝阳1 阅读(58) 评论(0) 推荐(0)
摘要: 断线重连的逻辑很简单,就是把用户存到服务器内存中,当客户端再次登录的时候,判断内存中是否有用户的值,有的话替换 package main import ( "fmt" "github.com/gorilla/websocket" "log" "net/http" "sync" "time" ) ty 阅读全文
posted @ 2023-11-10 11:09 朝阳1 阅读(302) 评论(0) 推荐(0)
摘要: mysql产生临时表的原因有哪些? 排序操作:如果查询语句中包含了ORDER BY子句,MySQL就会使用临时表来存储排序结果。 分组操作:如果查询语句中包含了GROUP BY子句,MySQL就会使用临时表来存储分组结果。 连接操作:如果查询语句中包含了JOIN子句,MySQL可能会使用临时表来存储 阅读全文
posted @ 2023-11-10 09:47 朝阳1 阅读(260) 评论(0) 推荐(0)
摘要: 所谓两阶段提交,其实就是把 redo log 的写入拆分成了两个步骤:prepare 和 commit。 首先,存储引擎将执行更新好的新数据存到内存中,同时将这个更新操作记录到 redo log 里面,此时 redo log 处于 prepare 状态。然后告知执行器执行完成了,随时可以提交事务 然 阅读全文
posted @ 2023-11-10 09:42 朝阳1 阅读(117) 评论(0) 推荐(0)