Byte Code Engineering Library - Byte Code Engineering Library
![]() | tento článek ne uvést žádný Zdroje.Leden 2013) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Vývojáři | Softwarová nadace Apache |
---|---|
Stabilní uvolnění | 6.4.1 / 3. října 2019 |
Úložiště | ![]() |
Napsáno | Jáva |
Operační systém | Cross-platform |
Typ | Bytecode Technická knihovna |
Licence | Licence Apache 2.0 |
webová stránka | Commons |
The Byte Code Engineering Library (BCEL) je projekt sponzorovaný Apache Foundation dříve pod jejich Jakarta listina k poskytnutí jednoduchého rozhraní API pro rozklad, úpravu a opětovné složení binárního souboru Jáva třídy (tj. bytecode ). Projekt byl koncipován a vyvinut Markusem Dahmem před oficiálním darováním nadaci Apache Jakarta 27. října 2001.
Použití
BCEL poskytuje jednoduchou knihovnu, která zpřístupňuje vnitřní agregované komponenty dané třídy Java prostřednictvím svého API jako konstrukty objektů (na rozdíl od demontáže operačních kódů nižší úrovně). Tyto objekty také vystavují operace pro úpravu binárního bajtkódu, stejně jako generování nového bajtkódu (prostřednictvím vložení nového kódu do stávajícího kódu nebo prostřednictvím generování nových tříd dohromady.) Knihovna BCEL byla použita v několika různých aplikacích, jako například :
- Dekompilace, zmatení a refaktorování Java Bytecode
- Výkon a profilování
- Volání přístrojů, která zachycují metriky výkonu, lze vkládat do binárních souborů třídy Java, aby se prozkoumala data paměti / pokrytí. (Například vstřikování přístrojů do vstupních / výstupních bodů.)
- Implementace sémantiky nového jazyka
- Například, Aspektově orientovaný doplňky jazyka Java byly implementovány pomocí BCEL k rozložení třídních struktur pro identifikaci bodového řezu a poté znovu při rekonstituci třídy vložením kódu souvisejícího s aspektem zpět do binárního souboru. (Vidět: AspectJ )
- FindBugs používá BCEL k analýze bajtového kódu Java pro idiomy kódu, které označují chyby.
Viz také
externí odkazy
- Apache Commons BCEL - Domovská stránka projektu BCEL.
- Výpis projektů založených na BCEL - Seznam projektů, které využívají knihovnu BCEL.
- Apache Jakarta Home - Domovská stránka Apache Jakarta.
- AspectJ - Domovská stránka projektu AspectJ. (Jeden z vysoce viditelných projektů, který využívá BCEL.)