Java Programming क्या है, History, Features & इसके उपयोग
Java Programming क्या है
Java एक programming language और एक platform है.
Java एक high level, robust, object-oriented and secure programming language है.
Java को Sun Microsystems ने सन 1995 में developed किया था (जो अभी Oracle की सहायक है)
James Gosling को father of Java के रूप में जाना जाता है.
Java के पहले इसका नाम Oak था. परंतु Oak नाम की पहले से ही registered company थी, इसलिए James Gosling और उनकी team के द्वारा इसका नाम Oak से Java कर दिया गया.
प्लेटफॉर्म: कोई भी Hardware अथवा software environment जहां Program Run हो सके उसे platform कहा जाता है.
Java के पास खुद का Java runtime environment (JRE) और API है, इसलिए इसे हम एक platform कह सकते है.
Coding क्या है, Coding कैसे सीखें? पूरी जानकारी यहां पाएं
High Level Programming Languages (उच्च स्तरीय प्रोग्रामिंग)
History of Java (Java का इतिहास)
Java की history बहुत ही मजेदार है. Java को मुख्य रूप से Interactive television के लिए Design किया गया था, परंतु उस समय के digital cable television industry के लिए यह बहुत advanced technology थी.
Java का इतिहास Green Team के साथ शुरू होता है, इस टीम में James Gosling और कुछ अन्य Members थे.
इन्होंने ने Sun कंपनी के अंतर्गत एक प्रोजेक्ट की शुरूआत की और इस प्रोजेक्ट का नाम ग्रीन प्रोजेक्ट था.
इस प्रोजेक्ट का मुख्य उद्देश्य एक language को develop करना था जिसकी सहायता से digital devices जैसे कि set-top boxes, televisions आदि के लिए कोड लिखा जा सके.
हालांकि यह Language internet programming के लिए भी महत्वपूर्ण मानी गई.
Steps of Java History
Java के इतिहास के चरण निम्नलिखित है:-
1) James Gosling, Mike Sheridan, और Patrick Naughton द्वारा Java language project June 1991 में शुरू किया गया. sun engineers की इस छोटी सी टीम को Green Team कहा गय.
2) इस प्रोजेक्ट को शुरूआती उद्देश्य electronic appliances के लिए small, embedded systems जैसे set-top boxes के लिए कोड लिखना था.
3) सबसे पहले James Gosling ने इसे “Green talk” कहा जिसका file extension .gt था.
4) बाद में इसे Oak कहा गया जो Green project का Part था.
5) Oak क्यों? Oak ताकत का Symbol है और बहुत से देशों का राष्ट्रीय वृक्ष भी है जैसे U.S.A., France, Germany, Romania, आदि.
6) सन 1995 में, Oak का नाम बदलकर “Java” कर दिया गया है क्योंकि यह पहले से ही Oak Technologies का एक trademark था.
7) इस नाम Java language ही क्यों? जब नाम बदलने की बारी आई तो पूरी टीम से इकट्ठा होकर कुछ नामों का सुझाव दिया जिसमें से James Gosling के द्वारा Java नाम का समर्थन किया गया.
8) Java नाम का Indonesia में एक द्वीप है जिसमें पहली कॉपी बनाई गई थी और जिसे Java Coffee कहा जाता है. Java नाम James Gosling ने अपने ऑफिस में कॉफी पीते समय चुना.
9) हालांकि Java कोई विशेष अर्थ नहीं है यह बस एक नाम है.
10) इसे शुरू में Sun Microsystems (जो अब Oracle Corporation की सहायक कंपनी है) में James Gosling द्वारा विकसित किया गया था और 1995 में जारी किया गया था।
11) 1995 में Time magazine ने Java को 1995 के दस सर्वश्रेष्ठ उत्पादों में से एक बताया।
12) JDK 1.0 को 23 January 23, 1996 को रिलीज़ किया गया। Java के पहले रिलीज़ के बाद, language में कई अतिरिक्त features जोड़ी गईं।
13) अब Java का इस्तेमाल Windows applications, Web applications, enterprise applications, mobile applications आदि में किया जा रहा है।
Java Platforms / Editions
1 Java SE (Java Standard Edition)
यह एक Java प्रोग्रामिंग प्लेटफ़ॉर्म है। इसमें Java प्रोग्रामिंग API जैसे java.lang, java.io, java.net, java.util, java.sql, java.math आदि शामिल हैं। इसमें OOPs, स्ट्रिंग, रेगेक्स, एक्सेप्शन, इनर क्लासेस, मल्टीथ्रेडिंग, I/O स्ट्रीम, नेटवर्किंग, AWT, स्विंग, रिफ्लेक्शन, कलेक्शन आदि जैसे मुख्य विषय शामिल हैं।
2) Java EE (Java Enterprise Edition)
यह एक Enterprise प्लेटफ़ॉर्म है जिसका उपयोग मुख्य रूप से वेब और एंटरप्राइज़ एप्लिकेशन विकसित करने के लिए किया जाता है। इसे Java SE प्लेटफ़ॉर्म के शीर्ष पर बनाया गया है। इसमें सर्वलेट, JSP, वेब सेवाएँ, EJB, JPA आदि जैसे विषय शामिल हैं।
3) Java ME (Java Micro Edition)
यह एक माइक्रो प्लेटफ़ॉर्म है जो मोबाइल एप्लिकेशन के लिए समर्पित है।
4) JavaFX
इसका उपयोग रिच इंटरनेट एप्लिकेशन विकसित करने के लिए किया जाता है। यह एक हल्के यूजर इंटरफ़ेस API का उपयोग करता है।
Versions of JAVA
Java SE Version | Version Number | Release Date |
JDK 1.0 (Oak) | 1.0 | January 1996 |
JDK 1.1 | 1.1 | February 1997 |
J2SE 1.2 (Playground) | 1.2 | December 1998 |
J2SE 1.3 (Kestrel) | 1.3 | May 2000 |
J2SE 1.4 (Merlin) | 1.4 | February 2002 |
J2SE 5.0 (Tiger) | 1.5 | September 2004 |
Java SE 6 (Mustang) | 1.6 | December 2006 |
Java SE 7 (Dolphin) | 1.7 | July 2011 |
Java SE 8 | 1.8 | March 2014 |
Java SE 9 | 9 | September, 21st 2017 |
Java SE 10 | 10 | March, 20th 2018 |
Java SE 11 | 11 | September, 25th 2018 |
Java SE 12 | 12 | March, 19th 2019 |
Java SE 13 | 13 | September, 17th 2019 |
Java SE 14 | 14 | March, 17th 2020 |
Java SE 15 | 15 | September, 15th 2020 |
Java SE 16 | 16 | March, 16th 2021 |
Java SE 17 | 17 | September, 14th 2021 |
Java SE 18 | 18 | March, 22nd 2022 |
Java SE 19 | 19 | September, 20th 2022 |
Java SE 20 | 20 | March, 21st 2023 |
Java SE 21 (LTS) | 21 | September, 19th 2023 |
Java SE 22 | 22 | March, 19th 2024 |
Types of Java Application
Java Programming का उपयोग करके मुख्य रूप से 4 प्रकार के Applications बनाएं जा सकते है:-
1) Standalone Application
Standalone applications को desktop applications या window-based applications के नाम से जाना जाता है. ये पारंपरिक software होते है जिनकी जरूरत प्रत्येक कम्प्यूटर मशीन को होती है. उदाहरण के लिए Media player, antivirus, आदि. Java के अंतर्गत AWT और Swing का उपयोग standalone applications बनाने के लिए किया जाता है.
2) Web Application
इसके अंतर्गत Application server side पर चलता है और एक dynamic page बनाया जाता है. वर्तमान में Web Application बनाने के लिए Servlet, JSP, Struts, Spring, Hibernate, JSF, आदि. technologies का उपयोग किया जाता है.
इसमें Java Programming API जैसे java.lang, java.io, java.net, java.util, java.sql, java.math आदि शामिल है.
इसमें OOPs, String, Regex, Exception, Inner classes, Multithreading, I/O Stream, Networking, AWT, Swing, Reflection, Collection, आदि मुख्य Subjects शामिल है.
3) Enterprise Application
इस प्रकार के application हमारे आसपास उपलब्ध रहते है जैसे banking applications. इस प्रकार के Applications को enterprise application कहा जाता है. इसके बहुत सारे लाभ होते है जैसे कि high-level security, load balancing, and clustering आदि . Java में enterprise applications बनाने के लिए EJB का उपयोग किया जाता है.
4) Mobile Application
ऐसे एप्लिकेशन जो मोबाइल Devices के लिए बनाया जाता है उसे मोबाइल एप्लिकेशन कहा जाता है। वर्तमान में, मोबाइल एप्लिकेशन बनाने के लिए Android और Java ME का उपयोग किया जाता है।
Features of JAVA (Java की विशेषताएं)
Java प्रोग्रामिंग Language के development का प्राथमिक उद्देश्य इसे पोर्टेबल, सरल और सुरक्षित प्रोग्रामिंग Language बनाना था। इसके अलावा, इसमें कुछ बेहतरीन विशेषताएं भी हैं जो इस Language की लोकप्रियता में महत्वपूर्ण भूमिका निभाती हैं। Java की विशेषताओं को Java लोकप्रिय शब्दों के रूप में भी जाना जाता है।
Java Language की कुछ महत्वपूर्ण विशेषताएं निम्नलिखित है:-
Simple
Java को सीखना बहुत ही आसान है और इसका syntax भी Simple, clean and समझने में आसान है.
Sun Microsystem के अनुसार Java language बहुत Simple Programming Language है क्योंकि:
- Java syntax का Syntax C++ Language पर आधारित है इसलिए C++ को सीखने के बाद Java को आसानी से सीखा जा सकता है.
- Java Language में से बहुत से जटिल और बिना उपयोग वाली विशेषताओं को हटा दिया गया है जैसे explicit pointers, operator overloading, आदि.
Object-oriented
Java एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग Language है। Java में सब कुछ एक ऑब्जेक्ट के रूप में है।
ऑब्जेक्ट-ओरिएंटेड का मतलब है कि हम अपने सॉफ़्टवेयर को विभिन्न प्रकार की ऑब्जेक्ट के Combinations के रूप में व्यवस्थित करते हैं जो Data और behavior दोनों को शामिल करते हैं
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOPs) एक कार्यप्रणाली है जो कुछ नियम प्रदान करके सॉफ़्टवेयर विकास और रखरखाव को सरल बनाती है।
Basic concepts of OOPs (आधारभूत अवधारणा)
- Object
- Class
- Inheritance
- Polymorphism
- Abstraction
- Encapsulation
Platform Independent
जावा platform independent है क्योंकि यह C, C++ आदि जैसी अन्य languages से अलग है, जिन्हें platform specific machines में compiled किया जाता है जबकि जावा write once, run anywhere language है। जावा एक सॉफ़्टवेयर-आधारित प्लेटफ़ॉर्म प्रदान करता है।
इसके दो component है:-
- Runtime Environment
- API(Application Programming Interface)
Java code multiple platforms में रन हो सकता है, उदाहरण के लिए, Windows, Linux, Sun Solaris, Mac/OS, आदि.
जावा कोड को कंपाइलर द्वारा Compile किया जाता है और बाइटकोड में परिवर्तित किया जाता है। यह बाइटकोड एक platform-independent कोड है क्योंकि इसे कई प्लेटफ़ॉर्म पर चलाया जा सकता है, यानी, write once, run anywhere language (WORA)।
Secured
जावा अपनी Security के लिए सबसे ज़्यादा जाना जाता है। जावा के साथ, हम Virus Free System develop कर सकते हैं।
जावा सुरक्षित है क्योंकि:
- कोई स्पष्ट पॉइंटर नहीं
- जावा प्रोग्राम वर्चुअल मशीन सैंडबॉक्स के अंदर चलते हैं
- Class Loader: जावा में क्लासलोडर जावा रनटाइम एनवायरनमेंट (JRE) का एक हिस्सा है जिसका उपयोग जावा वर्चुअल मशीन में जावा क्लास को गतिशील रूप से लोड करने के लिए किया जाता है।
- Bytecode Verifier: यह अवैध कोड के लिए कोड के टुकड़ों की जाँच करता है जो ऑब्जेक्ट तक पहुँच अधिकारों का उल्लंघन कर सकते हैं।
- Security Manager: यह निर्धारित करता है कि कोई क्लास किन संसाधनों तक पहुँच सकता है जैसे कि स्थानीय डिस्क पर पढ़ना और लिखना।
जावा भाषा डिफ़ॉल्ट रूप से ये Security प्रदान करती है। कुछ सुरक्षा एक एप्लिकेशन डेवलपर द्वारा SSL, JAAS, क्रिप्टोग्राफी आदि के माध्यम से स्पष्ट रूप से प्रदान की जा सकती है।
Robust
Robust का अर्थ मजबूत होता है। जावा robust है क्योंकि:
- यह robust मेमोरी Management का उपयोग करता है।
- इसमें Pointer की कमी है जो Security Problems से बचते हैं।
- जावा automatic garbage collection प्रदान करता है जो Java Virtual Machine पर चलता है
- जावा में exception handling और type checking mechanism हैं। ये सभी points जावा को robust बनाते हैं।
Architecture-Neutral
जावा architecture neutral है क्योंकि इसमें implementation पर निर्भर कोई features नहीं है, उदाहरण के लिए, primitive types का आकार fixed है।
C programming में, int Data type 32-बिट आर्किटेक्चर के लिए 2 बाइट्स मेमोरी और 64-बिट आर्किटेक्चर के लिए 4 बाइट्स मेमोरी घेरता है। हालाँकि, यह जावा में 32 और 64-बिट आर्किटेक्चर दोनों के लिए 4 बाइट्स मेमोरी घेरता है।
Portable
जावा portable है क्योंकि यह आपको जावा bytecode को किसी भी प्लेटफ़ॉर्म पर ले जाने की सुविधा देता है। इसके लिए किसी implementation की आवश्यकता नहीं होती है।
JVM
Java Virtual Machine एक Runtime Engine है जो जावा प्रोग्राम चलाने के लिए ज़िम्मेदार होता है. यह जावा बाइटकोड को निष्पादित करता है, जो जावा कोड का एक प्लेटफॉर्म-स्वतंत्र मध्यवर्ती रूप है. इसका मतलब है कि कोई भी कंप्यूटर जो JVM को सपोर्ट करता है, उस पर जावा प्रोग्राम चलाए जा सकते हैं.
Conclusion(निष्कर्ष)
उम्मीद है आपको ये जानकारी अच्छे से समझ आ गई होगी. यदि आपको किसी प्रकार की कोई समस्या है तो आप मुझे फीडबैक दे सकते है.