
面试
wen-pan
是程序猿一只呀
展开
-
ThreadLocal源码解析
一、什么是ThreadLocal变量 ThreadLoal 变量,线程局部变量,同一个 ThreadLocal 所包含的对象,在不同的 Thread 中有不同的副本。 因为每个 Thread 内有自己的实例副本,且该副本只能由当前 Thread 使用。这是也是 ThreadLocal 命名的由来。 既然每个 Thread 有自己的实例副本,且其它 Thread 不可访问,那就不存在多线程间共享的问题。 总的来说,ThreadLocal 适用于每个线程需要自己独立的实例且该实例需要在多个方法中被使用,也原创 2020-06-20 14:07:00 · 352 阅读 · 0 评论 -
HashMap集合原理
HashMap集合原理 0、问题 hashmap的结构是什么?(数组 + 链表 + 红黑树) 为什么要进行扩容?何时扩容?每次扩容多少?(均匀散列,提高效率。默认每次扩容为原来的一倍) key值是如何定位在table数组中的索引位置的?(key的 hashcode & (table数组长度 - 1)) 如何得到的散列值?如何尽可能确保key均匀且高效的散列到数组中? hash & (table数组长度 - 1) 为什么不用hashcode取模运算取得hash值?而是使用hashcode原创 2020-06-19 10:20:48 · 332 阅读 · 0 评论