http://www.cnblogs.com/qlky/p/7359462.html

http://www.importnew.com/28263.html

HashMap( java 7)

  • 构造函数中的int initialCapacity和float loadFactor作用是什么,分别会怎么影响HashMap的性能表现?
  • 容量为什么默认为2^n?
  • 数据结构是怎样的,画出类和类成员示意图
  • 迭代方式?

hashcode

  • 为什么要有hashcode,适用情景?
  • int index = (hash & 0x7FFFFFFF) % tab.length; 为什么要& http://www.cnblogs.com/chenssy/p/3651218.html

和HashTable的区别?http://www.cnblogs.com/qlky/p/7355466.html

  • 数据结构
  • 迭代方式

hashmap.put

  • put实现逻辑是怎样的?
  • 键值可以为null吗?如何处理这个逻辑?
  • 如何确定table[index]中的index?为什么可以用&代替%?
  • 如何处理冲突?https://www.jianshu.com/p/4d3cb99d7580 哈希表针对冲突的两种方式优缺点是什么? - 程序员吴师兄的回答 - 知乎 https://www.zhihu.com/question/47258682/answer/572450659
  • 新的key处理逻辑?
  • 为什么要记录modCount?作用是什么 http://www.cnblogs.com/qlky/p/7355466.html
  • 扩容的逻辑是什么?

hashmap多线程

  • 多线程环境下HashMap哪几个方法会出现问题?
  • 问题的原因是什么?
  • 属于死锁还是死循环?
  • 解决方案有哪些?
  • hashTable并发方法,优缺点?
  • SynchronizedMap原理,优缺点?
  • ConcurrentHashMap原理,优缺点?适用情景?http://www.importnew.com/21388.html

JAVA 8 hashmap

https://javadoop.com/post/hashmap

  • 底层结构?
  • 链表大小为多少的时候转换?
  • 扩容方法?
  • 多线程下死循环解决方法?https://blog.csdn.net/qq_27007251/article/details/71403647  https://my.oschina.net/alexqdjay/blog/1377268

TreeMap

http://www.cnblogs.com/qlky/p/7361877.html

Iterator

http://www.cnblogs.com/qlky/p/7367791.html

Stack

http://www.cnblogs.com/chenssy/p/3833341.html

  • 底层结构?
  • 源码实现?
  • 是否线程安全?相关实现

Vector

http://www.cnblogs.com/chenssy/p/3840572.html

  • 底层实现?
  • 与ArrayList区别

fast-fail

http://www.cnblogs.com/chenssy/p/3870107.html

  • 实现机制?
  • 如何判断数据结构被修改?
  • 如何保证不同线程中modCount相同?
  • 解决方法?

Java数据结构基础知识你知道多少?的更多相关文章

  1. 什么才是java的基础知识?

    近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...

  2. JAVA相关基础知识

    JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...

  3. Java 多线程——基础知识

    java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...

  4. java必备基础知识(一)

    学习的一点建议: 每一门语言的学习都要从基础知识开始,学习是一个过程,"万丈高楼平地起",没有一个好的地基,想必再豪华的高楼大厦终究有一天会倒塌.因此,我们学习知识也要打牢根基,厚 ...

  5. java部分基础知识整理----百度脑图版

    近期发现,通过百度脑图可以很好的归纳总结和整理知识点,本着学习和复习的目的,梳理了一下java部分的知识点,不定期更新,若有不恰之处,请指正,谢谢! 脑图链接如下:java部分基础知识整理----百度 ...

  6. JAVA学习基础知识总结(原创)

    (未经博主允许,禁止转载!) 一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平 ...

  7. JAVA多线程基础知识(一)

    一. 基础知识 要了解多线程首先要知道一些必要的概念,如进程,线程等等.开发多线程的程序有利于充分的利用系统资源(CPU资源),使你的程序执行的更快,响应更及时. 1. 进程,一般是指程序或者任务的执 ...

  8. Java的基础知识三

    一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...

  9. Java SE 基础知识(一)

    一.基础知识 1. Java SE : Java Standard Edition Java ME : Java Micro Edition Java EE : Java Enterprise Edi ...

随机推荐

  1. java获取当前文件路径的方法

    第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); ...

  2. linux crontab 实现每秒执行的实例

    linux crontab 命令,最小的执行时间是一分钟.如需要在小于一分钟内重复执行,可以有两个方法实现. 1.使用延时来实现每N秒执行 原理:通过延时方法 sleep N  来实现每N秒执行. 创 ...

  3. eclipse代码中使用到Launcher获取类加载器,找不到启动器类。

    解决:移除系统依赖的jar包,重新导入. 只需要在project build path中先移除JRE System Library,再添加库JRE System Library,重新编译后就一切正常了 ...

  4. day55 linux 基础以及系统优化

    Linux系统基础优化及常用命令   Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令 ...

  5. 【xsy1143】 兔子的数字 搜索

    题目大意:请找到第$k$大的数,满足各位数字之和等于各位数字之积.其中$k≤10^{18}$. 首先我们要确定这个第$k$大的数有多大 我们用$f[i][j][he][ji]$表示我们要搜索一个$i$ ...

  6. MySQL多实例(二)

    一.多实例MySQL数据库原理 1.1:原理图 1.2:多实例原理(什么是多实例) 简单来说MySQL多实例就是在一台服务器上同时开启多个不用的服务端口(如:3306.3307),同时运行多个MySQ ...

  7. openerp学习笔记 视图(tree\form)中隐藏按钮( 创建、编辑、删除 ),tree视图中启用编辑

    视图(tree\form)中隐藏按钮( 创建.编辑.删除 )create="false" edit="false" delete="false&quo ...

  8. 网络游戏程序员须知 UDP vs TCP(转)

    本文为作者原创或翻译,转载请注明,不得用于商业用途. 作者:rellikt@gmail.com 首发链接:http://blog.csdn.net/rellikt/archive/2010/08/21 ...

  9. JS - 解决鼠标单击、双击事件冲突问题(原生js实现)

    由于鼠标双击时每一次触发双击事件都会引起两次单击事件和一次单击事件,原生的js不提供专门的双击事件. 因为业务原因,双击和单机都绑定了不同的业务,在双击的时候又触发了单机,影响了页面的正常显示 出现问 ...

  10. safari input默认样式

    在i标签下嵌套一个input标签  设置了 -webkit-apprarence:none: 设置了宽高,和padding:3px 结果placeholder显示不全 经排查 这时候的input默认有 ...