स्रोत कोड पाया जा सकता है here
इस स्रोत() getClass के कार्यान्वयन विधि शामिल (लाइन 58 देखें)। हैशकोड को फ़ंक्शन पॉइंटर JVM_IHashCode के रूप में परिभाषित किया गया है (लाइन 43 देखें)।
JVM_IHashCode jvm.cpp में परिभाषित किया गया है। लाइन 504 से शुरू कोड देखें। यह बदले में ऑब्जेक्ट सिंक्रनाइज़र :: FastHashCode को कॉल करता है जिसे synchronizer.cpp में परिभाषित किया गया है। लाइन 576 पर फास्टहाशकोड के कार्यान्वयन और लाइन 530 पर get_next_hash देखें।
शायद, विधियों प्रदर्शन के लिए मूल हैं और व्यावहारिक मुद्दों w.r.t कार्यान्वयन के कारण हैं।
उदाहरण के लिए, जावाडॉक्स से, हैशकोड आमतौर पर "वस्तु के आंतरिक पते को पूर्णांक में परिवर्तित करके" लागू किया जाता है। यह आंतरिक पता जावा एसडीके के माध्यम से उपलब्ध नहीं है और इसे मूल विधि के रूप में लागू किया जाना होगा।
कृपया Is it possible to find the source for a Java native method? पढ़ें। इस ब्लॉग पोस्ट Object.hashCode implementation को भी पढ़ें। यह अधिक जानकारी देता है। लेकिन गलत धारणा है कि हैशकोड वस्तु की पहचान से उत्पन्न नहीं होता है।
उम्मीद है कि यह मदद करता है।
डुप्लिकेट नहीं - ओपी जानता है कि मूल क्या है, लेकिन यह जानना चाहता है कि इन दो तरीकों से विशेष रूप से क्या हैं। – Alnitak
हैशकोड() मूल है क्योंकि जिस तरीके से डेटा संग्रहीत किया जाता है, वह असीमित ऑपरेटिंग सिस्टम पर भिन्न हो सकता है। मुझे यकीन नहीं है कि getClass() हालांकि क्यों है; संभवतः बहुरूपता के विभिन्न कार्यान्वयन के कारण। – Vulcan
@ वल्कन getClass() अंतिम है इसलिए आप इसे ओवरराइड नहीं कर सकते हैं और टाइप सिस्टम को तोड़ सकते हैं। – EJP