leetcode链表之找出倒数第k个节点

2020-09-10
阅读 1 分钟
1.3k
序本文主要记录一下leetcode链表之找出倒数第k个节点题目 {代码...} 题解 {代码...} 快慢指针,先让快指针走k步,然后两个指针同步走,当快指针走到头时,慢指针就是链表倒数第k个节点。小结这里采用了快慢指针的套路,先让快指针走k步,然后两个指针同步走,当快指针走到头时,慢指针就是链表倒数第k个节点。doclian-bi...

leetcode链表之合并两个排序的链表

2020-09-09
阅读 2 分钟
1.1k
这里先创建一个newHead节点来表示合并后链表的头指针,然后创建一个cursor,其初始值为newHead;之后同时遍历l1及l2,取最小的作为cursor.next,同时该链表前进一个节点,并且cursor跟着前进;最后再将cursor.next指向尚未遍历完的链表的剩余节点;之后返回头指针指向的节点

leetcode链表之反转链表

2020-09-08
阅读 1 分钟
1.2k
序本文主要记录一下leetcode链表之反转链表题目 {代码...} 题解 {代码...} 这里使用了current、previous、next来保存小结这里使用了current、previous、next来保存,初始化的时候previous及next都设置为nulldocfan-lian-biao-lcof

leetcode多线程之交替打印FooBar

2020-09-07
阅读 2 分钟
2.3k
序本文主要记录一下leetcode多线程之交替打印FooBar题目 {代码...} 题解 {代码...} 这里使用ReentrantLock的condition来进行条件控制小结因为这里要循环多次打印,因而选择了ReentrantLock的condition来进行条件控制docprint-foobar-alternately

leetcode多线程之按序打印

2020-09-06
阅读 1 分钟
1.3k
这里是固定要按first先执行,而后second,再third方法,这里使用了CountDownLatch,比起object的wait notify之类用起来简单一点

聊聊BitCaskKeyDir

2020-09-05
阅读 3 分钟
1.4k
BitCaskKeyDir提供了map来存放BitCaskEntry;其put方法使用writeLock.lock(),对于old值为null的或者新值大于old值的才put进去,否则返回false,最后writeLock.unlock();其get方法使用readLock.lock()从map读取指定key的值,最后readLock.unlock()

聊聊BitCaskLock

2020-09-04
阅读 4 分钟
1.5k
BitCaskLock的acquire方法,先通过lock_acquire获取BitCaskLock,如果出现FileAlreadyExistsException则执行delete_stale_lock;其release方法针对is_write_lock执行file.close()及filename.delete()

聊聊claudb的NotificationManager

2020-09-03
阅读 4 分钟
1.1k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/event/NotificationManager.java

聊聊claudb的string command

2020-09-02
阅读 14 分钟
1.3k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/string/GetCommand.java

聊聊claudb的hash command

2020-09-01
阅读 7 分钟
1.3k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/hash/HashSetCommand.java

聊聊claudb的scripting command

2020-08-31
阅读 5 分钟
1.7k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/scripting/AbstractEvalCommand.java

聊聊claudb的transaction command

2020-08-30
阅读 3 分钟
1.4k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/TransactionState.java

聊聊claudb的pubsub command

2020-08-29
阅读 6 分钟
1.2k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/pubsub/PublishCommand.java

聊聊claudb的zset command

2020-08-28
阅读 11 分钟
1.4k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/zset/SortedSetAddCommand.java

聊聊claudb的set command

2020-08-27
阅读 5 分钟
1.5k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/set/SetAddCommand.java

聊聊claudb的list command

2020-08-26
阅读 7 分钟
1.3k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/list/LeftPushCommand.java

聊聊claudb的keys command

2020-08-25
阅读 6 分钟
1.4k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/key/KeysCommand.java

聊聊claudb的server command

2020-08-24
阅读 5 分钟
1.2k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/server/SelectCommand.java

聊聊claudb的Database

2020-08-23
阅读 8 分钟
1.3k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/data/Database.java

聊聊claudb的SlaveReplication

2020-08-22
阅读 5 分钟
1.1k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/replication/SlaveReplication.java

聊聊claudb的MasterReplication

2020-08-21
阅读 6 分钟
1.2k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/replication/MasterReplication.java

聊聊claudb的DatabaseCleaner

2020-08-20
阅读 2 分钟
1.2k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/data/DatabaseCleaner.java

聊聊claudb的importRDB

2020-08-19
阅读 7 分钟
1.3k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/DBServerState.java

聊聊claudb的exportRDB

2020-08-18
阅读 7 分钟
1.4k
claudb-1.7.1/src/main/java/com/github/tonivade/claudb/DBServerState.java

聊聊RedisTokenVisitor

2020-08-17
阅读 8 分钟
1.2k
resp-server-0.16.0/src/main/java/com/github/tonivade/resp/protocol/RedisTokenVisitor.java

聊聊RedisToken

2020-08-16
阅读 6 分钟
1.2k
resp-server-0.16.0/src/main/java/com/github/tonivade/resp/protocol/RedisToken.java

聊聊RespCommand

2020-08-15
阅读 6 分钟
1.3k
resp-server-0.16.0/src/main/java/com/github/tonivade/resp/command/RespCommand.java

聊聊RespServer

2020-08-14
阅读 10 分钟
1.4k
resp-server-0.16.0/src/main/java/com/github/tonivade/resp/RespServer.java

聊聊dubbo-go的roundRobinLoadBalance

2020-08-13
阅读 3 分钟
1.1k
roundRobinLoadBalance的NewRoundRobinLoadBalance方法创建了roundRobinLoadBalance

聊聊dubbo-go的randomLoadBalance

2020-08-12
阅读 2 分钟
1.4k
序本文主要研究一下dubbo-go的randomLoadBalancerandomLoadBalancedubbo-go-v1.4.2/cluster/loadbalance/random.go {代码...} randomLoadBalance的NewRandomLoadBalance方法创建randomLoadBalanceSelectdubbo-go-v1.4.2/cluster/loadbalance/random.go {代码...} Select方法先判断invokers数量,若只有一个则返回invoker...