Примусова ініціалізація класу



JVM використовує 3 завантажувача: bootstrap, extension та system. У ході виконання коли зустрічається назва класу працює спочатку bootstrap завантажувач, який фактично шукає клас серед стандартних runtime бібліотек, потім завантажувач extension який шукає клас у розширеннях (lib/ext) і тільки в останню чергу вступає в дію системний завантажувач, який шукає клас у CLASSPATH .
У вашому випадку треба вставити у ваш код виклик будь-якого статичного методу класу, тоді завантажувач завантажить клас до початку виконання коду (IMHO мені так здається – особисто не перевіряв). Корисною буде трасування порядку завантаження класів: ключ verbose:class під час виклику JVM

у вашому випадку треба вставити у ваш код виклик будь-якого статичного методу класу, тоді завантажувач завантажить клас до початку виконання коду (IMHO мені так здається – особисто не перевіряв). Корисною буде трасування порядку завантаження класів: ключ verbose:class під час виклику JVM
Дякую, але це знову ж таки варіант не зовсім підходить. Думаю зробити так: створити інструкцію @prepareInitialization і свій лоадер. Лоадер повинен буде пройтися класами і знайти анотовані. Їх він і завантажить першими. Тоді питання в тому як це зробити: "пройтися класами і знайти анотовані"?