北川广海の梦
北川广海の梦
life's not out to get you
Home
Archives
Moments
Links
Me
Home
Archives
Moments
Links
Me
Go
#Raft
1
#Go
6
#DFS
1
#Rust
1
#数据结构
6
#BFS
1
#转载
1
#多线程
1
#动态规划
4
#操作系统
2
#回溯
5
#.NET
5
#Java
4
#Angular
2
#Halo
1
Go实现反向代理,并自动处理重定向
反向代理 说起反向代理,第一印象估计都是超高人气的Nginx,其凭借强大的性能,吸引了不少使用者。 为什么需要反向代理? 隐藏服务器细节:在你的反向代理机器背后,就是你真正的业务服务器。它可能是由上千台机器组成的庞大集群,也可能是一个便宜好用的云服务器。外部请求想要访问你的服务器,必须通过反向代理。
Golang
263
0
0
2023-06-28
Dgraph数据库 raft wal实现
dgraph的raft算法,是基于etcd raft库实现的,其代码比较有参考价值。本文将分析其raft log storage部分的实现。
数据库
Golang
46
0
0
2023-04-18
Golang Mutex互斥锁原理
首先回顾一下Java中的锁的一些特性。在面试时,我们常被问道Java的锁升级过程:即一个锁的初始是不加锁的,而当只有一个线程来尝试获取这把锁的时候,它会变为偏向锁,(在锁对象头中存储线程id)这样可以对应的线程可以直接获得锁。而当有更多线程(2个)尝试获取锁时,它会转变为一个轻量级锁...
Golang
217
0
0
2023-02-10
Golang map数据结构与渐进式rehash
HashMap是日常开发中最常用的数据结构之一,由于其独特的性质,在许多场景其都能发挥作用,例如去重,快速判断存在性,甚至表示一个对象。而不同平台对于hashmap有着不同的实现,本文将分析Golang语言中的map实现原理。首先来回顾一下Java中的HashMap...
Golang
703
0
0
2022-12-07
Golang类型系统、接口与类型断言
普通结构体 type Man struct{ name string } func (m *Man) Speak(){ } 我们定义了一个简单的结构体,它有一个name字段,并且为它实现了一个Speak的方法。这个对象在运行时的元数据如下 runtime._type结构,描述了类型的大小,
Golang
317
0
0
2022-12-05
Golang GC 三色标记法与混合屏障
Golang采用了三色标记与混合写入屏障技术,经历几个版本的不断优化,最终实现了几乎完全无STW。本文将分析Golang的GC实现思想。
Golang
575
0
0
2022-11-25