What is Java जावा क्या है
Java केवल एक Programming Language ही नहीं है बल्कि ये एक Platform भी है । जब Sun Microsystems ने November 1995 में Java को दुनिया से परिचित करवाया तब Company के Cofounder Bill Joy ने Java की निम्न परिभाषा दी थी कि Dynamically Multithreaded
![]() |
| What is Java |
Java Small , Simple , Safe , Object - Oriented , Interpreted Optimized , Byte - Coded , Architecture - Neutral , Garbage - Collected , Programming Language Distributed , Dynamically Extensible Programs f के लिए एक Strongly Typed Exception - Handling Mechanism है । जावा के इन्हीं गुणों को जावा के Features भी कहते हैं ।
1.Small and Simple-
Java एक छोटी और सरल भाषा है जिसे आसानी से सीखा जा सकता है । जावा को इस तरह से Design किया गया है कि इसे कोई भी Programmer आसानी से सीख सके और Computer Programming के Internal Functionality को जाने बिना भी ज्यादा से ज्यादा Efficient Program Develop कर सके । यदि किसी Programmer को किसी भी Programming Language का थोडा भी ज्ञान है , तो वह बहुत ही आसानी से व जल्दी से Window Based Application Internet Based Distributed Application (Applets) Develop करना सीख सकता है ।
जब जावा (java) को पहली बार Release किया गया था , तब वह काफी छोटी भाषा थी । लेकिन आज ये काफी बडी भाषा बन चुकी है और सभी प्रकार के Applications को Efficiently Develop करने में सक्षम है । ये Language C / C ++ , Simula , Ada जैसी कई अन्य Languages से प्रेरित है , लेकिन इसकी ज्यादातर Coding C ++ Language के समान ही है । इसलिए किसी C / C ++ Programmer को जावा सीखने में कोई कठिनाई नहीं होती है ।
इस Language में C व C ++ के अच्छे Features को Use कर लिया गया है जबकि इन Languages Confusing तथा Typical Features को छोड़ कर उनके स्थान पर अधिक सरल Concepts को Include कर लिया गया है । जैसे C ++ के Operator Overloading व Pointer जैसे Concepts को जावा में छोड़ दिया गया है , जबकि Multithreading जैसी Advance Technique को Add कर लिया गया है ।
2.Object Oriented - वस्तु के उन्मुख
Java में हर चीज Object व Class के रूप में परिभाषित है , जिसे Object Oriented Programming Concept कहा जाता है । OOPS हमें Abstraction and Encapsulation , Polymorphism और Inheritance जैसे Features प्रदान करता है , जिससे हम एक समस्या को उसी तरह से Computer में Logically Organize कर सकते हैं , जिस तरह से समस्या Real World में Actually या Physically Organized रहती है । जावा में बहुत सारी जरूरी Classes पहले से ही Packages के Form में हमें प्राप्त होती है , जिन्हें बिना Rewrite किए हम ज्यों का त्यों Use कर सकते हैं ।
3.Distributed Java -
के Programs Network पर यानी Web Pages पर भी Execute होते हैं । इसलिए इसे Distributed Language कहा जाता है । Distribution का मतलब ये होता है कि Java के Program किसी भी Platform पर Run हो सकते हैं ।
हम जानते हैं कि आज कई तरह के Operating Systems उपलब्ध हैं और अलग - अलग लोग अपनी जरूरत व इच्छा के अनुसार अलग - अलग Operating Systems का प्रयोग करते हैं । कोई Windows Operating System Use करता है तो कोई Linux तो कोई MacOs या OS / 2 Use करता है । ये सभी अलग - अलग Platform कहलाते हैं ।
Visual Basic
यदि हम Windows Based Computer पर कोई Program " C " या Visual Basic जैसी भाषा में Create करते हैं , तो वे Program उन सभी Computers पर आसानी से Run होते हैं जो Windows को Use करते हैं ।
लेकिन यदि इन्हीं Programs को Linux या MacOS पर Execute करने की कोशिश की जाए तो ये Program उस Operating System पर Execute नहीं होते । इन Platforms के लिए Program को वापस इन्हीं Platform वाले Computers पर Compile करना पड़ता है । जबकि Java के साथ ऐसा नहीं है ।
जावा में हम किसी भी Platform पर Program Create करके Compile करें , वे Program सभी अन्य Platforms पर समान रूप से Execute होते हैं । यानी Java के Programs को विभिन्न Platforms पर Distribute किया जा सकता है । इसलिए Java को Distributed Language कहा जाता है ।
जावा को इस प्रकार से Design किया गया है कि हम इसमें ऐसे Applications Develop कर सकें , जो Internet पर चल सके । इस Language में ये Ability है कि ये Data व Program दोनों को Internet पर विभिन्न Computers पर Share कर सकता है । जावा Applications Remote Objects को भी उतनी ही आसानी से Access व Open कर सकते हैं , जितनी आसानी से वे Local Computer के Objects को Open व Access करते हैं । जावा ऐसी Networking की सुविधा प्रदान करता है कि विभिन्न Remote Locations पर स्थित विभिन्न Programmers एक ही Single Project पर समान समय पर एक साथ काम कर सकते हैं ।
4. Compiled Meaning in Hindi
ज्यादातर अन्य Languages के Programs या तो Compile होते हैं या फिर Interpreted होते हैं । लेकिन Java के Programs Compile भी होते हैं और Interpreted भी Java के Programs को सबसे पहले Compile किया जाता है । Java के Program Compile होने के बाद सीधे ही Machine Language में Convert नहीं होते हैं , बल्कि ये Source Code व Machine Code के बीच की स्थिति में Convert होते हैं जिसे Bytecodes कहा जाता है ।
इन Bytecodes को जब किसी भी Platform पर Run करना होता है तब ये Bytecodes उस Computer के Platform के अनुसार Interpreted हो कर पूरी तरह से उस Machine के अनुसार Machine Code में Convert होते हैं और उस Platform पर Execute हो सकते हैं ।
5.Robust meaning in Hindi -
Java के Programs में Errors आने की सम्भावना अन्य Languages की तुलना में बिल्कुल कम होती है । इसलिए Java के Programs को Robust कहा जाता है । इसके Compiler में विभिन्न प्रकार से Generate होने वाली Errors को Handle करने के लिए कई Built-In तरीके Develop कर दिए गए है और जावा को इस तरह से Design किया गया है , कि एक बार सही तरीके से Compiled Program में कभी भी Error आने की सम्भावना नहीं रहती है । जितनी भी Errors आनी होती हैं , वे सभी Program Development व Testing के समय ही आ जाती हैं , जिन्हें Handle कर लिया जाता है ।
Safe
इसमें Compile Time व Runtime दोनों स्थानों पर विभिन्न प्रकार के Errors के लिए विभिन्न Data Types की Checking होती है । विभिन्न प्रकार के Objects द्वारा ली जाने वाली Memory को ये स्वयं ही Release कर देता है , जिससे हमें किसी भी प्रकार की डर या चिन्ता करने की आवश्यकता नहीं होती है , कि हमने जो भी सभी Unrequited Objects को Destroy करने से उनकी Memory को Release किया जा सकता हैं या नहीं ।
Java में Exception Handling के लिए भी सुविधा प्रदान की जाती है , जिसका महत्वपूर्ण प्रयोग हम Serious Errors को Trap करने में and उन्हें Solve करने के लिए किया जाता हैं, जिससे हमारे Program की और सुरक्षा हो जाती है ।
जब हम Internet की बात करते हैं , तब Security काफी मायना रखती हैं । जावा स्वयं ही विभिन्न प्रकार के Memory Management व Memory Access से सम्बंधित काम करता है , इसलिए ये कभी भी Memory व उसमें Stored Data को गलत तरीके से Access करने की छूट नहीं देता है ।
इस वजह से Applet द्वारा किसी Computer में Virus आने की सम्भावना ही नहीं होती है [ क्योंकि जावा में Pointers की सुविधा नहीं है जो Directly Memory को Access कर सके , इसलिए हम किसी भी Computer की Memory को Directly Access नहीं कर सकते हैं । साथ ही जावा Applets कभी किसी Client Computer के Resources को Access नहीं करते हैं , इसलिए जावा Applets कभी भी pl Clients के Computer या उसके Data को नुकसान नहीं पहुंचा सकते हैं ।
Why Java is Platform Independent
जावा Java के Bytecodes विभिन्न प्रकार के Processors व Operating Systems पर समान रूप से Run हो सकते हैं । इसलिए इसे Architecture Neutral or Portable कहा जाता के Programs को केवल एक ही बार Develop करना होता है । एक बार इसे Develop करने के बाद इसे किसी भी Computer पर किसी भी Why Java is Platform Independent पर Run किया जा सकता है ।
यदि Operating System , System Resources या Processor में Change किया जाता है , तब भी हमें जावा के Program में किसी प्रकार का Change करने की जरूरत नहीं होती है । यही जावा के सबसे ज्यादा Popular होने की मुख्य वजह है , जिससे हम जावा का प्रयोग Internet Programming के लिए करके World Wide Web पर Run होने वाले Applications Develop करते हैं और विभिन्न Computers को आपस में Interconnected करते हुए World Wide Web पर सफलता पूर्वक कार्य करने के लिए ऐसे Programs को (Use) प्रयोग में लिया जाता हैं।
Platform 65
हम जावा Applet को Remote Computer से Download कर सकते हैं और फिर उसे अपने Computer पर Run कर सकते हैं । इस प्रकार की सुविधा होने से एक User को उसके घर पर ही विभिन्न प्रकार के Applications व Applets प्राप्त हो जाते हैं , जिन्हें वह Use करना चाहता है ।
जावा दो तरीकों से Portable होता है : एक तो जावा Compiler Byte Codes Instructions Generate करता है , जिसे किसी भी Computer पर Implement किया जा सकता है और दूसरा जावा के Primitive या Basic Data Types Machine पर निर्भर नहीं होते हैं बल्कि जावा Platform पर निर्भर होते हैं । यानी किसी भी Compute पर जावा के सभी Data Types की Size समान होती है , चाहे हम Pentium Computer पर जावा Program को Use करें , चाहे AMD पर।
6.Garbage bag -
Java एक Programmer को Memory Manage करने की सुविधा प्रदान नहीं करता है बल्कि जरूरत के अनुसार स्वयं ही Memory Management करता है । इसलिए Programmer द्वारा Memory Management के समय किसी दूसरे Data को नुकसान पहुंचाने की सम्भावना नहीं होती है । इसलिए ये Language " C " व " C ++ " जैसी भाषाओं की तुलना में अधिक सुरक्षित या Secure Language है ।
7.High Performance computing
Java के Program Interpreted Mode में Run होते हैं। किंतु फिर भी कोई अन्य Interpreted Based Languages की समानता में Java की Speed And Performance बहुत बहुत अच्छी मानी जाती हैं । इसलिए इसे High Performance Language इस नाम से भी कहा जाता है ।
8. Interactive -
Java यह सुविधा प्रदान करना चाहता है कि एक ही Software Program के विभिन्न भागों को एक ही समय में एक साथ ही Run कराया जा सकता है ।
>इसलिए इसे Multithreaded Language भी कहा जाता है । उदाहरण के लिए मानलो कि हम किसी Program से Audio Sound तो सुन ही रहे हैं , साथ ही उसी Program में Scroll Bars को भी Use कर रहे हैं । किसी Window में एक तरफ कोई Movie Clip तो Play हो ही रहा है , साथ ही हम किसी अन्य Movie Clip को Open करने के लिए Open Dialog Box में किसी दुसरी Movie Clip को खोज रहे हैं । इस तरह से एक ही Program के विभिन्न हिस्सों का एक ही समय में एक साथ Run होना Multithreaded Concept के कारण ही सम्भव होता है ।
interactive meaning in hindi
9.Dynamic -
Java में एक ही Program के कई Versions को एक साथ Maintain किया जा सकता है । इसलिए इसे Dynamic Language भी कहा जाता है । यानी जावा एक Dynamic Language है । जावा में किसी Program के लिए Required Classes जावा के Program के Run होते समय उसमें Link हो सकती है और जैसे ही उस Class का काम समाप्त होता है , वह Class स्वयं ही Memory से Release हो जाती है । इस प्रक्रिया को Dynamic Process कहा जाता है ।
जावा एक Query द्वारा ये भी Determine कर सकता है कि Program के Run Time में उससे कौनसी Class Link हो रही है । साथ ही वह Program के Run Time में भी किसी भी Dynamic Class या Dynamic Link Library से Link हो सकता है और Run Time सुविधाओं को प्राप्त कर सकता है । इस प्रक्रिया को Dynamic Linking भी कहते हैं ।
जावा हमें अन्य Languages के Methods को भी जावा में Use करने की सुविधा प्रदान करता है । इन Methods को Native Methods कहते हैं और ये Program के Run Time में Dynamically Link हो कर अपना काम करते हैं । यानी हम जावा में अन्य Languages की सुविधाओं को Use करके जावा के Program की क्षमताओं को बढ़ा सकते हैं या Extend कर सकते हैं । इसी प्रक्रिया को जावा की Extensibility कहते हैं ।
Java Programs कई प्रकार के होते हैं , उनमें से कुछ निम्नानुसार हैं :
(i) Tascks Applications -
ये ऐसे Programs होते हैं जिन्हें Execute होने के लिए किसी Browser की जरूरत नहीं होती है । ये Stand Alone होते हैं और किसी भी Computer पर Run हो सकते हैं । इन्हें Command Prompt पर Run किया जा सकता है ।
(ii) Applets in Java -
ये ऐसे Programs होते हैं जिन्हें Run होने के लिए Browser की जरूरत होती है । ये Programs Web Pages पर Run होते हैं । एक Applet Program कभी भी किसी Local Machine के Resources को Access नहीं करता है ।
(iii) Servlet in Java -
ये Programs Web Servers की Functionality को बढ़ाने के लिए लिखे जाते हैं । सामान्यतः इनका कोई GUI नहीं होता है ।
(iv)Packages in Java -
ये Java की Classes का एक Collection होता है जिसे किसी भी अन्य Java Program में आसानी से Reuse किया जा सकता है ।
Object Oriented Concept Programming करने का एक असाधारण लेकिन बहुत ही Powerful तरीका है । OOP में एक Computer Program को Objects के एक ऐसे Group के रूप में परिभाषित किया जाता है जिसमें सभी Objects आपस में Interact कर सकते हैं ।
यानी सभी Objects अपनी सूचनाओं का एक दूसरे के बीच Transaction कर सकते हैं । OOPS में दुनिया की हर चीज को Object माना जाता है । मानलो कि एक Worker Object Money Object को Company Funds Object से लेता है और अपने स्वयं के BankAccount Object में जमा करवाता है । यदि दूसरा कोई Worker Object DoublecheckFund Object को Use करता है तो Polish Object को बुलाया जाता है ।
Java Program की सबसे बड़ी यदि कोई विशेषता है , तो वह ये है कि Java के Program को World Wide Web Pages पर Execute किया जा सकता है । इन Programs को Applets कहते हैं । Java से पहले HTML Format में ही विभिन्न Web Pages को लिखा जाता था । ये Web Pages ऐसे होते थे , जिसमें जिस Page को देखना हो उसके Hyperlink पर Click करो और दूसरा Page देखना है तो उसके Hyperlink पर Click करो और आगे से आगे बढ़ते जाओ ।
Life Cycle of Java Applet
जेसे कि हम जानते हैं कि Java Applet जो कि Web Pages पर Run करते हैं। इसने सुन्दर अनुभव प्रदान किया जाता हैं। इसमें User के Response के आधार पर Web Page Dynamically Update किए जाते है । जैसे आज हम कई TV Channel पर देखते हैं जहां कोई सवाल पूछा जाता है और लोग SMS भेज कर अपना पक्ष बताते हैं । जैसे - जैसे लोग SMS भेजते रहते हैं , SMS की संख्या भी बदलती रहती है । ये काम Dynamically होता है जो कि Java के कारण ही सम्भव हुआ है ।
Share Market
आज भी कई User Internet पर उपलब्ध कई प्रकार की Web Pages मिलने से Java के कारण ही Interact कर सकता है । यदि हम इसको उदाहरण के तोर पर जानेंगे, तो Share Market का सारा काम Online ही होता है । User जब चाहे अपने Account की Information को प्राप्त कर सकता है । यदि वह किसी Company का Share खरीदना चाहता है , तो वह Online खरीद सकता है । जैसे ही वह Share खरीदता है , उस Company के Buyers की संख्या बढ़ जाती है । इसी तरह से यदि Share को बेचा जाता है , तो Company के Sellers की संख्या बढ़ जाती है । ये जो परिवर्तन Web Pages के Data में होता है , वह Dynamic परिवर्तन कहलाता है । यानी Web Page Dynamically या Run Time में User के Interaction से Update होता है । इस प्रकार की Secure Dynamic व Online सुविधा हमें Java के कारण ही प्राप्त हो पा रही है ।
हालांकि Web Based Programs की वजह से Java अधिक महत्वपूर्ण लगती है लेकिन ये एक General Purpose Language भी है जिसका प्रयोग सभी तरह के Programs को Develop करने में होता है । आज हम Mobile के जितने भी Software देखते हैं उनमें से ज्यादातर Java Based हैं । Mobile में जो Games Run होते हैं वे ज्यादातर Java में Develop किए जाते हैं ।


0 टिप्पणियाँ
Please Do Not Any Spame Comment