Разработчики) | Шигеру Чиба (программист) |
---|---|
Стабильный выпуск | 3.25.0-GA / 16 апреля 2019 г. |
Репозиторий | |
Написано в | Ява |
Операционная система | Кроссплатформенность |
Тип | Инженерная библиотека байт-кода |
Лицензия | двойная лицензия MPL и LGPL . |
Интернет сайт | www |
Javassist ( помощник по программированию на Java ) - это библиотека Java, предоставляющая средства для управления байт-кодом Java приложения. [1] В этом смысле Javassist обеспечивает поддержку структурного отражения , то есть способность изменять реализацию в виде класса на время выполнения .
Манипуляции с байт-кодом выполняются во время загрузки с помощью предоставленного загрузчика классов .
Javassist позволяет программам Java определять новый класс во время выполнения и изменять файл класса, когда JVM загружает его. В отличие от других подобных редакторов байт-кода, Javassist предоставляет два уровня API: уровень исходного кода и уровень байт-кода. Используя API уровня исходного кода, программисты могут редактировать файл класса, не зная спецификаций байт-кода Java; весь API разработан только с использованием словаря языка Java. Программисты могут даже указать вставленный байт-код в виде исходного текста Java; Javassist компилирует его на лету. С другой стороны, API уровня байт-кода позволяет пользователям напрямую редактировать файл класса, как и другие редакторы.
Использует [ редактировать ]
Javassist можно использовать для следующих целей:
- Для указания байт-кода с использованием исходного кода - можно скомпилировать фрагмент исходного текста в Интернете (например, только один оператор)
- Для аспектно-ориентированного программирования (АОП) - может вводить новые методы в класс и вставлять рекомендации до / после / вокруг как на вызывающей, так и на вызываемой сторонах.
- Для отражения во время выполнения - можно использовать метаобъект, который управляет вызовами методов для объектов базового уровня.
- Для вызова удаленного метода - может вызывать метод удаленного объекта, работающего на веб-сервере, альтернатива Java RMI , которому не нужен компилятор-заглушка, такой как rmic
См. Также [ править ]
Ссылки [ править ]
- ^ "Javassist" . Сообщество JBoss.
Внешние ссылки [ править ]
Официальный веб-сайт