AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

為什么Java String哈希函數乘數為31?

來源: 責編: 時間:2024-04-26 08:49:05 145觀看
導讀哈嘍,大家好,我是了不起。今天給大家介紹一個底層數字問題——為什么Java String哈希函數乘數為31?1、源碼重現在這個實現中,31 被用作乘數。那么,為什么選擇 31 作為乘數呢?2、降低哈希沖突31 是一個質數,相信大家學過數學

哈嘍,大家好,我是了不起。Wij28資訊網——每日最新資訊28at.com

今天給大家介紹一個底層數字問題——為什么Java String哈希函數乘數為31?Wij28資訊網——每日最新資訊28at.com

1、源碼重現

圖片Wij28資訊網——每日最新資訊28at.com

在這個實現中,31 被用作乘數。那么,為什么選擇 31 作為乘數呢?Wij28資訊網——每日最新資訊28at.com

2、降低哈希沖突

31 是一個質數,相信大家學過數學的,質數是這樣定義的:Wij28資訊網——每日最新資訊28at.com

指在大于1的自然數中,除了1和它本身以外沒有任何正因數的自然數。Wij28資訊網——每日最新資訊28at.com

在哈希函數中,使用質數作為乘數可以提高哈希值的分布均勻性。如果使用非質數作為乘數,那么哈希值的分布可能會出現偏斜。Wij28資訊網——每日最新資訊28at.com

例如,如果使用 10 作為乘數,那么所有以 5 為尾數的字符串的哈希值將是相同的。這會導致哈希沖突的可能性增加。Wij28資訊網——每日最新資訊28at.com

3、提高哈希計算速度

在 Java 中,int 類型的變量占用 32 位。Wij28資訊網——每日最新資訊28at.com

31 是一個奇數,因此 31 * i 的結果可以只使用 31 位來表示。這意味著在計算哈希值時,可以使用位運算來代替乘法運算。Wij28資訊網——每日最新資訊28at.com

位運算比乘法運算要快得多。Wij28資訊網——每日最新資訊28at.com

因此,使用 31 作為乘數可以提高哈希計算速度。Wij28資訊網——每日最新資訊28at.com

4、31是一個良好的折中方案

在實際應用中,使用 31 作為乘數可以提供良好的哈希值分布和計算速度。當然,也可以使用其他質數作為乘數。例如,37 和 43 也是不錯的選擇。Wij28資訊網——每日最新資訊28at.com

但是,31 是一個相對較小的質數,因此它在計算速度方面具有優勢。此外,31 也是一個常用的質數,因此在許多其他哈希函數中也得到了使用。Wij28資訊網——每日最新資訊28at.com

當然,31 并不是一個完美的乘數。在某些情況下,使用其他質數可能會更好。但是,對于大多數應用程序來說,31 都是一個不錯的選擇。Wij28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-85697-0.html為什么Java String哈希函數乘數為31?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 詳解JavaScript中的層疊規則(CSS Specificity)

下一篇: 從零到生產:Go在Google的歷程

標簽:
  • 熱門焦點
  • 線程通訊的三種方法!通俗易懂

    線程通信是指多個線程之間通過某種機制進行協調和交互,例如,線程等待和通知機制就是線程通訊的主要手段之一。 在 Java 中,線程等待和通知的實現手段有以下幾種方式:Object 類下
  • Automa-通過連接塊來自動化你的瀏覽器

    1、前言通過瀏覽器插件可實現自動化腳本的錄制與編寫,具有代表性的工具就是:Selenium IDE、Katalon Recorder,對于簡單的業務來說可快速實現自動化的上手工作。Selenium IDEKat
  • 把LangChain跑起來的三個方法

    使用LangChain開發LLM應用時,需要機器進行GLM部署,好多同學第一步就被勸退了,那么如何繞過這個步驟先學習LLM模型的應用,對Langchain進行快速上手?本片講解3個把LangChain跑起來
  • 如何通過Python線程池實現異步編程?

    線程池的概念和基本原理線程池是一種并發處理機制,它可以在程序啟動時創建一組線程,并將它們置于等待任務的狀態。當任務到達時,線程池中的某個線程會被喚醒并執行任務,執行完任
  • 年輕人的“職場羞恥感”,無處不在

    作者:馮曉亭 陶 淘 李 欣 張 琳 馬舒葉來源:燃次元“人在職場,應該選擇什么樣的著裝?”近日,在網絡上,一個與著裝相關的帖子引發關注,在該帖子里,一位在高級寫字樓亞洲金
  • 重估百度丨大模型,能撐起百度的“今天”嗎?

    自象限原創 作者|程心 羅輯2023年之前,對于自己的“今天”,百度也很迷茫。“新業務到 2022 年底還是 0,希望 2023 年出來一個 1。”這是2022年底,李彥宏
  • 華為HarmonyOS 4升級計劃公布:首批34款機型今日開啟公測

    8月4日消息,今天下午華為正式發布了HarmonyOS 4系統,在更流暢的前提下,還帶來了不少新功能,UI設計也有變化,會讓手機煥然一新。華為宣布,首批機型將會在
  • OPPO K11搭載長壽版100W超級閃充:26分鐘充滿100%

    據此前官方宣布,OPPO將于7月25日也就是今天下午14:30舉辦新品發布會,屆時全新的OPPO K11將正式與大家見面,將主打旗艦影像,和同檔位競品相比,其最大的賣
  • 2022爆款:ROG魔霸6 冰川散熱系統持續護航

    喜逢開學季,各大商家開始推出自己的新產品,進行打折促銷活動。對于忠實的端游愛好者來說,能夠擁有一款夢寐以求的筆記本電腦是一件十分開心的事。但是現在的
Top