重写HashCode,Hash怎么算的
https://blog.youkuaiyun.com/qq_38182963/article/details/78940047
(key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);
HashMap 的容量为什么建议是 2的幂次方?
& 中的二进制位全为 1,才能最大限度的利用 hash 值,并更好的散列,只有全是1
https://zhidao.baidu.com/question/219534800.html
volatile什么时候用,主存,工作内存,写入到主内存,防止指令重排序。
什么是指令重排序。
什么时候用volatile,两条线程同时读成员变量。不需要想sync等待。
同步容器:
https://www.cnblogs.com/dolphin0520/p/3933404.html
在Java中,同步容器主要包括2类:
1)Vector、Stack、HashTable
2)Collections类中提供的静态工厂方法创建的类
Vector实现了List接口,Vector实际上就是一个数组
但是不一定安全。Vector中的add方法和get方法都进行了同步,但是没有对remove进行同步
同步队列AQS,Condition少,LockSupport。
java并发编程
ReenTranLock比sync好处,利用重入机制填锁的值,超时时间。
为什么数据库用B+树
B+树结构
https://www.cnblogs.com/tiancai/p/9024351.html
TCP如何保证数据可靠
https://www.cnblogs.com/deliver/p/5471231.html
握手挥手
滑动窗口
限流
拥塞
ZK分配算法
Feign请求或者Nginx为什么用轮训,轮训有什么优点缺点,什么情况下用随机。什么负载均衡算法。
源地址哈希法,对请求来源iphash
https://www.cnblogs.com/SmartLee/p/5161415.html
https://www.cnblogs.com/xybaby/p/7867735.html
UDP是广播吗?不一定,要对255发送才是广播
udp和tcp区别只是是否连接确认,udp可以不握手,照样发送数据出去
线程池原理,什么时候创建线程,每次submit都会创建吗?
不会创建线程,只是创建对象