
java面试
文章平均质量分 61
江户川柯西い
这个作者很懒,什么都没留下…
展开
-
摸牌+闪电
文章目录摸牌:排序二叉树求闪电个数: 记一次某大厂笔试 摸牌: 拿道题目就是一通模拟,很快啊,超时了 package letcodeLearn; import java.util.Deque; import java.util.LinkedList; import java.util.PriorityQueue; import java.util.Scanner; public class Pro1 { public static int eval(Deque<Integer> l原创 2021-06-15 20:36:23 · 224 阅读 · 1 评论 -
《尚硅谷》Kafka副本同步策略一看就懂
方式一:半数以上副本完成同步,Leader就发送ack。 方式二:全部副本完成同步,Leader才发送ack。 怎么理解这两种情况呢? 首先我们要想到要容忍n台节点的故障是指,当生产者收到leader的ack之后,n台副本节点挂掉了,此时还幸存有效副本,最小幸存副本节点为1。 则方式一,需要2n+1个副本,因为有至少n+1个副本完成了同步,就算这些完成同步的副本所在的节点有n台出现故障,也至少有1台节点的副本有已经同步的数据; 而方式二只需要n+1个副本,因为这n+1个副本都完成了同步,有n台节点出现故..原创 2021-06-10 21:24:07 · 289 阅读 · 2 评论 -
多态之向上转型
文章目录牛客问题自己实验总结 牛客问题 public class Person{ private String name = "Person"; int age=0; } public class Child extends Person{ public String grade; public static void main(String[] args){ Person p = new Child(); System.out.println(p.name); } } 答案是->原创 2021-04-13 09:37:03 · 320 阅读 · 0 评论 -
HashMap原理分析jdk1.8
文章目录一、HashMap1.1HashMap的实现原理:1.2HashMap数据结构二、HashMap2.1.put()操作2.2.get()操作2.3.resize()操作总结扩展 一、HashMap 1.1HashMap的实现原理: 首先有一个每个元素都是链表(jdk1.8中满足特定条件后链表转化为红黑树)的数组,当要添加一个元素(key-value)时,就首先计算元素key的hash值,然后 使用函数f(hash)=(n - 1) & hash 以此确定插入数组中的位置。但是可能存在同一h原创 2021-04-09 16:57:14 · 1424 阅读 · 4 评论 -
HashMap的线程安全实现jdk1.8
文章目录前言一、HashMap实现线程安全二、三种方法源码分析1.Collections.synchronizedMap()2.HashTable<>()3.JUC并发包中ConcurrentHashMap() 前言 HashMap在多线程运行下,会发生线程不安全两种情况: put的时候导致的多线程数据不一致。 另外一个比较明显的线程不安全的问题是HashMap的get操作可能因为resize而引起死循环(cpu100%) 一、HashMap实现线程安全 三种情况实现线程安全,如下 Map原创 2021-04-11 14:03:09 · 619 阅读 · 1 评论