加强制度建设 信息公开 网站 专栏长春建站模板制作

pingmian/2026/1/20 2:43:45/文章来源:
加强制度建设 信息公开 网站 专栏,长春建站模板制作,湖北网站建设xiduyun,php7.1 WordPress文章目录 前言正文为什么要指定容量#xff1f; 前言 其实可以看到我写了这么久的博客#xff0c;很少去写hashMap的东西。 为什么#xff1f;因为这个东西感觉是java面试必备的#xff0c;我感觉大家都看到腻了#xff0c;所以一直没怎么去写hashMap相关的。 本篇内容 前言 其实可以看到我写了这么久的博客很少去写hashMap的东西。 为什么因为这个东西感觉是java面试必备的我感觉大家都看到腻了所以一直没怎么去写hashMap相关的。 本篇内容 举例说明 HashMap 使用的时候指定容量 错误用法源码走读HashMap初始容量的 计算方式源码走读扩容的点正确应该怎么去用一定要理解再用一些杂谈。 提示以下是本篇文章正文内容下面案例可供参考 正文 不开玩笑真的都知道指定容量但是有些用对了有些没用对。 为什么要指定容量 这个原由都不用说阿里的java开发手册就说的很明白 其实核心点就是避免数据量慢慢增加导致反复触发扩容影响性能。 于是乎就很多错误的使用方式了虽热影响不大 错误理解使用示例 ① 分页查询出来的数据需要转换成 Map 因为分页是固定了一页最多15条。 所以出现了这个代码 MapString, String map new HashMap(15);或者是 MapString, String map new HashMap(userPageList.size());错误理解使用示例 ② 类型type 有 4种 要放到一个map里面返回去。 所以出现了这个代码 MapInteger, String map new HashMap(4);错误理解使用示例 ③ 一个参数map里面想放2个参数。 所以出现了这个代码 MapString, String map new HashMap(2);不多举例其实这几个错误示例都是错在指定容量的 值上。 正例initialCapacity 需要存储的元素个数/负载因子 1 默认 指定是 传入 16 16* 0.7512 所以扩容阈值是12 。 说到这里大家应该知道为什么上面是错误用法了吧 比如我们想 存 4个元素到Map 我们为了避免后面触发扩容影响性能其实元素少性能没多少影响 就指定了 4 MapInteger, String map new HashMap(4);其实这样 4x0.75 3 那么如果存放第四个元素的时候就会触发扩容 这样就是违背了我们开始指定 的 4 的最初用意。 实战看看这个错误使用场景的情况 同过反射将capacity属性的权限拿到可以直接打印出来看下capacity的变化就知道是否触发了扩容 public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {MapString, String map new HashMap(4);Class? mapType map.getClass();Method capacity mapType.getDeclaredMethod(capacity);capacity.setAccessible(true);map.put(1, 第一个元素插入);System.out.println(capacity : capacity.invoke(map) size : map.size());map.put(2, 第二个元素插入);System.out.println(capacity : capacity.invoke(map) size : map.size());map.put(3, 第三个元素插入);System.out.println(capacity : capacity.invoke(map) size : map.size());map.put(4, 第四个元素插入);System.out.println(capacity : capacity.invoke(map) size : map.size());}看下打印效果 为什么当size 3 也就是插入三个元素的时候还没变。 因为我们初始化容量值传入的 4 4* 0.75 3. 扩容阈值是 3 当插入第四个元素的时候 就超过了扩容阈值所以触发了扩容所以看的最后其实是进行了一次扩容打印出来的capacity是 8. 那么我们应该传多少 正例initialCapacity 需要存储的元素个数/负载因子 1 4/0.75 1 6.3333333 我们指定传6么还是传 7 指定6 指定7 指定67 都没区别好像 值得庆祝的是没有再次触发扩容。 那么为啥没区别呢 HashMap会转换成大于该capacity 的第一个2的幂作为容量 。 所以传5678 都是 8 传910111213141516 都是 16 好了不多啰嗦了 最后再补一嘴 默认指定容量其实就是 内存换性能。 所以真正去使用指定容量的时候 需要考虑如果我是一个定时任务允许跑1小时。。。我需要考虑性能么 或者如果我服务内存很小我是不是要对内存省吃俭用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87668.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做网站的视频教学网页技术

到底哪些情况下CSGO饰品价格会涨,哪些情况会跌,下面是一个混迹steam平台多年的老油条,一点个人见解,不喜吻喷。 首先,CSGO饰品的交易是从市场进行的,市场终究是市场,是自由买卖的,必…

成都市医院网站建设做网站不实名认证可以吗

今天在写完类点击运行后显示java: 无效的目标发行版: 17 网上查询了一番,发现有几个地方需要注意。 还有一个就是设置中,下面的就是我本次问题所在,不知道为什么,他自动添加了下面的东西 一个方法是把目标字节码版本改为正确的&a…

图书馆网站建设与评价研究自己搭建服务器访问国外网站

学习vue3,都会从基础知识点学起。了解setup函数,ref,recative,watch、computed、pinia等如何使用 今天说vue3组合式api,pinia 戳这里,跳转pinia中文文档 官网的基础示例中提供了三种写法 1、选择式api&a…

