08 2020 档案
摘要:#jdk1.7 ##数据结构 1.7的时候底层是由segments数组+HashEntry数组+链表组成的,在1.8的时候又不同。 // segments数组 final Segment<K,V>[] segments; static final class Segment<K,V> extends
阅读全文
摘要:#前言 我们知道HashMap是线程不安全的,那么当我们要在多线程的情况下,应该怎么办呢? 在多线程场景下,我们一般采用下面的几种方式去创建线程安全的map集合 采用Collections.synchronizedMap(Map) 采用Hashtable 采用ConcurrentHashMap 通常
阅读全文
摘要:#前言 emm,因为之前笔试中遇到了这个问题,当时写的时候是猜的😭,现在好好捋一下为什么。 #IntegerCache 先看一下下面的例子,猜猜三个结果。 public class Main { public static void main(String[] args){ Integer a =
阅读全文
摘要:#ArrayList ArrayList就是数组列表,是一个动态数组,其容量能自动增长。 特点:查询效率高,增删效率低,线程不安全,日常使用频率高。 public class ArrayList<E> extends AbstractList<E> implements List<E>, Rando
阅读全文
摘要:#浅克隆 对于基本数据类型的属性,复制一份给新的对象。 对于非基本数据类型的属性(对象),复制一份对象的引用给新的对象。 (即,新对象和旧对象中的非基本数据类型的属性的“指针” 都 指向同一个对象) ##浅克隆步骤 实现java.lang.Cloneable接口 重写java.lang.Object
阅读全文
摘要:#JAVA类的实例化顺序 ##代码 class Fatherstatic{ public Fatherstatic(){ System.out.println("father静态变量"); } } class Childstatic{ public Childstatic(){ System.out
阅读全文
摘要:#final final,是修饰符关键字 final类,意味着该类无法被继承。(故,一个类不能即被声明为abstract又声明为final) final方法,该方法能被子类继承,但子类无法重写该方法 final变量,表示"最后的、最终的"含义,变量一旦赋值后,不能被重新赋值。被 final 修饰的实
阅读全文
摘要:#String、StringBuffer和StringBuilder的区别 ##可变与不可变 String是不可变字符串(字符数组用final关键字修饰) StringBuffer、StringBuilder是可变字符串 ##字符串修改 String每次字符串修改,都会生成一个新的String对象,
阅读全文
摘要:#题目 leetcode_被围绕的区域 给定一个二维的矩阵,包含 'X' 和 'O'(字母 O)。 找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。 ##示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X
阅读全文
摘要:#前言: 因为面试要求当场撸LFU缓存结构设计题面试的时候没有写出来,所以这里做一个缓存算法集合。😭 1.FIFO(先进先出队列) 2.LRU(最近最久未使用) 3.LFU(最近最少使用) ##题目: leetcode_LFU 牛客_LFU 请你为 最不经常使用(LFU)缓存算法设计并实现数据结构
阅读全文
摘要:#前言: 因为面试要求当场撸LFU缓存结构设计题面试的时候没有写出来,所以这里做一个缓存算法集合。😭 1.FIFO(先进先出队列) 2.LRU(最近最久未使用) 3.LFU(最近最少使用) #题目: leetcode_LRU 牛客_LRU 运用你所掌握的数据结构,设计和实现一个 LRU (最近最久
阅读全文

浙公网安备 33010602011771号