जावा 1.0 के "कोर" एपीआई पैकेज क्या थे?


38

Google v ओरेकल केस के बारे में पढ़ते हुए, मैं इन सवालों के सामने आया (जाहिरा तौर पर पीठासीन न्यायाधीश से)

...
क्या यह सहमत है कि निम्न सत्य है, कम से कम 1996 तक?

निम्नलिखित मुख्य जावा अनुप्रयोग प्रोग्रामिंग इंटरफ़ेस थे: java.lang, java.util और java.io.

क्या जावा प्रोग्रामिंग भाषा उपरोक्त तीनों के बाहर किसी विधि, वर्ग या पैकेज का संदर्भ देती है या इसकी आवश्यकता है?
...

स्रोत: ग्रोकला

स्पष्ट रूप से बहुत सारे कानूनी अड़चनें हैं, Google और Oracle शायद कुछ बिंदुओं पर असहमत हैं, और मुझे परवाह नहीं है । वकीलों के लिए कानून छोड़ो।

हालाँकि, मुझे संदेह है कि यहाँ इतिहास का एक दिलचस्प हिस्सा है।

जावा के संस्करण 1.0 में, (कोई है जो पहले किसी भी जावा संस्करण 1.3 में 2001 के आसपास कोडिंग किया था) कुछ भी आवश्यक मेरा प्रश्न है था के बाहर java.lang, java.utilऔर java.ioएक वैध जावा प्रोग्राम संकलन के लिए?

