Blinkbean
09
19
Linux virtual server (LVS) Linux virtual server (LVS)
LVS是Linux virtual server的缩写,为linux虚拟服务器,是一个虚拟的服务器集群系统。LVS简单工作原理为用户请求LVS VIP,LVS根据转发方式和算法,将请求转发给后端服务器,后端服务器接收到请求,返回给用户。对于
2022-09-19
07
28
Golang-sync.Pool使用及原理 Golang-sync.Pool使用及原理
本文分类《源码计划》 Pool​ 你想看一本书,需要的时候开始印刷,看完了就卖废品,1000个人想看就得印刷1000本书,卖1000本废品。这明显太不绿色了,你想了想如果建一个图书馆,里面放几本书,大家想看的时候去借,看
2021-07-28
23
设计模式 设计模式
什么是设计模式设计模式是为了重用代码、让人更容易理解代码、保证代码可靠性而总结出来的通用的解决方案。你从来没有学过设计模式,但是遇到类似的问题一定有自己的解决方案,那这个解决方案也算自己的设计模式吧。或者在看到某种设计模式的时候会突然发现,
2021-07-23
22
Golang-Channel能怎么用? Golang-Channel能怎么用?
Golang CSP 不要通过共享内存来通信,而应该通过通信来共享内存。 CSP模型用于描述两个独立的并发实体通过共享的通信管道(channel)进行通信的并发模型。Golang借用process和channel两个概念作为并发的理论支持
2021-07-22
19
Golang-Channel底层是怎么实现的? Golang-Channel底层是怎么实现的?
本文分类《源码计划》 引言channel 是 golang 的最重要的一个结构,是区别于其他高级语言的最重要的特色之一,也是 goroutine 通信必须要的要素之一。下文将基于golang1.14从channel的数据结
2021-07-19
16
16
Golang-Interface能怎么用? Golang-Interface能怎么用?
Golang Interface 应用Interface是什么?在Golang中,interface是一组method的集合,duck-type programing的一种体现。不关心属性(数据),只关心行为(方法)。可以认为interfa
2021-07-16
06
21
Redis-为什么使用跳表? Redis-为什么使用跳表?
为什么有可比性它们都是用于解决数据集合的查找问题,即根据指定的key,快速查到它所在的位置或者对应的value。 Redis用跳表不用B+树的原因redis是内存数据库,儿B+树是为了mysql这种io数据库准备的。B+树每个节点的数量都是
2021-06-21
04
15
十万个为什么 十万个为什么
不懂就问记录遇到了但是并不能立马找到答案的问题,大佬们既然这样做了,一定有它的道理。 Redis redis pipeline底层实现是队列,队列先进先出的特性,保证了数据的顺序性。pipeline默认同步个数为53个,也就是说args累加
2021-04-15 blinkbean
14
LeetCode-206-反转链表 LeetCode-206-反转链表
反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 进阶:你可以迭代或递归地反转链表。你能否用两种方法解决
2021-04-14
14
13
LeetCode-236-二叉树的最近公共祖先 LeetCode-236-二叉树的最近公共祖先
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先
2021-04-13
2 / 6