- 浏览: 87316 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (148)
- 全文检索 (1)
- java (29)
- xml (2)
- json (2)
- redis springmvc (1)
- Redis (5)
- 开发常识 (1)
- tomcat (2)
- 单元测试Junit (2)
- 设计模式 (2)
- spring (10)
- jvm (2)
- eclipse (4)
- echart (1)
- mybatis (1)
- mysql (3)
- web (1)
- js (2)
- PL/SQL (2)
- 其他 (1)
- 人生 (1)
- 安全 (2)
- jsp (2)
- 硬件电脑 (1)
- linux (3)
- git (10)
- oracle (8)
- ant (1)
- maven (2)
- 正则表达式 (2)
- chrome (1)
- 面试 (6)
- 多线程 (19)
- bug (11)
- java工具类 (3)
- 算法 (1)
- bug,git (1)
- shell (2)
- springmvc (2)
- Java8 (1)
- 消息队列-rocketmq (1)
- es (1)
- dubbo (0)
- spring cloud (0)
- hashmap (0)
- springboot (1)
- velocity (0)
newHashMapWithExpectedSize VS new HashMap
demo如下:
参考下阿里巴巴的开发手册中的定义
参考:HashMap容量为什么设置初始值为16?https://blog.csdn.net/l18848956739/article/details/85998121 解读的非常好
demo如下:
package test; import com.google.common.collect.Maps; import java.util.HashMap; import java.util.Map; /** * 测试map的两种new方式 */ public class TestHashMap { public static void main(String[] args) { /** * Maps 用的 guava-27.0.1-jre.jar中的类 * map1的初始容量设置3,实际上map它的初始容量是8,原理是: * expectedSize / 0.75F + 1.0F 与 * int n = cap - 1; * n |= n >>> 1; * n |= n >>> 2; * n |= n >>> 4; * n |= n >>> 8; * n |= n >>> 16; * return (n < 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1; * 分析源码即可知道。 */ Map<Integer,Integer> map1 = Maps.newHashMapWithExpectedSize(3); /** * JDK8 * map1的初始容量设置3,实际上map它的初始容量是4,原理是: * int n = cap - 1; * n |= n >>> 1; * n |= n >>> 2; * n |= n >>> 4; * n |= n >>> 8; * n |= n >>> 16; * return (n < 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1; * * 把一个数转化成第一个比他自身大的2的幂 比3自身大的2的幂就是4 */ Map<Integer,Integer> map2 = new HashMap<>(3); /** * 结论 无论哪种用法,其实都是可以的,比较建议的是第一种,毕竟扩容次数少一些,不过内存上会有些损耗, * 如果你的场景对内存要求高,可以牺牲性能,用第二种,总之脱离场景谈用法都是耍流氓。 */ } }
参考下阿里巴巴的开发手册中的定义
参考:HashMap容量为什么设置初始值为16?https://blog.csdn.net/l18848956739/article/details/85998121 解读的非常好
发表评论
-
linux 文件 dos unix格式,unix和dos下文本文件得区别
2023-09-06 23:23 84问题: 当在window ... -
java 枚举values()方法
2019-07-30 20:41 380工作中,同事 ... -
java 8 stream应用
2019-07-15 11:43 01.生成map List<BusinessFacili ... -
技术知识点汇总
2019-02-12 15:47 01. LTS(light-task-scheduler) ... -
架构演进
2018-12-21 00:54 348一传统垂直mvc项目 垂直架构图:表示层->业务逻辑层- ... -
集群中session共享
2018-12-20 23:25 0当项目演进时,一个节点出错,如何保证域名能访问到别的节点。 一 ... -
父类子类静态代码块执行
2018-08-22 15:23 0先看一个基础面试题: package com.jbx.te ... -
数组元素的初始化
2018-07-10 17:16 461直接上代码 ,char的初始化值是'\u0000' p ... -
统计一个字符串中每个字符串出现的次数
2018-07-03 17:43 581经常遇到这个问题:总结一下 思路和代码 import ja ... -
DateUtil
2018-03-15 20:53 459记录一下常用的工具类,方便使用的时候可以获取。 pack ... -
indexOf判断一个字符串是否包含另一个字符串
2018-02-26 08:58 480jdk中的表述如下 indexOf public int in ... -
eclipse 添加反编译
2018-01-25 08:57 299为eclipse中*.clsas/*.class withou ... -
Java读取配置文件
2018-01-24 16:00 288Java读取配置文件test.properties 文件tes ... -
HTTP请求头
2017-12-29 16:49 0Request Headers 当访问一个action时,在谷 ... -
阿里巴巴Java开发手册(终极版)
2017-11-13 16:37 466前言 《阿里巴巴 Java 开发手册》是阿里巴巴集团技术团队 ... -
JavaEE 基础实用教程(二)------Jsp应用基础
2017-11-03 17:22 626习题 1.画出HTML文件的基 ... -
JavaEE 基础实用教程(一)---简述
2017-11-03 14:55 562第一部分 实用教程 第 ... -
实现普通用户登录
2017-11-03 11:09 0页面元素: 用户名,密码,验证码,登录 1.创建登录页 ... -
Java容器-- 99集
2017-10-26 14:21 0API接口 Collection Set List H ... -
自己编写一个Map
2017-10-25 15:34 522在爱酷学习网上学习Java视频,其中有一个自己实现map的功能 ...
相关推荐
毕业设计ssm框架设备故障报修管理系统微信小程序源码+项目说明(高分毕设).zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 毕业设计ssm框架设备故障报修管理系统微信小程序源码+项目说明(高分毕设).zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 毕业设计ssm框架设备故障报修管理系统微信小程序源码+项目说明(高分毕设).zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 项目主要功能: 该项目是基于微信的设备故障报修管理系统,旨在改善传统管理方式的不足。系统涉及管理员、用户和维修员三个角色,管理员可进行用户、维修员、实验室等多方面管理,而用户和维修员可通过微信小程序注册登录,分别进行报修、查看维修状态和交流经验。系统采用Java的SSM框架开发后端,
开车不犯困100首MP3,之41-50,DJ.rar
毕业设计ssm框架外籍人员管理系统微信小程序源码+项目说明(高分毕设).zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 毕业设计ssm框架外籍人员管理系统微信小程序源码+项目说明(高分毕设).zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 毕业设计ssm框架外籍人员管理系统微信小程序源码+项目说明(高分毕设).zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 项目主要功能: 该项目是一个基于微信小程序的外来人员管理系统,旨在方便用户管理和查看个人中心、外籍人员信息及派出所信息。系统设计注重功能与界面的融合,支持派出所在线审核外籍人员信息。开发采用成熟技术,如微信开发者工具和JAVA SSM框架,结合源代码进行功能调整,以满足实际管理需求。该系统对外来
光大证券-20180309-放量恰是入市时:成交量择时初探——技术择时系列报告之三 深度学习 多因子模型 quant 股市 股票 量化交易 量化策略
六个盒子及其应用.pptx
YOLOv10是由清华大学的研究人员基于Ultralytics Python包开发的实时端到端目标检测模型。它引入了一种新的无NMS(非极大值抑制)训练方法,通过一致的双重任务分配来提高推理效率,并在保持竞争性能的同时减少延迟。 YOLOv10的主要改进包括: 无NMS训练:通过一致的双重任务分配,YOLOv10在训练过程中避免了NMS的使用,这有助于提高模型的推理速度。 效率-精度驱动模型设计:YOLOv10采用了一种新的模型设计策略,从效率和精度两个角度对YOLO组件进行优化,减少了计算开销并提高了性能。 轻量级分类头和空间-通道分离下采样:YOLOv10通过简化架构和减少计算成本来提高效率。 部分自注意力(PSA)模块:YOLOv10引入了PSA模块来增强模型的全局表示学习能力,同时控制计算复杂度。 实验结果:YOLOv10在不同模型尺寸上实现了最先进的性能和端到端延迟,例如YOLOv10-S在COCO数据集上与RT-DETR-R18相比,在相似的平均精度下速度快1.8倍,同时参数和浮点运算次数更少。 YOLOv10的这些创新使其在实时目标检测领域具有显著的优势,特别是在需要
项目机械化工程公司 龙门吊大修环境因素及其控制措施一览表.docx
京东大学的互联网思维.pptx
【课件】《华为灰度管理法》.docx
当涉及学习MySQL开发时,有许多优质的教程、案例和相关项目资源可供您使用。以下是一些您可能会发现有用的资源: 1. MySQL开发教程: MySQL官方文档:MySQL官方网站提供了全面的MySQL参考手册和开发指南,包括安装、配置、SQL语法、存储引擎等方面的详细信息。 W3Schools MySQL教程:W3Schools提供了简洁清晰的MySQL教程,适合初学者快速入门。 Coursera《数据管理和分析》:由Duke大学开设的课程,涵盖了数据库管理和数据分析的基本原理,其中也包含MySQL的相关内容。 2. MySQL开发案例和示例: GitHub:在GitHub上搜索MySQL相关的示例项目,如基于MySQL的Web应用程序、数据分析项目等,可以从中学习实际的应用案例。 MySQL官方示例数据库:MySQL官方提供了一些示例数据库,如经典的employees和world数据库,可以用来进行实际的查询和练习。 3. 相关项目资源: MySQL官方网站:提供了MySQL数据库服务器、客户端工具和连接器的下载,以及最新的更新和公告。 Stack Overflow:一个问题与回答
基于Springboot+Vue的校园二手图书交易平台的设计与实现源码+数据库(高分毕设)含有代码注释、使用文档说明,新手也可看懂,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为毕设、期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行! 基于Springboot+Vue的校园二手图书交易平台的设计与实现源码+数据库(高分毕设)含有代码注释、使用文档说明,新手也可看懂,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为毕设、期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行! 基于Springboot+Vue的校园二手图书交易平台的设计与实现源码+数据库(高分毕设)含有代码注释、使用文档说明,新手也可看懂,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为毕设、期末大作业使用,该系统功能完善、界面美观、操作简单。
在线考试系统设计与实现程序+数据库
基于java+html实现的虚拟宠物医院学习系统(包含角色扮演,学习,答题等)+源码+用户手册+项目解析PPT+界面展示,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 项目简介: 虚拟宠物医院学习系统 含医院2D/3D导览、 点击具体的科室,右侧展示该科室的具体信息 界面右侧展示该科室中的设备信息和药品信息 3D导览 具体的一个科室,右侧为该科室的简单文字介绍 总共有12个科室可以进行3D浏览 医院角色扮演: 可以选择医助、前台、医生三个角色中的任意一个角色进行角色扮演 进入具体一个角色的角色扮演界面,左侧是该角色的多个操作流程,每个操作流程下有多个具体的操作步骤 病例学习: 进入病例学习模块,选择特定病例种类,查看该疾病种类下的病例信息 点击具体的病例查看按钮进入病例详情页。该界面包括左侧的4个步骤(接诊、病例检查、诊断结果、治疗方案),每个步骤中包括文字简介、视频信息、图片信息等 测试答题: 选择题目类别和考题数量进行考题的获取 获取到考题 答题完成,获得答题分数 查看个人答题记录
ASP具有动态口令认证机制的网上投票系统的设计(源代码+论文)【ASP】
4月全新热文高科技,套用模板一键生成热文,没脑子拷贝,第二天出盈利,…
Java 培训和安置管理系统项目是一个基于 Java 编程语言开发的桌面应用程序,旨在为学生提供实习和就业机会。该系统通过提供结构和工具集,使公司能够有效地管理培训和安置过程。 系统特点 课程入学:学生可以注册培训课程。 企业入驻:企业可以注册并提供实习和就业机会。 学生管理:包括个人资料输入、培训记录和安置记录。 报告生成:生成学生培训和安置的报告。 用户管理:支持新用户注册和更改密码功能。 模块介绍 课程入学模块:学生可以查看并注册可用的培训课程。 企业入驻模块:企业可以注册并发布实习和就业机会。 学生管理模块:学生可以输入和更新个人资料,查看培训和安置记录。 报告生成模块:管理员可以生成和查看学生的培训和安置报告。 用户管理模块:支持新用户注册、登录和更改密码功能。 Java 培训和安置管理系统完全使用 Java 和 MySQL 构建,并具有功能齐全的图形用户界面 (GUI)。该系统展示了如何使用 Java 开发一个完整的桌面应用程序,并通过实践提高我们的编程技能和逻辑思维能力。可以作为毕业设计项目参考
ASP.NET中的在线图书馆管理系统项目是一个Web应用程序,使用C#和ASP.NET开发,后端依托于SQL Server数据库。这个系统旨在帮助图书馆自动化常规操作,例如管理图书库存、处理图书发行和归还、追踪学生信息以及管理逾期还书的罚款。 项目概览 项目名称:ASP.NET 图书馆管理系统项目 开发环境:使用C#语言的ASP.NET Visual Studio 2022 数据库:SQL Server 2021 项目类型:网站应用程序 该项目特别适合工程、计算机科学、信息技术以及计算机应用专业的高年级学生。 主要功能和模块 图书管理员功能: 添加出版物和书库信息 管理图书分枝 添加学生记录 发行和归还图书 实施逾期罚款 学生功能: 查看借阅记录 检查罚款状况 管理个人账户 整个系统的实施有助于提高管理效率,确保图书馆资源的有效利用,并使图书馆的日常工作流程自动化,在提高工作效率的同时也提升了服务质量。在安装和运行这个图书馆管理系统之前,请确保你的计算机上已安装Microsoft Visual Studio和SQL Server。
基于Springboot+Vue的图书馆管理系统源码+数据库(高分毕设)含有代码注释,新手也可看懂,98分毕业设计项目,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用,该项目可以作为毕设、期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行! 基于Springboot+Vue的图书馆管理系统源码+数据库(高分毕设)含有代码注释,新手也可看懂,98分毕业设计项目,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用,该项目可以作为毕设、期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值,项目都经过严格调试,确保可以运行! 基于Springboot+Vue的图书馆管理系统源码+数据库(高分毕设)含有代码注释,新手也可看懂,98分毕业设计项目,毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用,该项目可以作为毕设、期末大作业使用,该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用
面向对象设计原则与模式
【学习目标】: 图片幻灯 复杂的表单验证 瀑布流