以我第一次读源码的顺序。 创建锁: 加锁 非公平锁: 获取锁的逻辑都是在AQS里,这里就需要看一下AQS的结构: 维护了一个双向链表,用于存放等待锁的线程node,包括hea...
![240](https://cdn2.jianshu.io/assets/default_avatar/5-33d2da32c552b8be9a0548c7a4576607.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
以我第一次读源码的顺序。 创建锁: 加锁 非公平锁: 获取锁的逻辑都是在AQS里,这里就需要看一下AQS的结构: 维护了一个双向链表,用于存放等待锁的线程node,包括hea...
今天写代码遇到一个小问题,用switch case的时候,想给enum做switch,用了两种方式,switch(enum)case enum.A switch(enum.n...
1.打印如下分形图: 代码: 2.Pour Water We are given an elevation map, heights[i] representing the ...
1、什么是 Redis?简述它的优缺点? Redis 的全称是:Remote Dictionary.Server,本质上是一个 Key-Value 类型的内存数据库,很像 m...
id构成如下:
版本结构v(major).(minor).(patch),如v0.1.0, v1.2.3, or v1.5.0。go.mod的结构包括, module, require, r...
1. string和buffer 当需要对一个字符串进行频繁的操作时,谨记在go语言中字符串是不可变的(类似java和c#)。使用诸如a += b形式连接字符串效率低下,尤其...
1. 对已有代码format for file infind -L *.go .; ``do gofmt -w $file; done 2. 添加hook,在提交代码之前,提...
https://github.com/golang-standards/project-layout
Suppose you have a random list of people standing in a queue. Each person is described ...
Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num c...
把n个相同物品分成m个相同的堆,不空设为S(n,m)S(n,m) S(n,m)=S(n−1,m−1)+S(n−m,m) 把n个相同物品分成m个相同的堆,可空设为R(n,m)R...
G1 GC知识点: Region:1M~64M,2的幂,默认为其大小为将堆分为约2048个region为宜。可以通过-XX:G1HeapRegionSize来设定region...