प्रोजेक्ट वलहल्ला JDK 28 में आएगा: 10 साल का काम

मूल शीर्षक: Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28

यह क्यों महत्वपूर्ण है

यह Java के मूल आर्किटेक्चर में दशकों का सुधार है, जो enterprise applications की performance में महत्वपूर्ण प्रभाव डाल सकता है।

Oracle इंजीनियर लोइस फोल्टन ने 15 जून को पुष्टि की कि प्रोजेक्ट वलहल्ला का JEP 401 (Value Classes and Objects) OpenJDK में एकीकृत होगा और JDK 28 को लक्षित कर रहा है। यह 197,000 लाइनें कोड 1,816 फाइलों में जोड़ता है, लेकिन प्रारंभिक चरण के रूप में आएगा।

प्रोजेक्ट वलहल्ला का मूल उद्देश्य 'classes की तरह कोड लिखें, int की तरह काम करे' यह सुनिश्चित करना है। Java में (आठ primitives को छोड़कर) सब कुछ reference type है। जब आप 'Point p = new Point(1, 2)' लिखते हैं, तो p एक pointer है जो heap पर वास्तविक object को इंगित करता है। इससे बड़े स्तर पर समस्या आती है क्योंकि प्रत्येक object के लिए अलग memory allocation और garbage collection की आवश्यकता होती है, जिससे 'fluffy' memory layout बनता है।

Valhalla का लक्ष्य primitives की तरह dense layout प्राप्त करना है। आधुनिक hardware में CPU मुख्य memory से 100 गुना तेज है, और cache का महत्व बहुत बढ़ गया है। यदि data densely और क्रम में रखा जाए तो cache efficiency में सुधार होता है।

यह Pull Request इतना बड़ा है कि OpenJDK committers को अन्य बड़े commits को रोकने के लिए कहा गया। Brian Goetz ने स्पष्ट किया कि यह केवल Valhalla का पहला चरण है, और यह preview के रूप में, डिफ़ॉल्ट रूप से disabled होगा। समुदाय में सालों से एक मजाक चल रहा है कि यह feature पूरा होने से पहले लोग वास्तविक Valhalla (Norse afterlife) में पहुँच जाएँगे।

स्रोत

jvm-weekly.com — मूल लेख पढ़ें →