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. 【UVA11107 训练指南】Life Forms【后缀数组】

    题意 输入n(n<=100)个字符串,每个字符串长度<=1000,你的任务是找出一个最长的字符串使得超过一半的字符串都包含这个字符串. 分析 训练指南上后缀数组的一道例题,据说很经典(估计 ...

  2. 六,apache修改默认根文件路径

    1,安装完apache后,项目默认根路径是E:\Program Files\AppServ\www. 默认根路径在httpd.conf中默认配置过了,我们可以通过修改配置文件改变项目默认根路径. Do ...

  3. 从 falcon api 中获取数据

    import json import time import requests openfalcon = 'http://ip:port/api/v1' user = 'user' password ...

  4. Flask从入门到精通之链接的使用

    在Web开发中,任何具有多个路由的程序都需要可以连接不同页面的链接,例如导航条. 在模板中直接编写简单路由的URL 链接不难,但对于包含可变部分的动态路由,在模板中构建正确的URL 就很困难.而且,直 ...

  5. Postman+Newman+Jenkins 详细教程

    详细步骤点击: https://note.youdao.com/web/#/file/WEBda9492a77807d8050b40f8315bf6554a/note/WEBde553e6dff6ff ...

  6. Fiddler工具详细介绍

    百度看到Fiddler工具的详细介绍,转载收藏,侵权删,原文地址:http://blog.csdn.net/qq_21445563/article/details/51017605 前部分讲解Fidd ...

  7. shiro授权-记调试过程

    根据张开涛老师的shiro教程学习过程中 感觉shiro授权这块有点绕 调试了十几遍 大概有个思路  记录一下 1.单元测试入口 2.subject().isPermitted("+user ...

  8. spring源码开发环境搭建

    下载spring源码 地址 https://github.com/spring-projects/spring-framework 可以下载release版本,也可以直接git clone当前开发版本 ...

  9. Mac 10.12下iTerm2使用lrzsz上传下载文件

    1.下载脚本: cd /usr/local/bin wget https://raw.githubusercontent.com/mmastrac/iterm2-zmodem/master/iterm ...

  10. certificate verify fails (https://gems.ruby-china.org错误

    首先:执行这一步报错的背景是: 更换gems源, 通常执行 gem sources --add https://gems.ruby-china.org/ --remove https://rubyge ...