में बिट वार शिफ्ट ऑपरेटर का उपयोग करें क्योंकि मैं ConcurrentHashMap स्रोत कोड के माध्यम से जा रहा था, मुझे बहुत कम बुद्धिमान शिफ्ट ऑपरेटर का सामना करना पड़ा है। कुछ स्थिरांक बनाने के लिए लागू होते हैं और कुछ चर पर होते हैं।ConcurrentHashMap
static final int MAXIMUM_CAPACITY = 1 << 30;
static final int MAX_SEGMENTS = 1 << 16; // slightly conservative
long u = (((h >>> segmentShift) & segmentMask) << SSHIFT) + SBASE;
मैं समझने के लिए, अगर MAXIMUM_CAPACITY की तरह निरंतर सीधे तो बिटवाइज़ पारी ऑपरेटर का उपयोग करने का इस्तेमाल होता है क्या घोषित किया जा सकता पा रहा हूँ।
मुझे लगता है कि डेवलपर्स के पास दशमलव के बजाय बाइनरी में सोचते समय उन मूल्यों को परिभाषित करने में आसान समय था। '1 << 30' का बाइनरी प्रतिनिधित्व' 100000000000000000000000000000000' है, जो एक तरह से, दशमलव '1073741824' से" सरल "दिखता है। – Mena