
面试题
文章平均质量分 95
平时面试知识总结
用生命研发技术
代码是二进制世界的交流方式,极致的代码是我们的荣耀。
展开
-
Java八股文面试全套真题-下
CAS的全称是: Compare And Swap(比较再交换),它体现的一种乐观锁的思想,在无锁情况下保证线程操作共享数据的原子性。在JUC( java.util.concurrent )包下实现的很多类都用到了CAS操作AbstractQueuedSynchronizer(AQS框架)AtomicXXX类例子:我们还是基于刚才学习过的JMM内存模型进行说明线程1与线程2都从主内存中获取变量int a = 100,同时放到各个线程的工作内存中。原创 2024-08-07 15:12:18 · 1037 阅读 · 0 评论 -
Java八股文面试全套真题-上
分片集群主要解决的是,海量数据存储的问题,集群中有多个master,每个master保存不同数据,并且还可以给每个master设置多个slave节点,就可以继续增大集群的高并发能力。这个是不能的,比如,当线程1加锁成功后,master节点数据会异步复制到slave节点,此时当前持有Redis锁的master节点宕机,slave节点被提升为新的master节点,假如现在来了一个线程2,再次加锁,会在新的master节点上加锁成功,这个时候就会出现两个节点同时持有一把锁的问题。查找的过程也是一样的。原创 2024-05-29 09:15:00 · 2766 阅读 · 2 评论 -
面试篇之NoSQL
fork采用操作系统提供的写实复制(Copy On Write)机制,就是为了避免一次性拷贝大量内存数据给子进程造成的长时间阻塞问题,但fork子进程需要拷贝进程必要的数据结构,其中有一项就是拷贝内存页表(虚拟内存和物理内存的映射索引表),这个拷贝过程会消耗大量CPU资源,拷贝完成之前整个进程是会阻塞的,阻塞时间取决于整个实例的内存大小,实例 越大,内存页表越大,fork阻塞时间越久。设置该key 过期时间后,我们不去管它,当需要该key时,我们在检查其是否过期,如果过期,我们就删掉它,反之返回该key。原创 2023-01-09 09:01:10 · 1060 阅读 · 0 评论 -
HashMap面试题
HashMap面试题介绍下 HashMap 的底层数据结构1.8 为什么要改成“数组+链表/红黑树”?那在什么时候用链表?什么时候用红黑树?为什么链表转红黑树的阈值是8?为什么转回链表节点是用的6而不是复用8?HashMap 的默认初始容量是多少?HashMap 的容量有什么限制吗?HashMap 的容量必须是 2 的 N 次方,这是为什么?负载因子为什么默认值是0.75。HashMap 的插入流程是怎么样的?图里刚开始有个计算 key 的 hash 值,是怎么设计的?为什么要将 hashCode 的高16原创 2022-12-28 09:00:00 · 820 阅读 · 0 评论