एक उदाहरण के रूप में (C # 5.0 का उपयोग करके), awaitकीवर्ड (अन्य चीजों के बीच) पर निर्भर है । संकलक उस वर्ग के बिना कल्पना करने के लिए कार्य नहीं कर सकता।Task<T> GetAwaiter()

समान रूप से, क्या कोई कोर रनटाइम फीचर्स थे (जैसे कि क्लासलॉडर *) जो अन्य पैकेजों पर निर्भर थे?

मैं मानता हूं कि मैं जिज्ञासा से बाहर पूछता हूं, वास्तव में न्यूनतम व्यवहार्य जावा (भाषा, इसके चारों ओर सभी कानूनी बिट्स की अनदेखी) के लिए क्या आवश्यक है, दिलचस्प है।

* मैं यह मान रहा हूं कि Java 1.0 में ClassLoader भी एक विशेषता थी, यह 7.0 में कल्पना का हिस्सा है और संभवतः पहले के कई संस्करणों में।


3
उन दिनों में जब जावा एक सरल भाषा थी ...
जेन्स स्काउडर

7
उन दिनों में जब जावा
सारा चीप्स

2
FYI करें, awaitकीवर्ड निर्भर नहीं करता है Task<T>Taskवर्ग सिर्फ बातें को पूरा करने के ऐसा होता awaitकीवर्ड करता पर (एक विधि कहा जाता है निर्भर GetAwaiter()आदि)।
मैट हैमिल्टन

2
@Matt - सही किया गया है, yieldIEnumerator या कुछ के साथ जाना चाहिए था; बस के लिए बहुत उत्साहित हैं await
केविन Montrose

तो आप मूल रूप से जानना चाहते हैं कि कौन सी कक्षाएं java.lang.Object वास्तव में JDK 1, सही पर निर्भर करती हैं?
स्कारफ्रिज

जवाबों:


55

विकिपीडिया के अनुसार , 23 जनवरी 1996 को जावा का पहला औपचारिक रूप से जारी किया गया संस्करण 1.0.2 था।

पहला स्थिर संस्करण JDK 1.0.2 था। जावा 1 कहा जाता है

जावा 1.0.2 का एक संग्रह और यहां सभी संबंधित दस्तावेज हैं :

  • JDK 1.0.2 एपीआई संदर्भ (पुस्तक प्रारूप)
  • JDK 1.0.2 एपीआई संदर्भ (javadoc प्रारूप)
  • जावा ट्यूटोरियल
  • जावा लैंग्वेज स्पेसिफिकेशन (लिंक टूटा हुआ है, यहां पर वापसी होगी )
  • जावा वर्चुअल मशीन विनिर्देश

वहाँ प्रकट होता है यहाँ JDK 1.0.2 के टुकडों से डाउनलोड होने के लिए

http://www.pascal-man.com/download/download-jdk.shtml

लेखन के समय यह मेरे लिए काम करता है।

विंडोज 7 x64 पर जावा 1.0.2

राव की 1.0.2.2 की अनधिकृत शक्ति का उपयोग करें


भाषा युक्ति में, निम्नलिखित वर्गों को संदर्भित किया जाता है (एकल उद्धरण, संपूर्ण उद्धरण नहीं):

  • कक्षा (खंड 4.3.1)
  • स्ट्रिंग (खंड 4.3.1)
  • ऑब्जेक्ट (खंड 4.3.2)
  • रैंडम (खंड 4.4)
  • धागा (धारा 17.2)
  • थ्रेडग्रुप (धारा 17.2)
  • फेंकने योग्य (धारा 11)
  • त्रुटि (अनुभाग 11.2)
  • लोड और त्रुटियों के भार, सभी java.lang के तहत (धारा 11.5.2.1 - 11.5.2.2)
  • रनटाइम एक्ससेप्शन (सेक्शन 11.2.1)
  • "एरे कक्षाएं" [I, और इसी तरह (धारा 10.8 )

... जिस बिंदु पर मैं देख रहा था क्योंकि, तकनीकी रूप से [I, एट। अल। में नहीं हैं java.lang, java.utilया java.ioसंकुल।

उदाहरण:

class Test {
  // Compare namespaces of built-ins object and int[]
  public static void main(String[] args){
    int[] arr = new int[0];
    Object obj = new Object();

    Class arrClass = arr.getClass();
    Class objClass = obj.getClass();

    Class arrSuper = arrClass.getSuperclass();

    System.out.println("plain jane Object - " + objClass.getName());
    System.out.println();
    System.out.println("int[] - "+arrClass.getName());
    System.out.println("super of int[] - "+arrSuper.getName());
  }
}

आउटपुट

यहाँ छवि विवरण दर्ज करें

व्यवहार आधुनिक और 1.0.2 के बीच सुसंगत है

यहाँ छवि विवरण दर्ज करें


गोल्ड Google-फू फिर से।
केविन Montrose


@YannisRizos आप और मैं दोनों। यह मेरा पहला वेब ब्राउज़र था।
वर्ल्ड इंजीनियर

@WorldEngineer: मैं आपको मोज़ेक देता हूं ।
sbi


2

मूल JDK में एक दर्जन से कम पैकेज थे - ये प्लस एप्लेट, awt, awt.peer। यह हो सकता है! यह पूरी तरह से संभावना है - 99% निश्चित है - इन तीन पैकेजों में वे सभी वर्ग शामिल हैं जो स्पष्ट रूप से कोर जेवीएम के लिए ही जाने जाते थे, और यह कि इन पैकेजों के बाहर कोई भी भाषा भाषा में उल्लिखित कक्षाएं नहीं थीं।


1

java.net भी पहले उपलब्ध पैकेजों में से था और यह शुरुआत से बहुत अच्छा था, विशेष रूप से थ्रेडिंग सुविधा के साथ (अब थ्रेड मॉडल आपके द्वारा हाल की भाषाओं में की गई तुलना में पुराना प्रतीत होता है लेकिन यह तब बहुत अच्छा था)।

मुझे याद है कि वेब ब्राउज़र को कोडित किया जाना (बहुत अधूरा, यहां तक ​​कि उस समय की तुलना में मौजूद) की तुलना में ताज़ा प्रकाशित 1.02 और बस एक पूर्ण वेब एप्लिकेशन सर्वर (अभी भी उद्योग में उपयोग होने वाला) जानने के लिए। सर्वलेट एपी से बहुत पहले और हर किसी को समझा दिया गया था कि आपको जावा में तेज और विश्वसनीय http एप्लिकेशन बनाने के लिए भारी फ्रेमवर्क का उपयोग करना होगा।

Java.net (और GC, और थ्रेड्स और अपवादों और java.util) के साथ जावा एक प्रमुख प्रौद्योगिकी सर्वर पक्ष (विपरीत दिशा में, java.applet पहले दिन से दर्दनाक था) ...


0

जावा 1.0 में छह शीर्ष स्तर के पैकेज थे: java.applet, java.awt (उपपैकेज java.awt.image और java.awt.peer के साथ), java.io, java.lang, java.net और java.util। बस। स्रोत: पैट्रिक चैन, जावा डेवलपर्स पंचांग 1998

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.