JVM क्या है ?
JVM का पूरा नाम java virtual machine होता है , virtual machine का मतलब होता है ऐसी machine जो कि reality मे exist नहीं करती हो । Normally किसी भी programming languauge का code source code कहलाता है, और source code को compile या interepret करके machine code मे convert किया जाता है। machine code bahut ही specific code hota है जो की मशीन से मशीन vary करता है। इसी मशीन code की वजह से कोई भी programming languague plateform independent नहीं होती मतलब उसका compiled code किसी दूसरी मशीन पर रन नहीं होता । java मे source code compile और interpret दोनों ही होता है। जावा के source code को compiler की मदद से compile करके पहले जो code बनता है वो मशीन code नहीं होता बल्कि bytecode होता है। Bytecode एक ऐसा code होता है जो किसी मशीन के लिए नहीं होता इसलिए इसे virtual machine का code कहा जाता है। मतलब bytecode जिस machine क लिए generate किया गया है वो java virtual machine कहलाती है।
अब क्या जावा मे मशीन code नहीं होता। बिलकुल होता है। जब हम bytecode को java interpreter की सहायता से intereprete करते हैं तो मशीन code बनता है जो की एक specific code होता है। तो जावा मे source code सीधा machine code मे convert नहीं होता। बल्कि पहले bytecode और फिर machine code बनता है।
java compilation process:-
computer binary भाषा को समझता है , इसका मतलब जो भी code 0 और 1 मे लिखा हो वही computer या किसी digital device को समझ मे आता है। इसी 0 और 1 मे लिखे हुए code को machine code बोला जाता है। लेकिन जब हम किसी programming languauge मे कोई program लिखते हैं तो वो उस languauge के syntax के according english statements के रूप मे लिखा जाता है। तो programming languauge मे likha गया code जिसे हम source code भी कहते हैं, को machine code मे convert करना होता है, जिससे machine उस code को समझ सके और उस को दिये गए instructions को execute भी कर सके। इस प्रोसैस को compilation process कहते हैं। किसी भी प्रोग्राममिंग languague मे compilation क बाद मशीन code genetare हो जाता है जो की machine specific होता है, लेकिन java मे compilation के बाद bytecode generate होता है , जो machine indipandent होता है। और इसी code की वजह से java palteform indepandent languauge होती है। यह code virtual machine के लिए होता है
java interpretation process:-
interpreter भी compiler की तरह source code को machine code मे convert करता है, लेकिन compilar और interpreter मे thoda difference होता है। compiler पूरे source code को एक साथ machine code मे convert करता है जबकि interpreter source code की एक एक line को machine code मे convert करता है । जावा मे compiler और interpreter दोनों ही work करते हैं। जावा के compiler के द्वारा generate किए गए bytecode को interpreter machine code मे बदलता है। यह code real machine के लिए होता है।
syntax for java compilation and interpretation:-
जावा के कोड़े को लिखने के लिए हम किसी IDE का use कर सकते हैं या फिर हम code को notepad पर भी लिख सकते हैं। जब हम किसी IDE पर code लिखते हैं तो compile और run करने के लिए किसी मेनू पर click करना होता है, लेकिन जब हम notepad पर code लिखते हैं तो कुछ DOS के commands का use करते हैं।
तो जावा के code को compile करने के लिए javac command का use किया जाता है और जावा के code को रन या interpret करने के लिए java command का use किया जाता है।
syntax for compilation
javac filename.java
syntax for run or interpretation
java filename
No comments