यह मूल कोड में लागू किया गया है। कार्यान्वयन के लिए, यह थोड़ा और मुश्किल है - आप डिफ़ॉल्ट कार्यान्वयन को बदल सकते हैं। यदि आप "ओपन जेडीके" स्रोतों को देखते हैं तो आपको निम्न विकल्प दिखाई देंगे:
-XX: हैशकोड = एन (0 से 5 तक)।
- 0 - पार्क मिलर RNG (डिफ़ॉल्ट)
- 1 - स्थिरांक 1
- 3 - - sequenatial काउंटर
- 4 - पता है और कुछ वैश्विक राज्य
- 2 के समारोह का पता एक वस्तु
- 5 - थ्रेड विशिष्ट XOR-शिफ्ट
आप यहां एक विस्तृत इम्प्लेमेनेटेशन पा सकते हैं: http://hg.openjdk.java.net/jdk7/jdk7/hotspot/file/tip/src/share/vm/runtime/synchronizer.cpp
static inline intptr_t get_next_hash()
फ़ंक्शन के स्रोत कोड और टिप्पणियों पर विचार करें।
स्रोत
2013-01-25 12:32:27
जो लोग इस प्रश्न को कम करना चाहते हैं, कृपया उत्तर साझा करने की देखभाल करें। धन्यवाद –