北川广海の梦
北川广海の梦
life's not out to get you
Home
Archives
Moments
Links
Me
Home
Archives
Moments
Links
Me
Golang
默认分类
杂项
Java
Gis
web
操作系统
算法
转载
数据结构
数据库
Rust
设计模式
Golang
Redis
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