Byte Code Engineering Library
بائٹ کوڈ انجینئرنگ لائبریری (بی سی ای ایل) اپاچی فاؤنڈیشن کی طرف سے سپانسر کیا گیا ایک پروجیکٹ ہے جو پہلے ان کے جکارتہ چارٹر کے تحت بائنری جاوا کلاسوں (یعنی بائنری جاوا کلاسز) کو سڑنے، ترمیم کرنے اور دوبارہ کمپوز کرنے کے لیے ایک سادہ اے پی آئی فراہم کرتا ہے۔ بائٹ کوڈ)۔ 27 اکتوبر 2001 کو اپاچی جکارتہ فاؤنڈیشن کو باضابطہ طور پر عطیہ کیے جانے سے پہلے اس منصوبے کا تصور اور ترقی مارکس داہم نے کی تھی۔ استعمال بی سی ای ایل ایک سادہ لائبریری فراہم کرتا ہے جو کسی دی گئی جاوا کلاس کے اندرونی مجموعی اجزاء کو اس کے اے پی آئی کے ذریعے آبجیکٹ کنسٹرکٹس کے طور پر بے نقاب کرتا ہے (جیسا کہ نچلی سطح کے اوپی کوڈز کو الگ کرنے کے برخلاف)۔ یہ اشیاء بائنری بائٹ کوڈ میں ترمیم کرنے کے ساتھ ساتھ نیا بائٹ کوڈ تیار کرنے (موجودہ کوڈ میں نئے کوڈ کے انجیکشن کے ذریعے، یا مکمل طور پر نئی کلاسوں کی نسل کے ذریعے) کی کارروائیوں کو بھی بے نقاب کرتی ہیں۔ بی سی ای ایل لائبریری کو کئی متنوع ایپلی کیشنز میں استعمال کیا گیا ہے، جیسے: جاوا بائٹ کوڈ ڈیکمپائلنگ، اوبسکیشن، اور ری فیکٹرنگ پرفارمنس اور پروفائلنگ انسٹرومینٹیشن کالز جو کیپچر پرفارمنس میٹرکس کو میموری/کوریج ڈیٹا کی جانچ پڑتال کے لیے جاوا کلاس بائنری میں انجکشن کیا جا سکتا ہے۔ (مثال کے طور پر، داخلے/باہر نکلنے کے مقامات پر آلات کا انجیکشن لگانا۔) نئی زبان کے الفاظ کا نفاذ مثال کے طور پر، جاوا زبان میں پہلو پر مبنی اضافے کو پوائنٹ کٹ شناخت کے لیے کلاس کے ڈھانچے کو سڑنے کے لیے بی سی ای ایل کا استعمال کرتے ہوئے نافذ کیا گیا ہے، اور پھر جب پہلو سے متعلق کوڈ کو بائنری میں واپس داخل کرکے کلاس کی تشکیل نو کی جاتی ہے۔ (دیکھیں: پہلو جے) جامد کوڈ تجزیہ فائنڈ بگز بی سی ای ایل کا استعمال کرتے ہوئے کوڈ کے فقروں کے لیے جاوا بائٹ کوڈ کا تجزیہ کرتا ہے جو کیڑوں کی نشاندہی کرتے ہیں۔ آبجیکٹ ویب اے ایس ایم جاواسسٹ بیرونی لنکس اپاچی کامنز بی سی ای ایل-بی سی ای ایل پروجیکٹ ہوم پیج بھی دیکھیں۔ بی سی ای ایل پر مبنی پروجیکٹ لسٹنگ-ان منصوبوں کی فہرست جو بی سی ای ایل لائبریری کا استعمال کرتے ہیں۔ اپاچی جکارتہ ہوم-اپاچی جکارتہ ہوم پیج۔ پہلو جے-پہلو جے پروجیکٹ ہوم پیج۔ (اعلی مرئیت کے منصوبوں میں سے ایک جو بی سی ای ایل کا استعمال کرتا ہے۔) ورچوئلائزیشن سافٹ ویئر