آپ کو جاوا ورچوئل مشین کے بارے میں کیا جاننا چاہئے؟



یہ بلاگ جاوا ورچوئل مشین کے تصور کو اپنے فن تعمیر کے اجزاء اور جے وی ایم ، جے آر ای اور جے ڈی کے کے درمیان اہم اختلافات کے ساتھ تفصیل سے احاطہ کرے گا۔

آئی ٹی انڈسٹری میں زبان بہت طویل عرصے سے ایک بہت بڑا کام رہی ہے۔ اس میں کچھ اعلی درجے کے تصورات ہیں جو باقی پروگرامنگ زبان سے بہتر بناتے ہیں۔ اس طرح کا ایک تصور جاوا ورچوئل مشین ہے ، اس مضمون میں ، ہم اس کے مختلف پہلوؤں کے بارے میں سیکھیں گے ورچوئل مشین تفصیل سے۔ اس بلاگ میں زیر بحث عنوانات ہیں۔

بڑے اعداد و شمار کے تجزیات کی ایپلی کیشنز

جاوا ورچوئل مشین کیا ہے؟

جاوا ورچوئل مشین ایک پلیٹ فارم سے آزاد تجریدی مشین ہے جو رن ٹائم ماحول فراہم کرتی ہے جس میں جاوا بائٹ کوڈ پر عمل درآمد کیا جاتا ہے۔





یہ جاوا رن ٹائم ماحول کا ایک حصہ ہے جو جاوا بائیک کوڈ کو مشین پڑھنے کے قابل زبان میں تبدیل کرتا ہے۔ مین جو ہمارے پاس جاوا پروگرام میں ہے وہ دراصل جاوا ورچوئل مشین کے ذریعے بلایا جاتا ہے۔

jvm - جاوا ورچوئل مشین - edureka

ہمیں جاوا ورچوئل مشین کی ضرورت کیوں ہے؟

ہمیں ان کاموں کے لئے جاوا ورچوئل مشین کی ضرورت ہے جو یہ انجام دیتے ہیں جو جاوا میں شامل کسی بھی ترقی کے ل extremely انتہائی ضروری ہیں۔ جاوا ورچوئل مشین کے ذریعہ کچھ کام درج ذیل ہیں۔



  • کوڈ لوڈ کرتا ہے
  • کوڈ کی توثیق
  • کوڈ پر عمل درآمد
  • یہ ایپلی کیشنز کیلئے رن ٹائم ٹائم ماحول مہیا کرتا ہے
  • یاد داشت کا علاقہ
  • رجسٹر سیٹ
  • کچرا جمع کرنے کا ڈھیر مہیا کرتا ہے
  • مہلک غلطیوں کی اطلاع دینا
  • فراہم کرتا ہے a کلاس فائل کی شکل

ان تمام کارروائیوں کے ساتھ ، جاوا ورچوئل مشین جاوا کی نشوونما کا لازمی جزو ہے۔ آئیے یہ سمجھنے کی کوشش کریں کہ یہ جاوا ورچوئل مشین فن تعمیر کی مدد سے کیسے کام کرتا ہے۔

جاوا ورچوئل مشین فن تعمیر

جاوا ورچوئل مشین فن تعمیر بہت آسان ہے ، اس میں میموری کا علاقہ ، کلاس لوڈر اور دیگر اجزاء کے درمیان ایک عمل انجن ہے۔ آئیے ہم ان میں سے ہر ایک پر تفصیل سے بات کرتے ہیں۔

کلاس لوڈر

یہ ایک سب سسٹم ہے جو کلاس فائلوں کو لوڈ کرنے کے لئے استعمال ہوتا ہے۔ جب بھی ہم جاوا میں کوئی پروگرام چلاتے ہیں تو اس میں سب سے پہلے کلاس لوڈر لوڈ کیا جاتا ہے۔ اہم تقریب میں ابتداء ، منسلک اور لوڈنگ شامل ہیں۔ جاوا میں بلٹ میں کلاس لوڈرز درج ذیل ہیں۔



    • بوٹسٹریپ ClassLoader - یہ توسیع ClassLoader کی سپر کلاس ہے جو rt.jar فائل کو لوڈ کرتی ہے۔

    • توسیع ClassLoader - یہ ڈائریکٹری میں واقع جار فائلوں کو لوڈ کرتا ہے۔

    • سسٹم / ایپلی کیشن ClassLoader - یہ کلاس پاتھ سے کلاس فائلوں کو بھری ہے۔

    • لوڈنگ آپریشن - پہلے کلاس لوڈر کلاس فائلوں کو لوڈ کرتا ہے اور بائنری فارمیٹ میں وہی ڈیٹا تیار کرتا ہے جو طریقہ کے علاقے میں محفوظ ہوتا ہے۔

    • لنکنگ آپریشن - لوڈ کرنے کے بعد اس کی تیاری ، تصدیق اور حل ہوجاتا ہے۔ جے وی ایم کلاس متغیرات کے لئے میموری مختص کرتا ہے اور میموری کو ڈیفالٹ ویلیوز میں شروع کرتا ہے۔ یہ .class فائل کی درستگی کو یقینی بناتا ہے اور جب توثیق ناکام ہوجاتی ہے تو ، ہمیں رن ٹائم استثنا کی خرابی مل جاتی ہے۔

    • ابتداء - تمام مستحکم متغیرات کو اس مرحلے میں کوڈ بلاک میں بیان کردہ ان کی اقدار کے ساتھ تفویض کیا گیا ہے۔

