2010-02-10 7 views
36

अगर मैं सन जेडीके से ओपनजेडीके में स्विच करता हूं तो मुझे आश्चर्य की बात है कि मुझे खुद को तैयार करना है?अगर मैं सूर्य जेडीके से ओपनजेडीके में स्विच करता हूं तो मुझे खुद को तैयार करना होगा?

अक्सर गलत क्या होता है और यह कितना मुश्किल हो सकता है?

बेशक, प्रत्येक एप्लिकेशन में इसकी व्यक्तिगत समस्याएं हो सकती हैं, लेकिन मैं कक्षा समस्याओं की तलाश कर रहा हूं, जेडीके स्विच करते समय बहुत से लोगों ने पहले से ही संघर्ष किया है।

+0

यदि आप उनके लिए तैयार कर सकते हैं तो वे आश्चर्य नहीं हैं ;-) –

+1

एक और गंभीर नोट पर: यदि आप हमें बताते हैं कि आपका आवेदन क्या करता है, तो आपको शायद अधिक केंद्रित उत्तर मिलेंगे। –

+1

यदि आप बुरी तरह से काम करते हैं तो आप JVM कोड को संशोधित करने में सक्षम होंगे। क्या यह आश्चर्यजनक नहीं है? –

उत्तर

11

यह असंभव है कि OpenJDK के साथ कुछ भी गलत हो जाएगा। इसे अब तक 100% संगत माना जाता है। लेकिन मुझे लगता है कि यह जानना अच्छा है कि किन हिस्सों को फिर से लिखा जाना था और इसलिए सूर्यजेडीके के समान कोड का उपयोग नहीं कर रहे हैं।

Wikipedia entry इस का एक अच्छा सिंहावलोकन है:

मई 2008 के रूप में, कक्षा पुस्तकालय कि OpenJDK 7 के लिए मई 2007 के रूप में स्वामित्व और बंद स्रोत (4% बनी हुई है का ही हिस्सा है, और मई 2008 तक 1% से कम और ओपनजेडीके 6) एसएनएमपी कार्यान्वयन है।

पहले मई 2007 रिलीज़, सन माइक्रोसिस्टम्स, समुदाय की मदद से बाद से, स्वतंत्र और खुला स्रोत सॉफ्टवेयर के रूप में जारी या स्वतंत्र और खुला स्रोत विकल्प लगभग सभी भारग्रस्त कोड के साथ बदल दिया गया है:

  • सॉफ़्टवेयर सिंथेसाइज़र सहित सभी ऑडियो इंजन कोड को ओपन-सोर्स के रूप में रिलीज़ किया गया है। बंद स्रोत सॉफ्टवेयर सिंथेसाइज़र Gervill बुलाया OpenJDK के लिए विशेष रूप से विकसित एक नए सिंथेसाइज़र ने ले लिया है,

  • कक्षा पुस्तकालय ओपन-सोर्स के रूप में जारी किया गया है में प्रयोग किया जाता

  • सभी क्रिप्टोग्राफी कक्षाएं, कोड है कि मापता है और rasterizes फ़ॉन्ट्स को फ्रीटाइप

  • द्वारा बदल दिया गया है मूल रंग प्रबंधन प्रणाली को LittleCMS द्वारा प्रतिस्थापित किया गया है। जेडीके में एक प्लग करने योग्य परत है, ताकि वाणिज्यिक संस्करण पुराने रंग प्रबंधन प्रणाली का उपयोग कर सके और ओपनजेडीके लिटिलसीएमएस का उपयोग कर सके।

  • एंटी-एलियासिंग ग्राफिक्स रास्टराइज़र कोड को फोनएमई प्रोजेक्ट में उपयोग किए जाने वाले ओपन-सोर्स किए गए मीन रेंडरर द्वारा प्रतिस्थापित किया गया है। यह कोड पूरी तरह कार्यात्मक है, लेकिन अभी भी कुछ प्रदर्शन संवर्द्धन की आवश्यकता है,

  • जावास्क्रिप्ट प्लगइन को खुले-सोर्स किया गया है (राइनो जावास्क्रिप्ट इंजन स्वयं ही शुरुआत से खुलासा हुआ था)।

+2

