Byte Code Engineering Library

Byte Code Engineering Library
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

См. также

Ссылки




Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Byte Code Engineering Library" в других словарях:

  • Byte Code Engineering Library — Infobox Software name = Jakarta BCEL caption = developer = Apache Software Foundation latest release version = 5.2 latest release date = release date|2006|06|06 latest preview version = latest preview date = operating system = Cross platform… …   Wikipedia

  • Self-modifying code — In computer science, self modifying code is code that alters its own instructions, intentionally or otherwise, while it is executing.Self modifying code is quite straightforward to write when using assembly language (taking into account the CPU… …   Wikipedia

  • ObjectWeb ASM — Developer(s) OW2 Consortium Stable release 4.0 / October 29, 2011; 19 days ago (2011 10 29) Written in Java …   Wikipedia

  • Bytecode — is a term which has been used to denote various forms of instruction sets designed for efficient execution by a software interpreter as well as being suitable for further compilation into machine code. Since instructions are processed by software …   Wikipedia

  • Javassist — infobox software developer = Shigeru Chiba released = latest release version = 3.8.0GA latest release date = release date|2008|01|21 programming language = Java operating system = Cross platform genre = bytecode Engineering Library license = dual …   Wikipedia

  • Object code optimizer — A binary optimizer takes the existing output from a compiler and produces a better execution file with the same functionality. An object code optimizer, sometimes also known as a post pass optimizer or, for small sections of code, peephole… …   Wikipedia

  • Java Et Logiciel Libre — Java est libre et open source (depuis le 13 novembre 2006 voir plus loin), et sa licence à permis l éclosion d un grand nombre d outils libres dans les domaines les plus variés. Sommaire 1 Discussion sur la licence de Java 2 Licence… …   Wikipédia en Français

  • Java et logiciel libre — Java est libre et open source (depuis le 13 novembre 2006 voir plus loin), et sa licence à permis l éclosion d un grand nombre d outils libres dans les domaines les plus variés. Sommaire 1 Discussion sur la licence de Java 2 Licence… …   Wikipédia en Français

  • Bytecode Java — Le bytecode Java est l ensemble des instructions exécutables par une machine virtuelle java. Par extension, il désigne un flux d octets binaire au format d une classe java. Ce flux est habituellement le résultat de la compilation d un code source …   Wikipédia en Français

  • Apache BCEL — BCEL (Byte Code Engineering Library) est une bibliothèque Java de manipulation et d analyse du bytecode Java. BCEL est un sous projet d Apache Jakarta publié sous licence Apache par la fondation Apache. BCEL permet d analyser, créer, et manipuler …   Wikipédia en Français


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»