Byte Code Engineering Library
बाईट कोड इंजीनियरिंग लाइब्रेरी (बी. सी. ई. एल.) अपाचे फाउंडेशन द्वारा प्रायोजित एक परियोजना है जो पहले उनके जकार्ता चार्टर के तहत द्विआधारी जावा वर्गों (यानी बाईनरी जावा वर्गों) को विघटित करने, संशोधित करने और पुनः संयोजित करने के लिए एक सरल ए. पी. आई. प्रदान करती है। बाइटकोड)। 27 अक्टूबर 2001 को अपाचे जकार्ता फाउंडेशन को आधिकारिक रूप से दान किए जाने से पहले इस परियोजना की कल्पना और विकास मार्कस डाहम द्वारा किया गया था। उपयोग बी. सी. ई. एल. एक सरल पुस्तकालय प्रदान करता है जो किसी दिए गए जावा वर्ग के आंतरिक समुच्चय घटकों को अपने ए. पी. आई. के माध्यम से वस्तु निर्माण के रूप में उजागर करता है (निचले स्तर के ऑपकोड के पृथक्करण के विपरीत)। ये वस्तुएँ द्विआधारी बाइटकोड को संशोधित करने के साथ-साथ नए बाइटकोड (मौजूदा कोड में नए कोड के इंजेक्शन के माध्यम से, या पूरी तरह से नए वर्गों की पीढ़ी के माध्यम से) उत्पन्न करने के लिए संचालन को भी उजागर करती हैं। बी. सी. ई. एल. पुस्तकालय का उपयोग कई विविध अनुप्रयोगों में किया गया है, जैसे किः जावा बाइटकोड डीकंपाइलिंग, ओब्फुसेशन, और रिफैक्टरिंग प्रदर्शन और प्रोफाइलिंग इंस्ट्रूमेंटेशन कॉल जो प्रदर्शन मेट्रिक्स को कैप्चर करते हैं, उन्हें मेमोरी/कवरेज डेटा की जांच करने के लिए जावा वर्ग द्विआधारी में इंजेक्ट किया जा सकता है। (उदाहरण के लिए, प्रवेश/निकास बिंदुओं पर उपकरण का इंजेक्शन लगाना।) नई भाषा शब्दार्थ का कार्यान्वयन उदाहरण के लिए, जावा भाषा में पहलू-उन्मुख परिवर्धन को बिंदु-कट पहचान के लिए वर्ग संरचनाओं को विघटित करने के लिए बी. सी. ई. एल. का उपयोग करके लागू किया गया है, और फिर जब पहलू-संबंधित कोड को बाइनरी में वापस इंजेक्ट करके वर्ग का पुनर्गठन किया जाता है। (देखिएः एस्पेक्टजे) स्थैतिक कोड विश्लेषण फाइंडबग्स कोड मुहावरे के लिए जावा बाइटकोड का विश्लेषण करने के लिए बी. सी. ई. एल. का उपयोग करता है जो बग को इंगित करते हैं। ऑब्जेक्टवेब ए. एस. एम. जावासिस्ट बाहरी लिंक अपाचे कॉमन्स बी. सी. ई. एल.-बी. सी. ई. एल. परियोजना मुख पृष्ठ भी देखें। बी. सी. ई. एल.-आधारित परियोजना सूची-उन परियोजनाओं की सूची जो बी. सी. ई. एल. पुस्तकालय का उपयोग करती हैं। अपाचे जकार्ता होम-अपाचे जकार्ता होम पेज। एस्पेक्टजे-द एस्पेक्टजे प्रोजेक्ट होम पेज। (उच्च दृश्यता परियोजनाओं में से एक जो बी. सी. ई. एल. का उपयोग करती है।) वर्चुअलाइजेशन सॉफ्टवेयर