ओपनजेडीके 100% संगत नहीं है। जावा साउंड का कार्यान्वयन IcedTea से आता है और यह सूर्य की तुलना में अलग व्यवहार करता है। उदाहरण के लिए, यदि आप एक बंद लाइन पर लिखने का प्रयास करते हैं, तो यह एक अपवाद फेंकता है, जो लगभग सभी मौजूदा जावा साउंड कोड काम करता है (उदाहरण के लिए, JavaZOOM, jsresources.org)। फ़ॉन्ट प्रतिपादन कठिनाइयों के साथ भी मैं इसे "केवल" 98% संगत कहूंगा। –

2

चूंकि ओपनजेडीके मूल जावा स्रोत के आधार पर एक सन प्रोजेक्ट है, इसलिए मुझे कई समस्याओं की उम्मीद नहीं होगी। एकमात्र ऐसा क्षेत्र जहां चीजें तोड़ सकती हैं वह कोड है जिसे प्रतिस्थापित करना था (क्योंकि इसे जीपीएल के तहत जारी नहीं किया जा सका) या नई सुविधाओं के कारण परिवर्तन (लेकिन उन आधिकारिक जेडीके में उतना ही होना चाहिए)।

+1

"एकमात्र ऐसा क्षेत्र जहां चीजें तोड़ सकती हैं वह कोड है जिसे प्रतिस्थापित करना था" - क्या आपको पता होना चाहिए कि वे क्षेत्र क्या थे? – Paolo

3

मुझे पता है के रूप में फोंट विकृत दिखाई देगा, सूर्य एक OpenJDK निर्माण

+0

हां, जब हम माइग्रेट हुए तो यह हमारा सबसे बड़ा मुद्दा था। –

+0

कुछ परीक्षणों के बाद, यह ओपनजेडीके के साथ सामना करने वाला एकमात्र मुद्दा था। जैस्पर रीपॉर्ट्स लगभग अनुपयोगी था। अधिकांश लिनक्स distros में शामिल के रूप में –

1

उपयोग OpenJDK से मूल लोगों को दूर करने के लिए, क्योंकि वे नहीं 'खुला स्रोत' कर रहे हैं और JVM कुछ डिफ़ॉल्ट जो बहुत अच्छा नहीं कर रहे हैं का उपयोग करेगा ... था आश्चर्य को कम करने के लिए टीकेसी पास करने के लिए जाना जाता है।

1

की स्विंग यूआई का पूरी तरह से मेल नहीं खाती (धातु paddings कि दूर रहे थे सिर्फ aenough सूचना के लिए किया था) कुछ। ध्यान दें कि यह 8 महीने पहले था।

1

लिनक्स के तहत ओपनजेडीके (आईसीएसटीए) एप्लेट्स प्रमुख दर्द हैं। मैं पहले से ही कुछ घंटों के लिए रस्टी कोड के टुकड़े रिमोट डीबगिंग के साथ संघर्ष कर रहा हूं। Official documentation ब्राउज़र में एपलेट से कैसे जुड़ा हुआ है, यह सिर्फ मेरे लिए काम नहीं करता है। डिफ़ॉल्ट रूप से बीटीडब्लू द्वारा कोई जावा कंसोल नहीं है। मैं ब्राउज़र-होस्ट किए गए JVM को डीबग करने का प्रयास करने के बजाय एप्लेट कॉन्फ़िगरेशन को प्रतिलिपि बनाने और JDK अंतर्निहित एप्लेट व्यूअर का उपयोग करने पर गंभीरता से विचार कर रहा हूं।

UPD: मुझे पूरा यकीन नहीं है कि ओपनजेडीके के पास ब्राउज़र प्लगइन नहीं है। शायद यह हाल ही में बदल गया।

+0

जोसेफ डार्सी ने 200 9 में ब्लॉग किया था कि ब्राउज़र प्लगइन खुले-सोर्स (https://blogs.oracle.com/darcy/entry/openjdk_and_the_new_plugin) प्राप्त करेगा, लेकिन यह कभी नहीं था, और जुलाई 2010 में उसने मुझे बताया कि वहां नहीं था जब यह होगा रोडमैप। – damjan

-1

ओपनजेडीके IcedTea की वजह से ओरेकल बाइनरी से अधिक सुरक्षित है।

संबंधित मुद्दे

 संबंधित मुद्दे