几次面试后才弄懂的HashMap
本人大四,以前也开发过几个项目,Map相关集合也总用。但是从来没有研究过底层的实现,只知道杂用。结果在最开始的几次面试中一脸懵逼。认识到不足后,浅显的学习了一下,总结成一下几点。(如果写错了还望指正)
1.HashMap基于Map接口实现,元素以键值对的方式存储,并且允许使用null 建和null值,因为key不能重复,所以只能有一个键为null,另外HashMap不能保证放入元素的顺序,它是无序的,HashMap是线程不安全的。需要同步可以用ConcurrentHashMap和 Collections.synchronizedMap(Map m),推荐使用ConcurrentHashMap,下次会提到它两
2.默认初始化大小16,负载因子0.75
容量是哈希表中桶(Entry数组)的数量,初始容量知识哈希表在创建时的容量。加载因子是哈希表在其容量自动增加之前可以达到多满的一种尺度。当哈希表中的条目数超出了加载因子与当前你容量的乘积时,通过rehash方法将容量翻倍。
3
aaarticlea/png;base64,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" alt="" />
几次面试后才弄懂的HashMap的更多相关文章
- 面试前需要弄懂的SQL
说明:创建数据库 view source print? 1 Create DATABASE database-name 说明:删除数据库 view source print? 1 drop d ...
- 2018前端面试总结,看完弄懂,工资少说加3K | 掘金技术征文
2018前端面试总结,看完弄懂,工资少说加3K | 掘金技术征文:https://juejin.im/post/5b94d8965188255c5a0cdc02
- 彻底弄懂 JavaScript 执行机制
本文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,可以揍我. 不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定 ...
- 这一次,彻底弄懂 JavaScript 执行机制
本文转自https://juejin.im/post/59e85eebf265da430d571f89#heading-4 本文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还 ...
- SQL Server-聚焦NOLOCK、UPDLOCK、HOLDLOCK、READPAST你弄懂多少?(三十四)
前言 时间流逝比较快,博主也在快马加鞭学习SQL Server,下班回来再晚也不忘记更新下博客,时间挤挤总会有的,现在的努力求的是未来所谓的安稳,每学一门为的是深度而不是广度,求的是知识自成体系而不是 ...
- 彻底弄懂JS的事件冒泡和事件捕获(不推荐阅读)
由于搬去敌台了,好久没来博客园,今天无意中翻到有“误认子弟”的评论,这里特意做个说明. 本文中关于事件冒泡和事件捕获的描述和例子都是OK的,错就错在后面用jquery去展示了利用事件冒泡的例子有误,其 ...
- 一文弄懂神经网络中的反向传播法——BackPropagation【转】
本文转载自:https://www.cnblogs.com/charlotte77/p/5629865.html 一文弄懂神经网络中的反向传播法——BackPropagation 最近在看深度学习 ...
- [转]js模块化编程之彻底弄懂CommonJS和AMD/CMD!
原文: https://www.cnblogs.com/chenguangliang/p/5856701.html ------------------------------------------ ...
- [转帖]彻底弄懂UTF-8、Unicode、宽字符、locale
彻底弄懂UTF-8.Unicode.宽字符.locale linux后端开发 已关注 彻底弄懂UTF-.Unicode.宽字符.locale unicode 是字符集 utf-8是编码格式.. ...
随机推荐
- Code Review 程序员的寄望与哀伤【转载】
一个程序员,他写完了代码,在测试环境通过了测试,然后他把它发布到了线上生产环境,但很快就发现在生产环境上出了问题,有潜在的 bug. 事后分析,是生产环境的一些微妙差异,使得这种 bug 场景在线下测 ...
- 使用 GStreamer appsrc 等插件实现视频音频混流,录制和推流
目前在做的在线直播教室,需要将老师分享的屏幕和老师的声音.学生的声音录制为一个视频文件,以便学生上课后还可以再看回放. 直播服务我们采用的是腾讯的视频服务,有现成的 SDK 可以用.但 SDK 自带的 ...
- 【JavaScript函数】
函数的定义 : [完成某一个功能的代码段] 1.方便维护 2.重复利用 3.执行代码段 函数的一些要求: function 定义某一个函数 命名最好要有语义化, 函数名称最好是驼峰, 严格区分大小写, ...
- 2016广东工业大学新生杯决赛网络同步赛暨全国新生邀请赛 题解&源码
Problem A: pigofzhou的巧克力棒 Description 众所周知,pigofzhou有许多妹子.有一天,pigofzhou得到了一根巧克力棒,他想把这根巧克力棒分给他的妹子们.具体 ...
- [51nod1297]管理二叉树
一个初始为空的二叉搜索树T,以及1到N的一个排列P: {a1, a2, ..., aN}.我们向这个二叉搜索树T添加这些数,从a1开始, 接下来是 a2, ..., 以aN结束.在每一个添加操作后,输 ...
- [国嵌攻略][106][Linux内存管理子系统]
内存管理子系统 1.虚拟地址与物理地址的映射 2.物理内存的分配 Linux虚拟地址空间分布 设备最后访问的一定是物理地址,但Linux系统中使用的都是虚拟地址.虚拟地址简单的来说就是程序中使用的地址 ...
- 如何节省 1TB 图片带宽?解密极致图像压缩
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:Gophery 本文由 腾讯技术工程官方号 发布在云+社区 图像已经发展成人类沟通的视觉语言.无论传统互联网还是移动互联网,图像一直占据着 ...
- html dl dt dd标签元素语法结构与使用
dl dt dd认识及dl dt dd使用方法 标签用于定义列表类型标签. dl dt dd目录 dl dt dd介绍 结构语法 dl dt dd案例 dl dt dd总结 一.dl dt dd认识 ...
- 正则API
正则表达式:规定字符串中字符出现规律的公式 如果备选字符列表中个别字符之间是连续的,可用-省略中间的字符.比如: 匹配1位数字: [0-9]匹配1位小写字母 : [a-z] 匹配1位大写字母 : ...
- 怎样实现给DEDE的栏目增加栏目图片(1)
http://www.genban.org/news/dedecms-7577.html 前两天用DEDE做二次开发的时候,遇到一个问题,领导让给每个栏目增加一个栏目图片的功能,网上找了些东西,结合自 ...