Что такое "ткачество"?
Я видел этот термин, когда читал о том, как работает Spring, и я только что прочитал статью о производительности реализации JPA, и у нее есть следующая статистика:
EclipseLink 3215 ms
(Run-time weaver - Spring ReflectiveLoadTimeWeaver weaver )
EclipseLink (Build-time weaving) 3571 ms
EclipseLink (No weaving) 3996 ms
Итак, может кто-нибудь объяснить на простом английском языке, что такое ткачество?
Спасибо!
Ответы
Ответ 1
Из здесь:
В Spring AOP позволяет модулировать и отделять ведение журнала, транзакционные сервисы и декларативно применять их к компонентам. Следовательно, программист может сосредоточиться на конкретных проблемах. Аспекты подключаются к объектам в XML файле Spring так же, как JavaBean. Этот процесс известен как "ткачество".
Ответ 2
Плетение генерирует или редактирует код, напрямую изменяя существующие файлы .class(байт-код).
Это может произойти в разных точках жизненного цикла приложения.
- Вне JVM
во время компиляции
во время упаковки
- Внутри JVM
при загрузке класса.
после загрузки класса.
Spring Framework использует это для функциональности AOP. Eclipselink использует ткачество для ленивой загрузки или отслеживания изменений.
Ответ 3
Объектно-ориентированные программные системы, которые разработаны
с использованием аспектно-ориентированных методов программирования
состоят из классов и аспектов. Классы реализуют
основная функциональность приложения,
например, управление запасами или расчет
страховые ставки. Аспекты, с другой стороны, захватывают
технические проблемы, такие как упорство,
связи или синхронизации процесса.
Существует два способа, которыми классы и аспекты
могут быть сотканными: статическими или динамическими.
Статическое ткачество означает изменение исходного кода класса путем вставки аспект-спецификаций в
точки соединения. В других
слова: аспектный код встроен в классы.
результатом является сильно оптимизированный сплетенный код, исполнение которого
скорость сравнима с той, что написана в коде
без использования аспектов.
Ответ 4
Ткачество - это метод манипулирования байтовым кодом скомпилированных классов Java.
Ссылка: http://www.eclipse.org/eclipselink/documentation/2.5/concepts/app_dev007.htm
Ура!
Ответ 5
Ткачество - это процесс связывания аспекта с другими типами приложений или объектами для создания рекомендуемого объекта. Ткачество может выполняться во время компиляции, времени загрузки или времени выполнения. Spring AOP выполняет плетение во время выполнения.