首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/butterfly/blog/4486445

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

一文看懂HashMap扩容为什么是2的n次幂

1.什么是HashMap? HashMap是Java中的集合类,是存放键值对形式的数据(Key和Value),例如QQ账号和QQ密码,QQ账号就是Key而密码则是Value。如下图所示(假如QQ账号为123456,密码为abcdef) 运行结果如下所示 如果存放相同的Key,那么Value将会被覆盖,类似于QQ更改密码,账号不会变,只有密码会进行更改。 运行结果如下所示 2.为什么扩容2的n次幂? 首先先看一下HashMap中的putVal方法(存值的)和resize方法(扩容的),之所以HashMap扩容是2的n次幂和这两个方法有千丝万缕的联系。 通过putVal方法可以看出来HashMap在存值时会先把key的hash值和扩容后的长度进行一次按位与运算,其中hash是在hash方法中把key进行计算后的出来的结果,n是扩容的长度(也就是数组的长度,默认为16),然后判断是否hash碰撞在进行不同的存储。如下图源码所示。 通过resize方法可以看出来扩容时会新建一个tab,然后遍历旧的tab,将旧的元素进行e.hash & (newCap - 1)的计算添加进...

目标检测算法YOLO-V3结构详解

❝ 上期我们一起学了YOLO-V2的算法结构以及跟YOLO-V1比起来有哪些优缺点,如下:目标检测算法YOLO-V2详解今天我们看下在YOLO-V2版本上改进的YOLO-V3算法,到底做了哪些优化? ❞ 今天我们主要从以下几个方面来学习YOLO-V3对YOLO-V2做了哪些改进。 Darknet-53结构 YOLO-V3结构 先验框设置 损失函数 模型性能 YOLO-V3模型框架 YOLO-V3模型框架,我们主要从它的基础网络Darknet-53以及YOLO-V3的结构方面学习,首先看下Darknet-53结构。 Darknet-53结构 Darknet-53是专门为YOLO-V3设计的一个深度学习框架,有着非常好的图像识别的效果,如下图: Darknet-53模型结构 整个网络主要包括5组残差块,如下: 以 256x256输入为例,首先经过一个 3x3x32的卷积层输出为 256x256x32; 接着经过一个 3x3x64 stride=2的卷积层输出为 128x128x64; 接着经过一个 残差块(前面学习残差网络的时候学过),输出为 128x128x64; 再经过一个 3x3x1...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册