做百科发那些网站新闻好平面设计网站有哪些

该脚本主要是针对 CentOS Linux 7 合规基线加固的一些配置操作,包括创建用户、安全审计配置、入侵防范配置、访问控制配置、身份鉴别策略配置等。如果您需要在脚本中添加公司网址,您可以在适当的位置添加相应的内容。不过请注意,在实际生产环…

吉安网站公司网站建设计划书

1、描述 跑马灯组件,用于滚动展示一段单行文本,仅当文本内容宽度超过跑马灯组件宽度时滚动。 2、接口 Marquee(value:{start:boolean, step?:number, loop?:number, fromStart?: boolean ,src:string}) 3、参数 参数名 参数类型 必填 描述 st…

门户网站建设公司教程为什么要建设医院网站

语法 create table [IF NOT EXISTS] 表名 ( 字段名 类型 [约束条件], 字段名 类型 [约束条件], 字段名 类型 [约束条件], 字段名 类型 [约束条件] ); 字段定义在括号内约束条件可以有多个多个字段定义之间用都会隔开 常见约束 NOT NULL 非空DEFAULT 0 默认值AUTO_INCREMENT…

网站开发 项目计划书怎么制作html文档

有时我们正常关闭计算机后,再次开机时发现系统会出现自行检测,这让许多XP用户们感到不方便,那么该怎么取消XP开机自检呢?下面就是具体的方法了,一起来看看吧。方法①:假如分区是FAT32格式,将其转…

东莞网站建设哪家最好家具网站后台模板

在数字化时代,服务器主机安全是任何组织都必须高度重视的问题。无论是大型企业还是小型企业,无论是政府机构还是个人用户,都需要确保其服务器主机的安全,以防止数据泄露、网络攻击和系统瘫痪等严重后果。 一、服务器主机安全的重…

建设银行官网首页网站南山片区镭拓网站建设官网

本来 用命令行运行py文件, 代码里面 获取当前路径的 语句 例如: os.getcwd() os.path.abspath(__file__) os.path.realpath(__file__)都可以获取到当前文件的路径, 但是打包成 可执行程序后, 统统不对了, 变成了 类似 /usr/xxx 的路径 https://stackoverflow.com/questions/50…

丽水建设网站有多少网站可以推广业务

go mod 缓存 在 Golang 中,模块是对一组版本化的包的集合的描述。Go 1.11 版本引入了模块支持,通过 go mod 命令提供了对模块的管理。Go 模块的一个重要特性是依赖管理,可以清晰地定义项目所依赖的模块及对应的版本,并确保代码使…

一个网站怎么做后台网站首页可以做竖版吗

博主介绍:✌公司项目主程、全网粉丝10W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计✌ 公众号:java李杨勇 简历模板、学习资料、面试题库…

个人网站设计教程wordpress添加页头代码

摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对校园快递信息管理混乱,出错率高,信息安全性差…

北京西直门附近网站建设公司pc网站案例

目录 引言:什么是端口映射?配置端口映射的步骤:1. 创建Docker镜像:2. 选择要映射的端口:3. 运行容器并进行端口映射:4. 验证端口映射: 示例:结论: 引言: Doc…

企业网站 免费做网站企业

问题的由来: 看到这样一个面试题: ? 1 2 3 4 5 6 //下列两个方法有什么区别 public synchronized void method1(){} public void method2(){ synchronized (obj){} } synchronized用于解决同步问题,当有多条线程同时访问共享数据时&a…

青海省住建局和建设厅门户网站门户网站平台建设的经费

1--二叉树的层序遍历(102) 主要思路: 经典广度优先搜索,基于队列; 对于本题需要将同一层的节点放在一个数组中,因此遍历的时候需要用一个变量 nums 来记录当前层的节点数,即 nums 等于队列元素的…

模具钢东莞网站建设asp.net4.5网站开发

一、项目介绍 在炎热的夏季,风扇成为人们室内生活中必不可少的电器产品。然而,传统的风扇控制方式存在一些不便之处,比如需要手动操作开关、无法远程控制和调速,以及缺乏定时功能等。为了解决这些问题,设计了一款基于…

哪个协会要做网站建设啊天津建设教育培训中心网站

收集历年的双十一成交额数据如下: 年份成交额:亿元20090.520109.362011

做网站美工的前途怎么样wordpress 微官网主题下载失败

一、Queue是什么 该接口是Java集合框架成员 Queue: 通常(但不一定)队列就是一个先入先出(FIFO)的数据结构,和堆一样(但可以进行转换,比如优先级列队排序,又或者改为栈形…

假山网站如何做淘客个人网站怎么建设

来都来了给我点个赞收藏一下再走呗🌹🌹🌹🌹🌹 目录 一、下载需要用到的python库selenium 二、selenium的基本使用 1.在python代码引入库 2.打开浏览器 3.元素定位 1)通过id定位 2)通过标…

域名及网站建设实验报告邯郸营销网站建设

系列文章目录 文章目录 系列文章目录一、springboot常用的starter有哪些二、 SpringBoot 实现热部署有哪几种方式?三、如何理解 Spring Boot 配置加载顺序? 一、springboot常用的starter有哪些 spring-boot-starter-web 嵌入tomcat和web开发需要servlet…