JAVA基础
JAVA基础强化学习及面试
自考的程序员
遇到自己想遇到的人,认识自己想认识的人,学习应该学习的知识
展开
-
JAVA中的equals与hashCode
我们通常会用equals判断集合中是否包含一个对象,这种方式需要遍历集合中每一个元素,然后对他们一一进行equals方法比较。对于少量数据的集合该方式自然可以,但当我们的数据很多例如一万个,如果还使用这种逐个遍历的方式显然不合适。于是有人发明了一种哈希算法来提高从集合中查找元素的效率。这种方式的核心就是将集合分为若干个区域,每个对象可以计算出一个哈希码,可以将哈希码分组,每组分别对应某个存储区域,查找对象时我们先根据对象的哈希码来确定该对象存储在某个区域。然后在这个区域内查找元素原创 2020-12-05 11:24:42 · 153 阅读 · 0 评论 -
JAVA中的位运算
计算机通常用补码来表示有符号数,计算机的一个数据可以看作是有符号数,也可以看作无符号数的,也就是说计算机并不知道你存的是有符号数还是无符号数,而且所做的运算并不需要管你存的是什么数原创 2020-12-03 16:24:32 · 145 阅读 · 0 评论 -
JAVA容器之LinkedList
LinkedList底层数据结构是双向链表,所以他更适合顺序操作,由于他继承了Deque接口,同时他具有队列的性质,非线程安全的集合原创 2020-12-03 14:38:54 · 239 阅读 · 0 评论 -
JAVA容器之ArrayList
ArrayList 存在线程安全问题的本质是因为 ArrayList 自身的 elementData、size、modConut 在进行各种操作时,都没有加锁,并且这些变量的类型并非是volatile的,也不是原子操作原创 2020-12-02 15:48:38 · 184 阅读 · 2 评论