成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么Java String哈希函數(shù)乘數(shù)為31?

開(kāi)發(fā) 前端
在實(shí)際應(yīng)用中,使用 31 作為乘數(shù)可以提供良好的哈希值分布和計(jì)算速度。當(dāng)然,也可以使用其他質(zhì)數(shù)作為乘數(shù)。例如,37 和 43 也是不錯(cuò)的選擇。

哈嘍,大家好,我是了不起。

今天給大家介紹一個(gè)底層數(shù)字問(wèn)題——為什么Java String哈希函數(shù)乘數(shù)為31?

1、源碼重現(xiàn)

圖片

在這個(gè)實(shí)現(xiàn)中,31 被用作乘數(shù)。那么,為什么選擇 31 作為乘數(shù)呢?

2、降低哈希沖突

31 是一個(gè)質(zhì)數(shù),相信大家學(xué)過(guò)數(shù)學(xué)的,質(zhì)數(shù)是這樣定義的:

指在大于1的自然數(shù)中,除了1和它本身以外沒(méi)有任何正因數(shù)的自然數(shù)。

在哈希函數(shù)中,使用質(zhì)數(shù)作為乘數(shù)可以提高哈希值的分布均勻性。如果使用非質(zhì)數(shù)作為乘數(shù),那么哈希值的分布可能會(huì)出現(xiàn)偏斜。

例如,如果使用 10 作為乘數(shù),那么所有以 5 為尾數(shù)的字符串的哈希值將是相同的。這會(huì)導(dǎo)致哈希沖突的可能性增加。

3、提高哈希計(jì)算速度

在 Java 中,int 類型的變量占用 32 位。

31 是一個(gè)奇數(shù),因此 31 * i 的結(jié)果可以只使用 31 位來(lái)表示。這意味著在計(jì)算哈希值時(shí),可以使用位運(yùn)算來(lái)代替乘法運(yùn)算。

位運(yùn)算比乘法運(yùn)算要快得多。

因此,使用 31 作為乘數(shù)可以提高哈希計(jì)算速度。

4、31是一個(gè)良好的折中方案

在實(shí)際應(yīng)用中,使用 31 作為乘數(shù)可以提供良好的哈希值分布和計(jì)算速度。當(dāng)然,也可以使用其他質(zhì)數(shù)作為乘數(shù)。例如,37 和 43 也是不錯(cuò)的選擇。

但是,31 是一個(gè)相對(duì)較小的質(zhì)數(shù),因此它在計(jì)算速度方面具有優(yōu)勢(shì)。此外,31 也是一個(gè)常用的質(zhì)數(shù),因此在許多其他哈希函數(shù)中也得到了使用。

當(dāng)然,31 并不是一個(gè)完美的乘數(shù)。在某些情況下,使用其他質(zhì)數(shù)可能會(huì)更好。但是,對(duì)于大多數(shù)應(yīng)用程序來(lái)說(shuō),31 都是一個(gè)不錯(cuò)的選擇。

責(zé)任編輯:武曉燕 來(lái)源: Java技術(shù)指北
相關(guān)推薦

2021-04-08 11:46:41

String hashJava代碼

2024-11-07 08:47:53

2014-11-21 10:50:26

JavaString

2023-10-10 08:24:12

2023-12-20 08:11:02

Redis節(jié)點(diǎn)通信

2015-10-12 08:56:27

Java不可變

2015-11-23 10:09:30

Java

2020-07-22 07:55:12

Python開(kāi)發(fā)函數(shù)

2021-04-29 10:08:10

數(shù)據(jù)結(jié)構(gòu)哈希表

2024-04-25 08:21:36

Java對(duì)象計(jì)數(shù)法

2010-12-06 16:47:53

金山衛(wèi)士金山開(kāi)源

2023-03-30 09:10:38

Linux打包

2023-02-13 08:02:08

哈希函數(shù)哈希表搜索樹(shù)

2020-09-21 06:10:47

Python lambda匿名函數(shù)

2021-07-19 09:58:22

Pythonprint函數(shù)

2020-08-16 11:29:12

Python函數(shù)開(kāi)發(fā)

2024-11-15 10:53:56

Java編程語(yǔ)言

2021-04-26 20:44:59

Nacos方法String.inte

2011-12-30 15:20:29

2021-09-03 07:23:59

哈希洪水攻擊黑客DDoS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 午夜影院在线免费观看视频 | 亚洲激情一区二区三区 | 国产精品久久久久久久午夜片 | 在线观看日本高清二区 | 日韩欧美在线播放 | 成人免费福利视频 | 成人av一区二区在线观看 | 成年人免费在线视频 | 波霸ol一区二区 | 国产精品毛片一区二区在线看 | 激情伊人网 | 午夜亚洲| 在线观看中文字幕dvd播放 | 国产精品视频免费播放 | 亚洲视频一区在线观看 | 午夜欧美| 成人av观看 | 乳色吐息在线观看 | 日韩中文字幕在线观看视频 | 国产高清自拍视频在线观看 | 午夜影视 | 福利片在线观看 | 久久高清免费视频 | 日韩在线观看一区二区三区 | 999久久久久久久久6666 | 国产精品视频不卡 | 日本在线观看视频 | 国产精品欧美一区二区三区不卡 | 亚洲午夜精品一区二区三区 | 一级毛片视频 | 中文字幕不卡 | 黄色片免费 | 91精品久久久久久综合五月天 | 欧美一级片在线观看 | 婷婷色成人| 成人一级毛片 | 性网站免费 | 欧美国产亚洲一区二区 | 99tv成人影院 | 蜜桃视频成人 | 国产精品免费在线 |