美文网首页
知识点总结 - JAVA基础篇

知识点总结 - JAVA基础篇

作者: Jiu_Ming | 来源:发表于2020-05-21 17:59 被阅读0次
1. Object都有哪些方法

wait、notify、notifyAll、toString、hashCode、equels、getClass、clone、finalize

2. 两个对象equels相等,hashCode是否相等,为什么?
  • equels相等,hashcode一定相等。
  • JavaDoc描述了在重写equels方法的时候一定要重写hashcode,且必须遵循自反性、对称性、传播性、唯一性。
  • 在hashmap中,同时用了equels和hashcode做了判断,如果我们在重写equels的时候没有让hashcode相等的话,对象保存到hashmap中就会有问题
3. JAVA集合
图片来自网络.png
4. HashMap原理

HashMap采用散列表的存储结构。主干是Entry数组,每个数组元素又是一个链表结构。JDK1.8对结构进行了优化,当链表元素大于8的时候,会变成红黑树结构;又当链表元素小于6的时候,重新变回链表。

  • HashMap会根据当前Entry数组使用情况进行自动扩容,默认扩容因子为0.75
  • 扩容为当前的两倍大小,扩容之后要对所有元素进行rehash操作
  • Hash算法为 hash = key & (length - 1)
  • 解决hash冲突的方法为链地址法
  • 当hash冲突时,元素插入的方式,JDK1.7为头插法,JDK1.8为尾插法。避免在rehash的过程形成链环
5. ConcurrentHashMap原理
  • JDK1.7采用segment数组+entry数组+链表结构
  • JDK1.8采用entry数组+链表+红黑树结构
  • 在put和get的时候使用了Synchronized关键字保证线程安全

相关文章

  • 一篇文章,全面总结Android面试知识点

    转载自:Android开发中文站»一篇文章,全面总结Android面试知识点 Java Java基础 Java集合...

  • Java原理学习总结

    本文主要是我最近复习Java基础原理过程中写的Java基础学习总结。Java的知识点其实非常多,并且有些知识点比较...

  • 这些Java基础面试知识点,你都掌握了吗?

    本文主要是我最近复习Java基础原理过程中写的Java基础学习总结。Java的知识点其实非常多,并且有些知识点比较...

  • Java基础知识点总结

    前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结。Java的知识点其实非常多,并且有些知...

  • Java第一天

    今天主要学习java基础,预计明天结束java基础课程。 然后总结一下今天java学习的知识点: 1.java拥有...

  • 大数据技术入门[更新中]

    总结一下目前的知识点,要掌握的知识点 一. 编程语言 1. Java ●. Java基础 面对对象,Java8新...

  • 知识点总结 - JAVA基础篇

    1. Object都有哪些方法 wait、notify、notifyAll、toString、hashCode、e...

  • Java基础知识点总结

    前言 本文主要是我之前复习Java基础原理过程中写的Java基础学习总结。Java的知识点其实非常多,并且有些知识...

  • 这才是Java基础知识点的总结!

    前言 本文主要是我之前复习Java基础原理过程中写的Java基础学习总结。Java的知识点其实非常多,并且有些知识...

  • 你所需要的java提升篇大总结

    java基础篇深入解析大总结 java基础(一) 深入解析基本类型 java基础(二) 自增自减与贪心规则 jav...

网友评论

      本文标题:知识点总结 - JAVA基础篇

      本文链接:https://www.haomeiwen.com/subject/wvhbohtx.html