2010-01-09 7 views
6

मैंने "जावा एसई 6 मंच सीखना" किताब खरीदी है। मुझे आश्चर्य है कि शब्द मंच वास्तव में क्या मतलब है। कारण यह सिर्फ कक्षाओं का एक समूह नहीं है जिसका मैं उपयोग कर सकता हूं। लाइब्रेरीज़ के तहत नेटबीन्स में जेडीके 1.6 नोड।शब्द प्लेटफ़ॉर्म और एपीआई का क्या अर्थ है?

और एपीआई क्या है? मंच के समान ही नहीं है। लेकिन लाइब्रेरी का मतलब वही बात नहीं है ... कुछ सुपरक्लास के साथ कक्षाओं का गुच्छा और इतने पर?

+0

प्लेटफार्म या तो हार्डवेयर आर्किटेक्चर या इस मामले में, एक सॉफ्टवेयर वातावरण का संदर्भ ले सकता है। विवरण के लिए कोबर्ड का जवाब देखें। –

उत्तर

6

शब्द "प्लेटफ़ॉर्म" का उपयोग सॉफ़्टवेयर, सेवाओं और संसाधनों के किसी भी संग्रह को इंगित करने के लिए किया जाता है, जो एक विशिष्ट संदर्भ में दिया जाता है, इसलिए उन्हें एप्लिकेशन सॉफ़्टवेयर के लिए बिल्डिंग ब्लॉक के रूप में उपयोग किया जा सकता है (या उच्च स्तर का निर्माण करने के लिए उस पर प्लेटफ़ॉर्म - किसी अन्य संदर्भ में प्लेटफ़ॉर्म माना जाता है)

API एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस के लिए एक संक्षिप्त शब्द है। इसका आमतौर पर कॉलिंग कन्वेंशन (फ़ंक्शन हस्ताक्षर और जैसे) का संग्रह होता है जिसका उपयोग किसी लाइब्रेरी या प्लेटफ़ॉर्म के अंदर रहने वाली कार्यक्षमता के लिए किसी एप्लिकेशन (प्रोग्राम जिसे आप लिख रहे हैं) द्वारा उपयोग किया जा सकता है।

एक एपीआई लाइब्रेरी के समान नहीं है - शब्द इंटरफेस बताता है कि यह केवल निर्दिष्ट करता है कि आप क्या कॉल कर सकते हैं, और यह कैसे व्यवहार करता है। इंटरफ़ेस लागू करने वाली वास्तविक लाइब्रेरी स्वयं के लिए तय कर सकती है कि यह निर्दिष्ट कार्यक्षमता कैसे प्रदान करता है।

एपीआई का एक अच्छा उदाहरण उदाहरण के लिए जेडीबीसी एपीआई है - यह जावा कार्यक्रमों के डेटाबेस के साथ संवाद करने का मानक तरीका है। प्रत्येक डेटाबेस विक्रेता के पास डेटाबेस से कनेक्ट करने के लिए अपना प्रोटोकॉल होता है, बाध्यकारी चर और डेटाबेस कमांड के लिए, लेकिन जेडीबीसी एपीआई उन सभी को सारणीबद्ध करता है और एक सामान्य जमीन को परिभाषित करता है जो सभी जावा प्रोग्रामों को बात करने के लिए कार्यों के एक ही सेट का उपयोग करने की अनुमति देता है - आदर्श - कोई डेटाबेस। यह वास्तव में एक ड्राइवर प्रदान करने के लिए डेटाबेस विक्रेता का काम है, यानी एपीआई के अनुसार एक लाइब्रेरी को कार्यान्वित करना है और जानता है कि यह उस विशेष डेटाबेस सिस्टम के लिए अपने कार्यों को कैसे पूरा कर सकता है। इसलिए इस मामले में आपके पास कई ड्राइवर पुस्तकालय हैं (प्रत्येक विक्रेता का अपना, कभी-कभी एकाधिक होता है) लेकिन वे सभी एपीआई द्वारा निर्दिष्ट कार्यों, कक्षाओं आदि के उसी सेट के माध्यम से अपनी कार्यक्षमता प्रदान करते हैं (इस मामले में, जेडीबीसी एपीआई - देखें http://java.sun.com/j2se/1.5.0/docs/api/java/sql/package-summary.html

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

+0

अच्छा जवाब, यह स्पष्ट करता है कि मंच और एपीआई द्वारा क्या मतलब है .... आपने अपना समय बचाया .... :) –

