【golang】 slice

使用golang已经快2年了,一直没有好好整理过基础知识,这次也好好整理一下,从最基本的slice开始,也把之前的一些疑惑进行自我解答 :)

阅读更多

【ReentrantLock源码分析】公平锁&非公平锁

首先,先看一下ReentrantLock类结构。

这里可以看到,在ReentrantLock内部,有个Sync内部静态抽象类,该类继承自AbstractQueuedSynchronizer(AQS),并且有2个内部静态类的实现NonfairSyncFairSync,从类的名字就能看出来公平锁与非公平锁是通过Sync实现的。

阅读更多

【HttpComponents】源码分析2-HttpCore&nio

前边介绍了HttpCore里基于传统阻塞IO实现,接下来这篇会比较长,主要是在架构层面上介绍HttpCore+HttpCore NIO.

NIO是什么我这里就不具体介绍了,如果有兴趣可以去看别人写的文档.下面这两个链接介绍内容都是一致的,基于老外写的一篇文章.

阅读更多

Git系列-12-tag管理

标签管理

标签就是对commit id加上一个别名。比如上次提交的commit id622493706ab447b6bb37e4e2a2f276a20fed2ab4,如果我想把这次版本进行发布,后期又能很清楚的知道这次版本发布了什么。那么使用Tag就很简单了。

阅读更多

Git系列-11-代码同步

代码更新

git pull & git fetch

  • git pull = git fetch + git merge

$ git fetch <远程主机名> <分支名>

阅读更多