What is Java
जब Java के किसी Program को Compile किया जाता है तब Java का Program पूरी तरह से Machine Language में Convert नहीं होता है बल्कि एक Intermediate भाषा (Language) में convent ho jata हैं है , जिसे Java Bytecodes कहा जाता है । ये Codes Platform Independent होते हैं , इसलिए इन्हें किसी भी Operating System व किसी भी Processor पर चलाया जा सकता है । Java के Program की Compilation केवल एक ही बार होती है लेकिन जितनी बार भी Java के Program को चलाया जाता है , हर बार उस Program का Interpretation होता है । इसे हम निम्न चित्र द्वारा समझ सकते हैं -
![]() |
| JAVA WORKING |
Java Bytecodes को हम Java Virtual Machine ( Java VM ) के लिए Machine Codes मान सकते हैं । हर Java Interpreter चाहे वह Java Development Tool हो या कोई Browser जो कि Java Applets को Run करता हो , Java Virtual Machine का ही Implementation है । Java Virtual Machine को Hardware में भी Implement किया जा सकता है , जिसका भुगतान आज के Mobile System Software से किया जाता हैं।
Java Bytecodes हमें ये सुविधा देते हैं कि हम Java के Program को एक बार Compile करें और कहीं भी Run करें । हम किसी Java Program को किसी भी उस Computer पर Compile कर सकते हैं जिस पर Java Compiler हो । फिर उस Java Program के Bytecodes को किसी भी उस Computer पर Run किया जा सकता है जिस पर Java VM हो ।
उदाहरण के लिए एक ही Java Program Windows , OS / 2 MacOS NT , Macintosh आदि विभिन्न Platform पर Execute हो सकते हैं
![]() |
| JAVA PROGRAMMING |
Why is Java Platform Independent -
Platform एक एक ऐसा Software या Hardware Environment होता है जिसमें कोई Program Run होता है । Java Platform कई अन्य Platforms से अलग है । Java Platform एक Software Platform है , जो सभी अन्य Hardware Based Platform के Top पर यानी ऊपर Run होता है । ज्यादातर अन्य Platforms Hardware व Operating System का Combination होते हैं ।
Java Platform के दो Components हैं । पहला है Java Virtual Machine ( Java VM ) जिसके बारे में हम जान चुके हैं । ये Java Platform का Base या आधार है और विभिन्न Hardware Base Platform के ऊपर रहता है । दूसरा होता है Java Application Programming Interface ( Java API ) जिसके बारे में हम अब जानेंगे ।
Java API pakages Ready Made Software Components का एक बहुत बड़ा Collection है जो कि Programmer को GUI (Graphical User Interface) जैसी कई उपयोगी क्षमताएं प्रदान करता है । Java API को Related Components की Libraries के रूप में Group कर दिया गया है । इन विभिन्न Related Components के Group को ही Packages कहते हैं । एक Java Program को हम निम्न चित्रानुसार दर्शा सकते हैं :
![]() |
| Group Packages |
जब एक Java Program को किसी Computer पर Execute किया जाता है तो Java Program Hardware Based Platform Java API Java Virtual Machine Layer हैं जो Java के Program को Hardware Dependencies से अलग करती हैं ।
यानी इन दोनों की वजह से Java का कोई Program किसी भी Computer के Hardware पर निर्भर नहीं होता है । एक Platform Independent Environment के रूप में Java का Program अन्य Native Codes Programs की तुलना में कुछ धीमा होता है । लेकिन फिर भी अच्छे Compilers , Java के साथ अच्छी तरह से Tune होने वाले Interpreters और Bytecodes Compilers की वजह से Java की Performance को Native Code की Performance के आस - पास लाया जा सकता है और वो भी जावा की सभी विशेषताओं के साथ।
Java Programs का सबसे अधिक जाना पहचाना यदि कोई रूप है तो वह Java Applets का है । एक Applet भी एक Java Program ही होता है लेकिन इसकी विशेषता ये है कि ये किसी Java Enabled Browser Internet Explorer , Google Chrome , Firefox , Safari , Opera आदि में Run होता है , स्वतंत्र रूप से ये Run नहीं हो सकता । जबकि Java Application Standalone Run हो सकते हैं।
Applets Application के समान ही होते हैं । ऐसा भी नहीं है कि Java का प्रयोग केवल Web Pages Applications लिखने के लिए ही किया जा सकता है । बल्कि Java एक Powerful Software Platform और General Purpose High Level Programming Language भी है ।
Java के सबसे Common Application Programs के उदाहरण Servers हैं जो किसी Network के विभिन्न Clients को Service प्रदान करने का काम करते हैं। Web Servers Proxy Servers, Mail Servers , Print Servers व Boot Servers Java Applications के विभिन्न उदाहरण हैं ।
Servlets Applets के समान ही होते हैं , लेकिन किसी Browser में Run होने के बजाय ये Java Servers में Run होते हैं और Java Server की Configuring या Tailoring करते हैं ।
एक सवाल पैदा हो सकता है कि Java API इन सभी प्रकार के Programs को किस प्रकार से Support करता है । इसका जवाब ये है कि ये इन सभी प्रकार के Programs को एक Software Components के Package के माध्यम से Support करता है जिसमें विभिन्न प्रकार की Functionalities होती हैं । Core API एक ऐसा API है जो हर Java Platform में पूरी तरह से Implemented होता है । Core API हमें निम्न Features प्रदान करता है
Java The Essentials -
Objects , strings , threads , numbers , input and output , data structures , system properties , date and time जैसी कई चीजों को Handle करने की सुविधा प्रदान करता है ।
Java Applets :
Java applets बनाने के लिए विभिन्न Components प्रदान करता है ।
Java Networking :
Networking की सुविधा प्राप्त करने के लिए URLs , TCP व UDP sockets तथा IP addresses प्रदान करता है ।
Java Internationalization :
ये हमें ऐसी सुविधा प्रदान करता है कि हम ऐसे Programs लिख सकते हैं जो सारी दुनिया में समान रूप से चल सकता है ।
Java Security :-
इसमें हमें Low-level And high-level दो प्रकार की सुरक्षा प्रदान किया जाता हैं है । इसके साथ ही (electronic ) इलेक्ट्रॉनिक, (signatures) सिग्नेचर , (public) पब्लिक / private key management , access control 3 certificates सुविधा प्रदान करता है ।
Java Software components :
ये हमें JavaBeans जैसे Components प्रदान करता है जो किसी पहले से बने हुए Component Architecture Microsoft's OLE / COM / Active - X architecture , OpenDoc 3 Netscape's Live Connect में Plug in हो सकता है ।
Java Object serialization :
ये हमें Remote Method Invocation ( RMI ) द्वारा दूसरे सरल उपकरणों से Communication करने की सुविधा प्रदान करता है , जिसका प्रयोग आज Mobile Technology में भी हो रहा है ।
Java Database Connectivity ( JDBC ) :
ये हमें Relational databases से Connect होने व उन्हें Access करने की सुविधा प्रदान करता
Java में केवल Core API ही नहीं हैं बल्कि कुछ Standard Extensions भी हैं । ये Standard Extensions 3D , Servers , Collaboration , Telephony , Speech , Animation व कई अन्य चीजों के लिए भी APls Define करते हैं ।
Java Program -
Computer Program एक तरीका है जो Computer को ये बताता है कि उसे कब , क्या करना है । Computer के Boot होने से लेकर Shut Down होने तक जो भी कुछ होता है , किसी ना किसी Program की वजह से होता है । MS - Word एक Program है , Norton Antivirus एक Program है , DOS Prompt पर लिखा जाने वाला हर Command एक Program है , यहां तक कि विभिन्न प्रकार के Computer Viruses भी एक Program हैं ।
आज Artificial Intelligence का एक उदाहरण Robots हैं । इस Robots को जो बहुत ज्यादा पैसे वाले ख़रीद कर अपने लोग अपने घरों में रखते हैं । ये Robots मनुष्य की तरह होते हैं कि इन रोबोट को जो भी काम करने के लिए कह दिया जाए तो या किसी भी तरीके से बता दिया जाता है , तो ये Robots वे सभी काम बड़ी ही आसानी से अच्छी तरीके से कर लेते हैं ।
जैसे यदि आप इन Robots को कहें कि जब आपके घर की Bell Ring हो तो इन्हें घर का दरवाजा खोलना है । तो ये वैसा ही करते हैं । ये Computer Program का एक साधारण सा उदाहरण है जिसमें आप किसी निर्जीव Robot को कुछ Instruction देते हैं , और वह निर्जीव Robot आपकी बात मानता है और आपके द्वारा बताया गया काम कर देता है ।
इसी तरह से Computer को भी विभिन्न प्रकार के Instructions प्रदान किए जाते हैं , जिनके अनुसार Computer काम करता है । जैसे कि Microsoft Company ने Windows के Program द्वारा Computer को ये Instruction दिया है कि यदि कोई Mouse को Move करता है , तो Monitor की Screen पर स्थित Cursor या Pointer भी उसी तरह से Move होना चाहिए । यदि कोई Start Button पर Click करता है तो Start Menu Popup होना चाहिए , आदि - आदि ।
यानी Computer पर हम जो कोई Action करते हैं ,उसे Response करने के लिए पहले से ही Program के लिए त्यार किया गया है । जब कोई Event त्यार हो होता है , Computer उस Event से सम्बंधित Program के अनुसार काम करने लगता है और हमें हमारा Required Result प्रदान करता है ।
Computer में जो भी कुछ होता है उसे Event कहते हैं । जैसे यदि हम Mouse को Move करते हैं तो Mouse Move Event Generate होता है . यदि हम इसको Mouse से Click किया जाता हैं तो Mouse Click , Event Generate होता है । इसी प्रकार से यदि हम Keyboard पर कोई की))Key Press करते हैं, तो Keypress Event Generate होता है ।
ये तो Hardware Events के उदाहरण हैं । Computer में Software Events भी Generate होते हैं जिन्हें Response करने के लिए भी विभिन्न प्रकार के Programs लिखे गए हैं । उदाहरण के लिए किसी Window को Minimize करना Restore करना , किसी Window को Close करना आदि Software Events के उदाहरण हैं । निम्न Program देखिए-
#include < stdio.h >
main()
{
printf( " Hello Gopala " )
}
इस Program द्वारा हम हमारे Computer को केवल एक Message Screen पर Print करने के लिए एक Instruction प्रदान कर रहे हैं । ये Program Computer Screen पर " Hello Gopala " Print करता है ।
हम किसी Computer Program में जितनी भी Coding Lines लिखते हैं , ये सभी Lines Program Statements कहलाती हैं । Computer उन सभी Statements को एक निश्चित क्रम में Handle करता है , ठीक उसी तरह से जिस तरह से एक रसोईया किसी विशेष प्रकार के पकवान को बनाने के लिए एक विशेष क्रम का पालन करता है ।
चूंकि Computer उसी क्रम में विभिन्न Statements के अनुसार काम करता है जिस क्रम में एक Programmer किसी Program को लिखता है । इसलिए यदि कोई Program वैसा Result प्रदान नहीं करता , जैसा एक Programmer चाहता है , तो ये Computer की गलती नहीं है बल्कि उस Program की Mistake है ।
ज्यादातर Program उसी तरह से लिखे जाते हैं , जिस तरह से हम कोई Letter लिखते हैं , जिसमें किसी Word Processor में हम हर Word को Type करते हैं । कुछ Programming Languages के Compilers के साथ उनके खुद के Word Processors आते हैं , जैसे कि Turbo C ++ का Program Creation का पूरा IDE आता है जबकि कुछ Compilers के साथ कोई Word Processor नहीं आता ।
जिन Compilers के साथ कोई Word Processor नहीं आता जिसमें Program की Coding की जा सके , तो ऐसे Program के Source Code लिखने के लिए किसी भी अन्य Word Processor का प्रयोग किया जा सकता है । हम Java Developer Kit के सभी Components का प्रयोग किसी भी Word Processor जैसे कि Notepad या WordPad के साथ कर सकते हैं ।
जब एक प्रोग्राम (Program) के Source Codes लिख दिए जाते हैं , तो उसका प्रयोग करने के बाद उस Source File को उस Language के प्रति Extension के साथ Save सेब किया जाता हैं है ।
जैसे यदि हम Notepad का प्रयोग करके " C " Language का Program लिख दिया जाए तो File को Save करते समय हमें File को नाम देने के बाद C Extension देना चाहिए होता है । उसी तरह से यदि हम Java के Program को Save करते हैं , तो हमें File के नाम के बाद .java Extension का प्रयोग करना होता है । जैसे Program.java , Application.java आदि ।
हम जो Program लिखते हैं वे English के कुछ सामान्य Words होते हैं । लेकिन Computer केवल Binary Language को ही समझता है । इसलिए हमें एक ऐसे Program की जरूरत होती है जो हमारे Source Codes को Computer के समझने योग्य Machine Language में Convert कर सके ।
Interpreter एक ऐसा Program है जो किसी भी Program की Source File के हर Statement या Code की हर एक Line को Computer की Machine Language में Convert करने के बाद Computer को आदेश देता है की क्या करना है कि उसे क्या करना है ।
कुछ Languages ऐसी भी होती हैं में एक अन्य Software होता है। जिसे Compiler कहते हैं का प्रयोग करके Source Code File को Machine Language में Convert करता है । इस प्रकार के दोनों में अन्तर केवल इतना ही है कि Interpreter Source File के हर एक लाइन (Line) या हर Statement को Computer के समझने योग्य Binary Language में परबरित Convert कर देता है और यदि किसी भी Statement में कोई Error हो तो उस Line या Statement से आगे Interpret नहीं होता ।
जबकि Compiler एक ऐसा Program होता है जो पूरे Program को एक साथ Machine Language में Convert करता है । यदि Program में कोई Error हो तो Program सभी Errors को एक साथ Display करता है और तब तक Program को Machine Language में Convert नहीं करता है जब तक कि सभी Errors को Debug ना कर दिया जाए ।
जो Program Interpreted होते हैं वे Compiled Program की तुलना में धीरे चलते हैं । लेकिन Java एक ऐसी Language है जिसको Interpreter व Compiler दोनों की जरूरत होती है ।
जब भी हम कोई Program लिखते हैं तो उसमें किसी ना किसी तरह की Errors हमेंशा आती है । इन Errors को Computer Programming की भाषा में Bug कहा जाता है और इन Errors को सही करने के Process को Debug करना कहते हैं ।




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