projects:lock_free_testing:start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
students:lock_free_testing:start [2020/02/16 17:34] – ashahov | projects:lock_free_testing:start [2020/04/14 10:19] (current) – ↷ Page moved from students:lock_free_testing:start to projects:lock_free_testing:start kel | ||
---|---|---|---|
Line 3: | Line 3: | ||
---- | ---- | ||
- | [[.:Lin-Check]] | + | |
+ | ===== Варианты модификации сущеcтвующего байт-кода ===== | ||
+ | - Подмена ClassLoader`a | ||
+ | - Создать свой кастомный: | ||
+ | * Create a custom system(java -Djava.system.class.loader=com.example.MyCustomClassLoader) | ||
+ | - Использовать библиотеки | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * Плюсы: | ||
+ | * Это довольно просто | ||
+ | * Минусы: | ||
+ | * Не понятно, | ||
+ | * Только статическая инициализация | ||
+ | * Распостраняется на все использования данного класса в программе | ||
+ | | ||
+ | * Java Agent - позволяет менять байт-код | ||
+ | * Javassist - позволяет генерировать байт-код | ||
+ | * Attach API(https:// | ||
+ | * Плюсы: | ||
+ | * Динамическая замена байт-кода(возможно даже в конкретном потоке) | ||
+ | * Классический способ для подмены реализации класса(см. jRebel) | ||
+ | * Минусы: | ||
+ | * Много лишних действий для получения результата | ||
+ | * Ссылки: | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | |||
+ |
projects/lock_free_testing/start.1581863664.txt.gz · Last modified: 2020/02/16 17:34 by ashahov