جے وی ایم میموری

  • طریقہ ایریا - یہ ہر طبقے کے ڈھانچے کو اسٹور کرتا ہے جیسے کوڈ ، فیلڈ ڈیٹا ، رن ٹائم مستقل پول ، طریقہ ڈیٹا وغیرہ۔

  • ڈھیر۔ ڈھیر میں رن ٹائم پر آبجیکٹ مختص کی جاتی ہیں۔

  • JVM زبان کے ڈھیر - یہ مقامی متغیرات اور نتائج اسٹور کرتا ہے۔ یہ نتائج طلب کرنے اور واپس آنے میں اہم کردار ادا کرتا ہے۔ جب بھی کوئی طریقہ طلب کیا جاتا ہے تو ایک فریم بن جاتا ہے اور جیسے ہی یہ درخواست ختم ہوتی ہے یا مکمل ہوجاتی ہے۔

  • پی سی رجسٹر - اس میں جے وی منسٹرکشن کا پتہ یا مقام ہے جس پر عمل درآمد ہو رہا ہے۔

  • آبائی طریقہ کے اسٹیکس - ایپلی کیشنز میں استعمال ہونے والے تمام دیسی طریقے دیسی طریقہ اسٹیک میں موجود ہیں۔

  • پھانسی انجن - ایک عمل انجن میں ایک ورچوئل پروسیسر ، ایک ترجمان اور ایک ہوتا ہے جے آئی ٹی مرتب

  • آبائی طریقہ انٹرفیس - یہ ایک ہے یہ مہیا کرتا ہے۔

اب جب ہم JVM کے فن تعمیر کو سمجھ چکے ہیں ، آئیے اس پر عمل درآمد اور کوڈ کی تالیف پر ایک نظر ڈالیں۔

عملدرآمد

جاوا کوڈ پر عمل درآمد اور تالیف کرتے وقت درج ذیل اقدامات اٹھائے جاتے ہیں۔

  • اہم طریقہ ایک فائل میں محفوظ ہوتا ہے اور دوسرے طریقوں کو مختلف فائلوں میں محفوظ کیا جاتا ہے۔
  • تالیف کے بعد ، یہ متعلقہ. کلاس فائلیں مہیا کرے گا جس میں بائی کوڈ کسی لنک کے بغیر ہوگا ، سی کے برعکس۔
  • پھانسی کے دوران ، کلاس لوڈر کا استعمال کرتے ہوئے کسی بھی خلاف ورزی کے لئے کلاس فائلوں کی تصدیق کی جاتی ہے۔
  • اس کے بعد ، بائیک کوڈ اسی متعلقہ مشین کوڈ میں تبدیل ہوجاتا ہے۔ یہی وجہ ہے کہ جاوا نسبتا slow سست پڑتا ہے۔

اب جب ہم جانتے ہیں کہ عملدرآمد کس طرح کام کرتا ہے تو آئیے ، جے ڈی کے ، جے آر ای اور جے وی ایم کے درمیان فرق پر ایک نظر ڈالیں۔

جے ڈی کے ، جے آر ای ، اور جے وی ایم کے مابین فرق

ذیل میں چند اہم اختلافات درج ذیل ہیں جے ڈی کے ، JVM ، اور JRE۔

  1. JDK کا مطلب جاوا ڈویلپمنٹ کٹ ہے ، اور JRE کا مطلب جاوا رن ٹائم ماحول ہے۔
  2. جے ڈی کے ترقی کے لئے ہے جبکہ جے آر ای وقت کے ماحول کے لئے ہے۔
  3. جاوا پروگرام کو چلانے کے لئے جے ڈی ایم جے ڈی کے اور جے آر ای کا لازمی حصہ ہے۔
  4. جے وی ایم جاوا پروگرامنگ کا لازمی جزو ہے اور پلیٹ فارم کی آزادی فراہم کرتا ہے۔

یہ ہمارے اس مضمون کے اختتام تک پہنچا ہے جہاں جاوا ورچوئل مشین کے بارے میں ہم نے تفصیل سے سیکھا ہے۔ میں امید کرتا ہوں کہ اس سبق کے ساتھ جو کچھ آپ کے ساتھ شیئر کیا گیا ہے اس سے آپ صاف ہیں۔

اگر آپ کو یہ مضمون 'جاوا ورچوئل مشین' سے متعلق معلوم ہوا تو ، ایڈوریکا کی جانچ پڑتال کریں ، ایک قابل اعتماد آن لائن سیکھنے کی کمپنی جو 250،000 سے زیادہ مطمئن سیکھنے والوں کے نیٹ ورک کے ساتھ پوری دنیا میں پھیلی ہوئی ہے۔

ہم یہاں آپ کے سفر کے ہر قدم میں آپ کی مدد کرنے اور ایک ایسا نصاب تیار کرتے ہیں جو طلباء اور پیشہ ور افراد کے لئے تیار کیا گیا ہے جو جاوا ڈویلپر بننا چاہتے ہیں۔ کورس آپ کو جاوا پروگرامنگ میں آغاز فراہم کرنے اور ہائبرنیٹ اور اسپرنگ جیسے جاوا کے مختلف فریم ورکوں کے ساتھ ساتھ جاوا کے دونوں بنیادی خیالات کے ساتھ تربیت دینے کے لئے ڈیزائن کیا گیا ہے۔

اگر آپ کو کوئی سوال آتا ہے تو ، بلا جھجھک 'جاوا ورچوئل مشین' کے تبصرے کے سیکشن میں اپنے تمام سوالات پوچھیں اور ہماری ٹیم جواب دینے میں خوش ہوگی۔