Map-Resize | 学习笔记

简介: 快速学习 Map-Resize。

开发者学堂课程【Java面试疑难点串讲1:面试技巧及语言基础:Map-Resize】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/24/detail/489


Map-Resize


内容介绍

一、 Map-Resize


一、 Map-Resize

HishMap 需要 resize 时扩容因子是如何得到的?

如果要想解决这个问题还是需要去进行源代码的深入研究,也就是说对于基本的数据结构(类集)。

在进行数据添加的时候这个里面存在有一个 put() 方法。

public V put(K key,V value) {

return putVal(hash(key),key,value,false,true);

}

put() 方法里面可以发现有一个 putVal() 方法,而且可以发现这个方法首先进行了hash 计算(查找),而后在这个方法的实现定义。

if(oldCap>0) {

if(oldCap>=MAXIMUM_CAPACITY) {    //是否大于了最大的容量

threshold=Integer.MAX_VALUE;      //将其设置为整型最大

return oldTab;

}                                   //如果没有超过容量

else if((newCap=oldCap<<1)

oldCap>=DEFAULT_INITIAL_CAPACITY)

newThr=oldThr<<1; // double threshold

}

else if(oldThr>0) // initial capacity was placed in threshold

newCap=oldThr;

else {             // zero initial threshold signifies using defaults

newCap=DEFAULT_INITIAL_CAPACITY;

newThr=(int)(DEFAULT_LOAD_FACTOR*DEFAULT_INITIAL_CAPACITY);

}

它的容量扩充指的是一开始放30个,如果发现不够了,则进行移位处理,30*2,那么再一次扩充30*2*2

相关文章
|
域名解析 网络协议 对象存储
阿里云 CDN 控制台演示:源站加速|学习笔记
快速学习阿里云 CDN 控制台演示:源站加速
阿里云 CDN 控制台演示:源站加速|学习笔记
|
SQL 监控 安全
数据安全之认识数据库审计系统
随着企业业务数据量的不断增长和数据存储的集中化,数据库成为企业的核心资产之一。然而,数据库面临着各种安全威胁,如SQL注入、权限滥用、数据泄露等。为了保障数据库的安全性和完整性,企业需要采取有效的审计措施来监控和记录数据库的操作行为。本文让我们一起来认识数据库审计系统。
358 1
|
11月前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
存储 缓存 监控
网站的图片资源是否需要设置缓存?
【10月更文挑战第18天】网站的图片资源一般是需要设置缓存的,但要根据图片的具体特点和网站的需求,合理设置缓存时间和缓存策略,在提高网站性能和用户体验的同时,确保用户能够获取到准确、及时的图片信息。
|
监控 Kubernetes 测试技术
阿里云云效产品使用问题之一个模块分别有三个环境,如何通过一条流水线完成
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
11月前
|
运维 监控 Linux
zabbix中SNMP (Simple Network Management Protocol)
zabbix中SNMP (Simple Network Management Protocol)
470 10
|
JavaScript 前端开发 Java
npm学习一:npm 包管理工具 学习、使用。
这篇文章是关于npm包管理工具的学习、使用指南,包括npm概述、基础命令和如何安装webpack。
386 3
npm学习一:npm 包管理工具 学习、使用。
|
缓存 运维 应用服务中间件
运维系列.Nginx:自定义错误页面(二)
运维系列.Nginx:自定义错误页面(二)
284 0
|
机器学习/深度学习 人工智能 搜索推荐
详细探讨AI在个性化教育平台中学习路径推荐的应用
详细探讨AI在个性化教育平台中学习路径推荐的应用
|
存储 Kubernetes 固态存储
IEEE HPCA 2024|LightPool:高性能、轻量级的存储池化架构
IEEE HPCA 2024|LightPool:高性能、轻量级的存储池化架构