![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
alone_song
编程界的一名小学生
展开
-
HashMap的原理剖析
当我们向HashMap中插入数据时,首先要先确定Node在数组也就是我们的Hash桶中的位置,HashMap会首先调用hashCode()方法,获取key的hashCode值,但后对其进行高位运算再与数组长度减1进行与运算之后获取到对象的保留位,最终的计算结果就是我们的下标。HashMap的数组部分成为Hash桶,数组元素保存在table属性中。当链表长度大于8时,链表数据将会转变为红黑树的形式进行数据存储,当长度降到时,优惠转成链表的形式存储。用hash值和数组的长度减1,取模,最后等到数组的索引。原创 2022-11-02 15:25:59 · 191 阅读 · 0 评论 -
浅入理解多线程
1.相关概念 1.1并发(Concurrent) 简单理解,同一处理器上,同时运行多个进程。但是此时的同时执行只是宏观上的效果,实际上只是多个进程在快速的交替执行,一次只有一个进程在处理器上执行。 1.2并行(Parallel) 当系统拥有一个以上的CPU或CPU拥有多个核心时,同一时间运行的进程互相不用抢占CPU资源,可以在微观角度上做到同时进行。 1.3进程(Process) 正在运行的程序实体。 1.4线程*(Thread) ...原创 2022-03-18 21:00:23 · 165 阅读 · 0 评论 -
switch语句作用在byte上却不能作用在String和long上
在switch(exprl)语句中,exprl必须是一个整数表达式或者枚举常量。而byte short char都可以隐式转换为int类型,整数表达式可以是int或者包装类Integer,所以byte short char类型是可以的。但是long String类型无法隐式转换为int,自身也不符合switch的语法规定。 JAVA枚举一般是一组有关联的常量组成的集合,是一种特殊的数据类型,也可以理解为一个简洁的类,在JAVA中我们可以用enum声明一个枚举类型。## switch语句的运用 ...原创 2021-11-20 09:27:11 · 1121 阅读 · 0 评论