Golang逃逸分析出现的几种情况 2024-01-19 golang 在Go语言中,逃逸分析是编译时的一个过程,用来分析变量分配在栈上还是堆上。如果一个变量在函数外部仍然可以访问,那么这个变量就会从栈上“逃逸” 阅读更多
B树和B+树比较 2024-01-19 B 树 和 B+ 树的区别,为什么 mysql 要用 B+ 树,mongodb 要用 B 树。 B树(B-Tree)和B+树都是平衡树数据结构,它们被设计用于读写大量数据的存储 阅读更多
Golang垃圾回收 2024-01-19 golang Go 的垃圾回收器是基于三色标记清扫算法的,它在运行时进行并发垃圾回收,尽量减少对程序性能的影响。 自 Go 1.5 版本以来,垃圾回收器一直在不断优化。一些 阅读更多
TCP连接相关问题 2024-01-18 networks TCP 连接建立,断开过程 TCP的三次握手是建立TCP连接的过程,下面是TCP连接三次握手和断开四次挥手过程的状态机流程图: sequenceDiagram participant Client participant Server Client->>Server: SYN Server-->>Client: SYN+ACK Client->>Server: ACK 阅读更多
IO多路复用select,poll,epoll的区别 2024-01-18 select, poll, 和 epoll 都是用于处理多路输入输出(IO)的系统调用,它们允许程序监视多个文件描述符(FDs),等待一个或多个FDs成为非阻塞的,即准备好进行 阅读更多