Java का निर्माण संयोग से हुआ, डेवलपर्स की एक टीम सेट-टॉप बॉक्स बनाने में व्यस्त थी, और C++ को साफ करने लगी। जब वे इन परिवर्तनों को पूरा कर रहे थे, तो उन्होंने Java और इसके रनटाइम वातावरण की खोज की।
आप में से कई लोग इससे अवगत हो सकते हैं, लेकिन जो नहीं हैं, उनके लिए Java इस भाषा के लिए तय किया गया मूल नाम नहीं था। यह 'Oak' था। Sun Marketing Systems ने बाद में नाम बदल दिया जब उन्हें पता चला कि 'Oak' नाम की एक कंपनी मौजूद थी।
यह दुनिया भर में व्यापक रूप से उपयोग की जाने वाली भाषा है, और डेवलपर समूह के बीच पसंदीदा मानी जाती है, और सर्वेक्षण के दौरान ज्यादातर समय दूसरी सबसे लोकप्रिय प्रोग्रामिंग भाषा है।
3 बिलियन फोन और गिनती जारी है, मोबाइल फोन जो Java का उपयोग करके बने प्लेटफॉर्म की मदद से चल रहे हैं।
सभी समय का सबसे लोकप्रिय खेल, 'Minecraft', Java में लिखा गया था। Notch, 'Minecraft' के निर्माता ने खेल को Java में लिखा, जिसे बाद में Microsoft द्वारा अधिग्रहित कर लिया गया, और खेल का एक नया संस्करण C++ में जारी किया गया।
'final' कीवर्ड का उपयोग क्लास, वेरिएबल, मेथड और फील्ड के साथ किया जा सकता है। इस तरह, सभी विशेषताएं अपरिवर्तनीय हो जाती हैं, यानी एक फाइनल क्लास को एक्सटेंड नहीं किया जा सकता, एक फाइनल वेरिएबल को बदला नहीं जा सकता, एक फाइनल मेथड को ओवरराइड नहीं किया जा सकता, और एक फाइनल फील्ड एक कॉन्स्टेंट है।
Java के दो पहलू हैं जो इसे डायनामिक बनाते हैं: Java इंस्ट्रूमेंटेशन और Java रिफ्लेक्शन। Java इंस्ट्रूमेंटेशन प्री-कंपाइल्ड क्लासेस को संशोधित करने में मदद करता है, यदि कोड को रनटाइम पर बदलने की आवश्यकता है। Java रिफ्लेक्शन विशिष्ट क्लासेस के प्राइवेट वेरिएबल्स को देखने में मदद करता है।
C++ का उपयोग करते समय, हम में से कई लोग पॉइंटर्स की अवधारणा और वे कैसे काम करते हैं, इससे निराश और भ्रमित होते। सौभाग्य से, Java में पॉइंटर्स की कोई अवधारणा नहीं है, क्योंकि निर्माताओं ने सोचा कि पॉइंटर्स जोड़ने से भाषा की मजबूती में बाधा आएगी।