Русская Википедия:Byte Code Engineering Library

Материал из Онлайн справочника
Версия от 20:49, 13 июля 2023; EducationBot (обсуждение | вклад) (Новая страница: «{{Русская Википедия/Панель перехода}} {{Infobox Software | name = Jakarta BCEL | logo = | screenshot = | caption = | developer = Apache Software Foundation | latest preview version = | latest preview date = | operating system = Кроссплатформенное программное обеспечение | последняя версия = 6.5.0<ref>{{cite web|title=rel/commons-bcel-6.5.0|url=https://github.com...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Шаблон:Infobox Software

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

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

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

Например, в код могут быть введены специальные фрагменты, замеряющие производительность или получающие информацию о работе части программы.
  • Внедрение новой семантики языка
К примеру, элементы аспектно-ориентированного программирования в Java были введены путём пересборки классов с помощью BCEL

См. также

Примечания

Шаблон:Примечания

Ссылки


Шаблон:Apache

Шаблон:Computer-sci-stub