JAVA面试案例-多融

重写HashCode,Hash怎么算的

https://blog.csdn.net/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都会创建吗?

不会创建线程,只是创建对象

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值