1

एपीआई - एक एप्लीकेशन प्रोग्रामिंग इंटरफेस है - यह उपयोग के लिए कक्षाओं का एक सेट है।
प्लेटफार्म एक संपूर्ण बंडल है - रनटाइम के साथ एपीआई और कंपाइलर, ect जैसे अतिरिक्त अनुप्रयोग।

6

जावा मंच में निम्नलिखित शामिल हैं (लगभग):

  1. जावा प्रोग्रामिंग भाषा
  2. जावा एपीआई
  3. जावा वर्चुअल मशीन

वहाँ एक काफी का एक सा Wikipedia article on Java (software platform) में विवरण।

API, या एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस, अकेले जावा प्लेटफार्म के साथ आने वाले वर्ग प्रदान करता है। उदाहरण के लिए, जब कोई "जावा एपीआई" कहता है, तो संभवतः कक्षा पुस्तकालयों का जिक्र होगा जो Java SE मंच के साथ आते हैं। The Java Language Specification

  • जावा SE एपीआई - - Java Platform, Standard Edition 6 API Specification
    • जावा प्रोग्रामिंग भाषा:

      बस लिंक प्रदान की खातिर

      , यहाँ जावा मंच के प्रत्येक भाग के लिए आधिकारिक दस्तावेज हैं जावा वर्चुअल मशीन - The Java Virtual Machine Specification

  • +0

    जेवीएम क्या करता है जेआरई और जेडीके के संबंध में? – ajsie

    +2

    जेवीएम जावा अनुप्रयोग चलाता है। जेआरई जावा अनुप्रयोगों को चलाने के लिए जेवीएम प्रदान करता है, जबकि जेडीके में एक कंपाइलर है जो जावा अनुप्रयोगों को संकलित करने के लिए जेवीएम को लक्षित करता है। – coobird

    +0

    संक्षिप्त उत्तर और बिंदु पर। नीचे दिया गया लिंक जावा के लिए मौजूद विभिन्न एपीआई बताता है। मुझे यकीन नहीं है कि फ्रेमवर्क का विचार तस्वीर में फिट बैठता है। http://en.wikipedia.org/wiki/List_of_Java_APIs –

    0

    हाँ प्लेटफ़ॉर्म एक सामान्य शब्द से अधिक है जिसका अर्थ भिन्न रूप से भिन्न हो सकता है प्रवेश संदर्भ एक्सबॉक्स जैसे गेमिंग प्लेटफ़ॉर्म के बारे में सोचें। इस मामले में माइक्रोसॉफ्ट डेवलपर्स के लिए गेम बनाने के लिए "मंच" प्रदान करता है, और लोगों के लिए गेम खेलने के लिए।

    जे 2 ईई (एंटरप्राइज़ जावा) के मामले में, मेरे लिए टर्मफॉर्म शब्द का मतलब डेवलपर्स के लिए उद्यम अनुप्रयोगों का निर्माण करना है। जैसा कि आपने बताया है, कक्षाओं के एक समूह से अधिक है। उदाहरण के लिए जेपीए (दृढ़ता के लिए), ईजेबी इत्यादि जैसे बहुत से विनिर्देश हैं। इन मामलों में जावा डेवलपर्स ने अन्य विक्रेताओं को लागू करने के लिए एक विनिर्देश दिया है। मैं मंच के आधार पर मंच के बारे में सोचता हूं जो विभिन्न प्रकार की सेवाएं प्रदान करता है जिस पर कुछ और निर्माण करना है।

    एक एपीआई एक अधिक तकनीकी एक सटीक शब्द है। यह एप्लिकेशन प्रोग्रामिंग इंटरफेस के लिए खड़ा है। एक एपीआई इंटरफ़ेस है जिसे हम अन्य लोगों के सॉफ़्टवेयर का उपयोग करते समय डेवलपर उपयोग करते हैं। जावा स्ट्रिंग क्लास के बारे में सोचें। इसकी लंबाई() विधि है। सभी जेव डेवलपर्स जानते हैं कि यह विधि स्ट्रिंग क्लास के लिए मौजूद है, और यह जावा एपीआई का हिस्सा है।