- [1 å¦ä½è§£å³èµæºéå¶ç±»é¢ç®](#1)
* [1.1å¸éè¿æ»¤å¨ç¨äºéåç建ç«ä¸æ¥è¯¢ï¼å¹¶å¯ä»¥èç大é空é´ï¼å·²è®²ï¼](#11)
* [1.2 ä¸è´æ§åå¸è§£å³æ°æ®æå¡å¨çè´è½½ç®¡çé®é¢ï¼å·²è®²ï¼](#12)
* [1.3 å©ç¨å¹¶æ¥éç»æåå²é®é¢çå¹¶è¡è®¡ç®ï¼å·²è®²ï¼](#13)
* [1.4 åå¸å½æ°å¯ä»¥ææ°æ®æç
§ç§ç±»åååæµ](#14)
* [1.5 ä½å¾è§£å³æä¸èå´ä¸æ°åçåºç°æ
åµï¼å¹¶å¯ä»¥èç大é空é´](#15)
* [1.6 å©ç¨å段ç»è®¡ææ³ãå¹¶è¿ä¸æ¥èç大é空é´](#16)
* [1.7 å©ç¨å ãå¤æåºæ¥åå¤ä¸ªå¤çåå
çç»æåå¹¶](#17)
+ [1.7.1 é¢ç®1ï¼ä½å¾ååæ®µç»è®¡ï¼ï¼](#171)
+ [1.7.2 é¢ç®2ï¼ä½å¾ï¼](#172)
1 å¦ä½è§£å³èµæºéå¶ç±»é¢ç®
1.1å¸éè¿æ»¤å¨ç¨äºéåç建ç«ä¸æ¥è¯¢ï¼å¹¶å¯ä»¥èç大é空é´ï¼å·²è®²ï¼
1.2 ä¸è´æ§åå¸è§£å³æ°æ®æå¡å¨çè´è½½ç®¡çé®é¢ï¼å·²è®²ï¼
1.3 å©ç¨å¹¶æ¥éç»æåå²é®é¢çå¹¶è¡è®¡ç®ï¼å·²è®²ï¼
1.4 åå¸å½æ°å¯ä»¥ææ°æ®æç
§ç§ç±»åååæµ
1.5 ä½å¾è§£å³æä¸èå´ä¸æ°åçåºç°æ
åµï¼å¹¶å¯ä»¥èç大é空é´
1.6 å©ç¨å段ç»è®¡ææ³ãå¹¶è¿ä¸æ¥èç大é空é´
1.7 å©ç¨å ãå¤æåºæ¥åå¤ä¸ªå¤çåå
çç»æåå¹¶
1.7.1 é¢ç®1ï¼ä½å¾ååæ®µç»è®¡ï¼ï¼
32使 ç¬¦å·æ´æ°çèå´æ¯0~4,294,967,295ï¼
ç°å¨æä¸ä¸ªæ£å¥½å
å«40亿个æ ç¬¦å·æ´æ°çæä»¶ï¼
æä»¥å¨æ´ä¸ªèå´ä¸å¿
ç¶å卿²¡åºç°è¿çæ°ã
1ãå¯ä»¥ä½¿ç¨æå¤1GBçå
åï¼æä¹æ¾å°æææªåºç°è¿çæ°ï¼
ãè¿é¶ã
2ãå
åéå¶ä¸º 10MBï¼ä½æ¯åªç¨æ¾å°ä¸ä¸ªæ²¡åºç°è¿çæ°å³å¯
3ãå
åéå¶ä¸º 3Kï¼ä½æ¯åªç¨æ¾å°ä¸ä¸ªæ²¡åºç°è¿çæ°å³å¯
4ãå
åéå¶ä¸ºå 个åéï¼ä½æ¯åªç¨æ¾å°ä¸ä¸ªæ²¡åºç°è¿çæ°å³å¯
> 妿ç¨HashMapæ¥åææçkeyï¼æ¯ä¸ªæ ç¬¦å·æ´æ°æ¯4个åèï¼40亿个æ°ï¼å¤§çº¦160亿åèï¼10亿åè大约1G, 大约éè¦16个Gå
åæè½åä¸
- 第ä¸é®é¢è§£ å©ç¨ä½å¾
妿éå¶1GBï¼é£ä¹å¯ä»¥ä½¿ç¨ä½å¾ï¼0å°2ç32次æ¹å1èå´çæ ç¬¦å·æ°ï¼åªéè¦2ç32次æ¹ä¸ªbitæ¥åè®°å½ãHash表éè¦4个åèæè½è¡¨ç¤ºä¸ä¸ªæ°åºç°è¿è¿æ¯æ²¡åºç°è¿ï¼Bitæ¥ä»£è¡¨ä¸ä¸ªæ°åºç°è¿è¿æ¯æ²¡åºç°è¿ï¼ç©ºé´ä¸ç¼©å°äº32åãåæ¬ä½¿ç¨Hashéè¦ç16G空é´ï¼ç°å¨ç¼©å°32åï¼å¤§çº¦500Må¯ä»¥æ¿ä¸==对åºç¬¬äºç¹==
- 第äºé®å第ä¸é®é¢è§£ å©ç¨å段ç»è®¡
å½éå¶10M,æè
3K,é£ä¹ä½å¾ä¹å¤±æäºãä½å¾è§£å³è¯¥é®é¢å¤§çº¦500Mã
æ¿3K举ä¾ï¼3KBï¼åèï¼å¦æé½åææ´å½¢æ°ç»ççè¯ï¼3KBé¤ä»¥4çäº750个容éï¼
æ¥çæä»¬æ¾å°ç¦»750æè¿ç2çææ¬¡æ¹ï¼æ¾å°512ãé£ä¹æä»¬ææä»¬çæ°ç»ç³è¯·512é¿åº¦ï¼ä¸å®ä¸ä¼è¶
è¿3KBï¼
æ ¹æ®ç»å®çèå´ï¼æä»¬çæ°æ®å¤§æ¦æ2ç32次æ¹ä¸ªæ°åï¼ä¸2ç32次æ¹ï¼ä¸å®è½å¤è¢«512ååï¼åå为8388608份ï¼512个ä½ç½®ç0ä½ç½®ç»è®¡0å°8388608èå´ä¸åºç°äºå 次ï¼1ä½ç½®ç»è®¡8388609å°8388608*2èå´ä¸çæ°åºç°äºå 次ï¼ä¾æ¬¡ç±»æ¨ï¼æ¯ç»è®¡ä¸ä¸ªæ°ï¼è®©è¯¥æ°é¤ä»¥8388608å¾å°å±äº512个ä½ç½®çåªä¸ªä½ç½®ï¼è¯¥ä½ç½®ç»è®¡çæ°å 1ï¼
ç»è¿ç»è®¡ï¼512个ä½ç½®ï¼è³å°æä¸ä¸ªä½ç½®ç»è®¡ç个æ°ï¼ä¸å¤8388608ä¸ªï¼æ¾å°è¯¥ä½ç½®ä»£è¡¨çæ°æ®èå´ã该èå´å¤§å°åé¤ä»¥512ï¼å¾å°æ°ç512个æ°ç»è®¡çæ°èå´ï¼å¾ªç¯å¾å¤ï¼é£ä¹ä¸å®è½å¤æ¾å°ä¸ä¸ªæ°æ²¡åºç°è¿
- 第åé®é¢è§£
ä¸ä¸ªåéæ¾æ²¡åºç°è¿çä¸ä¸ªæ°ï¼è¿ç¨äºåæ¥æ¾ãç¬¬ä¸æ¬¡äºåï¼å¦æ2ç32次æ¹çæ°é½æï¼é£ä¹å·¦å³ä¸¤è¾¹é½æ¯2ç31次æ¹ãç±äºåªæ40亿个æ°ï¼é£ä¹å·¦å³ä¸¤ä¾§å¿
宿䏿»¡2ç31次æ¹ä¸ªãæ¥çäºå䏿»¡çé£ä¸ª
1.7.2 é¢ç®2ï¼ä½å¾ï¼
32使 ç¬¦å·æ´æ°çèå´æ¯0~4294967295ï¼ç°å¨æ40亿个æ ç¬¦å·æ´æ°ï¼å¯ä»¥ä½¿ç¨æå¤1GBçå
åï¼æ¾åºææåºç°äºä¸¤æ¬¡çæ°ã
åèé¢ç®1ï¼ä¹éç¨ä½å¾çææ³ï¼ä½¿ç¨ä½å¾ä¸ç䏤使¥è¡¨ç¤ºä¸ä¸ªæ°ææ²¡æåºç°è¿ï¼ä¸åºç°äºå 次ãå½ä¸¤ä½çç¶æå为11ï¼é£ä¹ç»´æä½ãæåç»è®¡10çç¶æ