Byte Code Engineering Library | это... Что такое Byte Code Engineering Library? (original) (raw)

Jakarta BCEL

Тип Библиотека модификации байт-кодов
Разработчик Apache Software Foundation
Написана на Java
Операционная система Кроссплатформенное программное обеспечение
Последняя версия 5.2 (6 июня 2010)
Лицензия Apache License 2.0
Сайт http://jakarta.apache.org/bcel/

Byte Code Engineering Library (сокр. BCEL) — проект Apache Foundation, подпроект Jakarta, представляющий собой API для декомпиляции, изменения и повторной компиляции файлов классов Java (состоящих из байт-кодов). Проект изначально был задуман и разработан Маркусом Дамом, а впоследствии — безвозмездно передан Apache Jakarta foundation 27 октября 2001 года. На данный момент Java-ориентирован и не поддерживает байт-коды .NET, Python и т. д.

Использование

BCEL — простая библиотека, которая разбирает Java-класс на объекты существовавших в нём конструкций (в отличие от обычных дизассемблеров, которые просто генерируют ассемблерный код). Эти объекты поддерживают операции по изменению своих байт-кодов, а за одно и генерацию новых (вставкой их в существующий код или с помощью генерации нового класса целиком). Библиотека BCEL используется в реализации следующих функций приложений:

Например, в код могут быть введены специальные фрагменты, замеряющие производительность или получающие информацию о работе части программы.

К примеру, элементы аспектно-ориентированного программирования в Java были введены путём пересборки классов с помощью BCEL

См. также

Ссылки

Просмотр этого шаблона Apache Software Foundation
Проекты верхнего уровня ActiveMQAntApache HTTP Server • APR • Beehive • Cassandra • Cayenne • CamelCommonsCocoonCouchDB • DB • Directory • Excalibur • Forrest • Geronimo • Gump • HadoopHarmonyHBase • HiveMind • HttpComponents • iBATIS • Jackrabbit • James • JMeter • Lenya • Maven • Mina • mod perl • MyFaces • Nutch • OFBiz • OpenOffice.org • POI • Portals • Santuario • ServiceMix • Shale • ShiroSpamAssassinStrutsSubversionTapestry • Tcl • Tomcat • Turbine • Velocity • WebWork 2 • WicketXalanXerces • XMLBeans
Подпроекты Apache Commons BCEL • BSF • JCS Apache Lucene Lucene Java • Lucene4c • Lucy• Solr Apache DB Derby • Torque • DdlUtils • OJB • JDO
Apache Web Services Axis • Axis2 • CXF • WS-Commons • EWS • JaxMe • jUDDI • Kandula • Mirae • Muse • Pubscribe • Sandesha • Scout • SOAP • Synapse • TSIK • Tuscany • Woden • WSIF • WSRF • WSS4J • XML-RPC
Другие проекты Batik • FOPLog4j
Развивающиеся проекты (Incubator) XAP • River • OpenEJB • OpenJPA • Graffito • Tuscany • Log4Net • Roller • Felix • Abdera • CeltiXfire • FtpServer • Heraldry • Ivy • JuiCE • Kabuki • Lokahi • Lucene.Net • mod_ftp • NMaven • Ode • stdcxx • Woden • WSRP4J • Yoko • WADI • Qpid • stdcxx • TripleSoup • UIMA• Adobe Flex
Списанные проекты (Attic) AxKit • Cactus • ECS • Jakarta • ORO • Regexp • Slide • Taglibs
Лицензия: Лицензия ApacheСайт: apache.org