Создать произвольный класс Java во время выполнения - PullRequest
2 голосов
/ 25 июня 2011

Кто-нибудь знает какие-либо библиотеки Java, которые позволили бы мне определить новый класс Java во время выполнения, а также создать экземпляр этого класса?

Ответы [ 4 ]

1 голос
/ 25 июня 2011

ASM является универсальной средой обработки и анализа байт-кода Java.Его можно использовать для изменения существующих классов или динамического создания классов непосредственно в двоичной форме.

1 голос
/ 25 июня 2011

Я не уверен, что это то, что вы ищете, но рассмотрите библиотеку Javassist или cglib .

Javassist (Java Programming Assistant) делает манипулирование байт-кодом Java простым.Это библиотека классов для редактирования байт-кодов в Java;это позволяет программам Java определять новый класс во время выполнения и изменять файл класса, когда JVM загружает его.[...]

cglib - это мощная, высокопроизводительная и качественная библиотека генерации кода, которая используется для расширения классов JAVA и реализации интерфейсов во время выполнения.[...]

0 голосов
/ 25 июня 2011

Java Proxy класс может использоваться для создания динамических классов, которые реализуют определенные интерфейсы во время выполнения.Такие классы используют InvocationHandler для обработки вызовов методов.

0 голосов
/ 25 июня 2011

Если вы не хотите работать на уровне байт-кода, возможное решение состоит в том, чтобы использовать API компилятора Java SE 6. Например, см. здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...