Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Mac पर Oracle के Java को समझना

Oracle का JVM केवल एक स्थान पर स्थापित है। आपको गुमराह किया गया है!

जैसा कि आपने नोट किया है, जावा /usr/bin . में कमांड करता है /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands में बायनेरिज़ के लिए सिम्लिंक हैं . उस निर्देशिका के भीतर बायनेरिज़ स्टब अनुप्रयोग हैं जो यह निर्धारित करते हैं कि किस जावा वीएम का उपयोग करना है*, और फिर उस वीएम संस्करण के भीतर संबंधित वास्तविक बाइनरी को निष्पादित करें। यही कारण है कि /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands के भीतर सभी बायनेरिज़ आकार में लगभग समान हैं, इस तथ्य के बावजूद कि आप उनसे काफी भिन्न कार्यक्षमता को लागू करने की अपेक्षा करेंगे।

आप dtrace . का उपयोग करके इसे क्रिया में देख सकते हैं :

[email protected]:~$ sudo dtrace -n 'syscall::posix_spawn:entry { trace(copyinstr(arg1)); }' -c "/usr/bin/java -version"
dtrace: description 'syscall::posix_spawn:entry ' matched 1 probe
dtrace: pid 44727 has exited
CPU     ID                    FUNCTION:NAME
  8    619                posix_spawn:entry   /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java

दिया गया dtrace मंगलाचरण पथ तर्क को posix_spawn . पर प्रिंट करता है जब इसे java -version . द्वारा बुलाया जाता है . मेरे मामले में स्टब एप्लिकेशन को /System/Library/Java/JavaVirtualMachines/1.6.0.jdk में Apple का Java 1.6 रनटाइम मिला है। और java . के उस संस्करण को लागू कर रहा है आदेश।

स्टब बायनेरिज़ का एक और लाभ भी है:जब उन्हें पता चलता है कि कोई जावा वीएम स्थापित नहीं है, तो वे उपयोगकर्ता को एक स्थापित करने के लिए संकेत देंगे।

जहां तक ​​CurrentJDK का सवाल है सिम्लिंक, जैसा कि मैं इसे अतीत के साथ पिछली संगतता के लिए बता सकता हूं जब ऐप्पल ओएस एक्स पर जेवीएम का एकमात्र स्रोत था।

* यह निर्धारित करते समय कारकों के संयोजन पर विचार किया जाता है कि किस जावा वीएम का उपयोग किया जाना चाहिए। JAVA_HOME सेट होने पर उपयोग किया जाता है (कोशिश करें JAVA_HOME=/tmp java ) अगर JAVA_HOME सेट नहीं है तो सिस्टम पर सभी वर्चुअल मशीनों की सूची की खोज की जाती है। JAVA_VERSION और JAVA_ARCH वर्चुअल मशीन की सूची को किसी विशेष संस्करण और समर्थित आर्किटेक्चर में फ़िल्टर करने के लिए, यदि सेट किया गया है, तो पर्यावरण चर का उपयोग किया जाता है। परिणामी सूची को तब आर्किटेक्चर (32-बिट से अधिक 64-बिट पसंद करते हुए) और संस्करण (नया बेहतर है) द्वारा क्रमबद्ध किया जाता है, और सबसे अच्छा मैच वापस कर दिया जाता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL कथन में अल्पविराम द्वारा अलग किए गए मानों की सूची बनाना

  2. Oracle में RTRIM () फ़ंक्शन

  3. ओरेकल पीएलएसक्यूएल साक्षात्कार प्रश्न

  4. Oracle नल और खाली तार के बीच अंतर नहीं कर रहा है?

  5. Oracle में फ्लैशबैक का प्रयोग