面试题集锦
文章平均质量分 86
收集一些常见的面试题和大厂经典的面试题
smileNicky
优秀
展开
-
简述HashMap的扩容机制
resize这个方法是HashMap的扩容方法。HashMap在扩容时,都是翻两倍,比如16的容量扩大到32,。HashMap进行扩容的方法是比较巧妙的,扩容后,与原来的下标(n-1)&hash相对,其实只是多了1bit位。扩容后节点要么是在原来位置,听起来好像很懵,所以还是认真看下面的分析:下面给出例子,比如从容量为16扩容到32时,画图表示:进行扩容,扩大到原来的两倍:到这一步,下标,扩容后的数据10101和原来的00101相比,其实就是多了1bit,10101。原创 2023-07-16 17:21:41 · 5380 阅读 · 1 评论 -
浅谈String的特点和具体的源码实现
String的基本使用是Java入门的一个必修课,在面试中有时候也往往会是第一道面试题,一些互联网大厂也喜欢从最基础的知识点入手,然后追问技术实现细节。所以本博客通过源码和对比方式对一些实现细节简单分析原创 2022-04-30 09:30:00 · 973 阅读 · 0 评论 -
正向代理和反向代理的区别
今天说一下老生常谈的问题,正向代理和反向代理的区别?几年前也看过这个问题,也是一个常见的面试题,不过最近去面试时候,竟然也被问到这个问题。所以本博客整理一下资料,尽量写得通俗易懂一些。原创 2022-04-30 09:15:00 · 6188 阅读 · 4 评论 -
应如何设置HashMap容量的初始值?
Java中的集合框架是每一个java程序员使用很多的,其中hashMap的使用也是很多的,我之前也写过一篇对hashMap源码进行比较详细分析的博客:链接,读者可以参考学习。然后有看过阿里编程规范的应该知道,规范里指出在使用hashMap时候是可以指定一个初始化的容量的,然后具体原因是什么?原创 2021-10-31 17:22:07 · 3200 阅读 · 0 评论 -
HashMap实现原理和源码详细分析
JDK1.8 HashMap实现原理和源码详细分析,学习要点:知道HashMap的数据结构。了解HashMap中的散列算法。知道HashMap中put、remove、get的代码实现。HashMap的哈希冲突是什么?怎么处理的?知道HashMap的扩容机制原创 2021-09-12 09:52:37 · 5388 阅读 · 27 评论 -
单例模式双重检查锁模式为什么必须加 volatile?
单例模式双重检查锁模式为什么必须加 volatile?在new Singleton时候,会进行如下的过程,①先给Singleton分配内存空间、②调用Singleton的构造函数进行初始化操作③将Singleton对象指向分配的内存空间。不加volatile关键字,进行代码编译时候是会进行指令重排序的原创 2021-11-22 20:02:47 · 1637 阅读 · 0 评论 -
TCP协议为什么需要三次握手?
TCP实现原理和为什么需要三次握手?两次握手不可以?四次握手不可以?读者可以带着疑问,看一遍本篇博客的详细讲解。首先解释原因之前还是要先复习一下TCP的基本知识和三次握手协议原创 2021-09-03 17:03:46 · 21509 阅读 · 21 评论