Рефлексия
От: Bra Украина  
Дата: 03.05.07 14:48
Оценка:
Здравствуйте!
Возможно ли в языке Java каким-то способом осуществлять динамическую загрузку и сохранение классов? Загрузку как я понял можно организовать ClassLoader'ом, а вот сохранение?
И еще нет ли возможности конструировать классы в рантайме?
Re: Рефлексия
От: Blazkowicz Россия  
Дата: 03.05.07 14:55
Оценка:
Здравствуйте, Bra, Вы писали:

Bra>Возможно ли в языке Java каким-то способом осуществлять динамическую загрузку и сохранение классов? Загрузку как я понял можно организовать ClassLoader'ом, а вот сохранение?

Bra>И еще нет ли возможности конструировать классы в рантайме?

Зависит от того что называть "сохранением". Есть Instrumenation, есть всякое типа cgLib и ASM. Можно банально генерить исходники и компилировать javac. Что куда надо сохранить?
Re: Рефлексия
От: C0s Россия  
Дата: 03.05.07 14:56
Оценка:
Здравствуйте, Bra, Вы писали:

Bra>Возможно ли в языке Java каким-то способом осуществлять динамическую загрузку и сохранение классов? Загрузку как я понял можно организовать ClassLoader'ом, а вот сохранение?

Bra>И еще нет ли возможности конструировать классы в рантайме?

скажем, когда конструируешь класс с помощью objectweb ASM, то он сначала сериализует финальный байт-код в массив байтов.
далее этот массив можно сохранить, а можно подсунуть в classloader.defineClass

ps. динамическая загрузка — см. класс java.lang.ClassLoader
Re: Рефлексия
От: Nicht Россия  
Дата: 04.05.07 07:37
Оценка:
Здравствуйте, Bra, Вы писали:

Bra>Здравствуйте!

Bra>Возможно ли в языке Java каким-то способом осуществлять динамическую загрузку и сохранение классов? Загрузку как я понял можно организовать ClassLoader'ом, а вот сохранение?
Bra>И еще нет ли возможности конструировать классы в рантайме?

Ну и в javase 6.0 появился Compiler API.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.