摘要: #jdk1.7中的HashMap ##扩容部分源码 扩容分为两步 1.创建一个数组容量为原来2倍的HashMap 2.遍历旧的Entry数组,把所有的Entry重新Hash到新数组 在开始之前我们先看一下扩容部分的源码 void transfer(Entry[] newTable, boolean 阅读全文
posted @ 2020-07-07 10:20 jealous-boy 阅读(765) 评论(2) 推荐(1) 编辑
摘要: #查询当前raw.githubusercontent.com对应的IP 👉点击查询👈 raw.githubusercontent.com #我当前查出(2020.09.29) 199.232.68.133 #写入本地hosts文件中 文件路径C:\Windows\System32\drivers 阅读全文
posted @ 2020-09-29 13:40 jealous-boy 阅读(333) 评论(0) 推荐(0) 编辑
摘要: #jdk1.7 ##数据结构 1.7的时候底层是由segments数组+HashEntry数组+链表组成的,在1.8的时候又不同。 // segments数组 final Segment<K,V>[] segments; static final class Segment<K,V> extends 阅读全文
posted @ 2020-08-22 22:52 jealous-boy 阅读(112) 评论(0) 推荐(0) 编辑
摘要: #前言 我们知道HashMap是线程不安全的,那么当我们要在多线程的情况下,应该怎么办呢? 在多线程场景下,我们一般采用下面的几种方式去创建线程安全的map集合 采用Collections.synchronizedMap(Map) 采用Hashtable 采用ConcurrentHashMap 通常 阅读全文
posted @ 2020-08-22 21:58 jealous-boy 阅读(90) 评论(0) 推荐(0) 编辑
摘要: #前言 emm,因为之前笔试中遇到了这个问题,当时写的时候是猜的😭,现在好好捋一下为什么。 #IntegerCache 先看一下下面的例子,猜猜三个结果。 public class Main { public static void main(String[] args){ Integer a = 阅读全文
posted @ 2020-08-21 21:04 jealous-boy 阅读(184) 评论(0) 推荐(0) 编辑
摘要: #ArrayList ArrayList就是数组列表,是一个动态数组,其容量能自动增长。 特点:查询效率高,增删效率低,线程不安全,日常使用频率高。 public class ArrayList<E> extends AbstractList<E> implements List<E>, Rando 阅读全文
posted @ 2020-08-20 15:21 jealous-boy 阅读(152) 评论(0) 推荐(0) 编辑
摘要: #浅克隆 对于基本数据类型的属性,复制一份给新的对象。 对于非基本数据类型的属性(对象),复制一份对象的引用给新的对象。 (即,新对象和旧对象中的非基本数据类型的属性的“指针” 都 指向同一个对象) ##浅克隆步骤 实现java.lang.Cloneable接口 重写java.lang.Object 阅读全文
posted @ 2020-08-19 21:39 jealous-boy 阅读(152) 评论(0) 推荐(0) 编辑
摘要: #JAVA类的实例化顺序 ##代码 class Fatherstatic{ public Fatherstatic(){ System.out.println("father静态变量"); } } class Childstatic{ public Childstatic(){ System.out 阅读全文
posted @ 2020-08-19 13:28 jealous-boy 阅读(230) 评论(0) 推荐(1) 编辑
摘要: #final final,是修饰符关键字 final类,意味着该类无法被继承。(故,一个类不能即被声明为abstract又声明为final) final方法,该方法能被子类继承,但子类无法重写该方法 final变量,表示"最后的、最终的"含义,变量一旦赋值后,不能被重新赋值。被 final 修饰的实 阅读全文
posted @ 2020-08-19 10:53 jealous-boy 阅读(112) 评论(0) 推荐(0) 编辑
摘要: #String、StringBuffer和StringBuilder的区别 ##可变与不可变 String是不可变字符串(字符数组用final关键字修饰) StringBuffer、StringBuilder是可变字符串 ##字符串修改 String每次字符串修改,都会生成一个新的String对象, 阅读全文
posted @ 2020-08-18 21:25 jealous-boy 阅读(132) 评论(0) 推荐(0) 编辑
摘要: #题目 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 阅读全文
posted @ 2020-08-18 10:39 jealous-boy 阅读(120) 评论(0) 推荐(0) 编辑