java面试题
小小程序猿^O^
本人目前是一名学生。
展开
-
为什么加载因子设置成0.75
如果设置太大,比如1,那么就说明需要把每个空位填满,即达到理想状态,不产生链表,但实际是不可能达到这种理想状态,如果一直等数组填满才扩容,虽然达到了最大的数组空间利用率,但会产生大量的哈希碰撞,同时产生更多的链表,显然不符合我们的需求。如果设置的过小,比如 0.5,这样一来保证了数组空间很充足,减少了哈希碰撞,这种情况下查询效率很高,但消耗了大量空间。因此,我们就需要在时间和空间上做一个折中,选择最合适的负载因子以保证最优化,取到了0.75...原创 2022-06-21 09:31:02 · 203 阅读 · 0 评论 -
ArrayList,HashMap,LinkedList 初始化大小和 扩容机制
1.ArrayList初始化大小为10,扩容规则:扩容后的大小= 原始大小*1.5。2.linkList没有初始化大小,它就是一个双向链表,没有扩容,就是一直在前面或者在后面新增就好。3.HashMap初始化大小为16,扩容因子默认为0.75(可以指定初始化大小和扩容因子的)HashMap 的容量必须是2的N次方,HashMap 会根据我们传入的容量计算一个大于等于该容量的最小的2的N次方,例如传new HashMap(9); 容量大小为16。扩容机制.(当前大小 和 当前容量 的比例超过了 扩容因子,..原创 2022-06-21 09:29:51 · 4246 阅读 · 0 评论 -
session与cookie的区别
①Cookie可以存储在浏览器或者本地,Session只能存在服务器②session 能够存储任意的 java 对象,cookie 只能存储 String 类型的对象③Session比Cookie更具有安全性(Cookie有安全隐患,通过拦截或本地文件找得到你的cookie后可以进行攻击)④Session占用服务器性能,Session过多,增加服务器压力⑤单个Cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个Cookie,Session是没有大小限制和服务器的内存大小有关。...原创 2022-06-14 16:00:45 · 253 阅读 · 0 评论 -
JAVA中==与equals的区别
1.首先equals与’==‘一个是方法,一个是运算符2."=="如果比较的对象是基本数据类型,则比较的是数值是否相等,如果比较的是引用数据类型,则比较的是对象的地址值是否相等。3.equals()是用来比较两个对象的内容是否相等。注:equals方法不能用于基本数据类型的变量,如果没有对equals方法进行重写的,则比较的是引用类型的变量所指向的对象的地址。...原创 2022-06-14 15:40:40 · 69 阅读 · 0 评论