Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Так можно? Появилась мысль. Что думаете? 
:(
    Опции темы
XVoid
Дата 12.5.2006, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 9.1.2006
Где: Украина Донецк

Репутация: нет
Всего: нет



Дело такое
Настройки программы я сохраняю в XML с помощью org.apache.commons
Но меня вот посетила такая мысль (светлая или глупая не знаю, как раз хочу спросить)
Что если  
переписать некоторые классы со вставками,
"$host" "$server" в значениях переменных хранящих парметры настроек

потом при изменении настроек натравить на неё Velocity,  скомпилировать  с новыми значениями, заменить предыдущую версию файла на новую. Интересно можно так получить  прибавку скорости,   кол-во параметров которые нужно хранить приблежается к полусотне и все они запршиваются при старте приложения. Если дальше развивать мысль можно так же поступить и с некоторыми частями кода. Фактически мысль состоит в том чтоб программа переписывала сама себя при изменении логики работы.  

Это сообщение отредактировал(а) XVoid - 12.5.2006, 22:56
PM MAIL   Вверх
tux
Дата 13.5.2006, 02:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 31
Всего: 132



Думаю лучше такой код переписать на каком-то языке, не требующем компиляции, например, Jython (написанный на Java интерпретатор Python) или BeanShell (интерпретируемая Java). Это будет проще технологически, не потребует перекомпиляции классов, а на исходники таких скриптов легко предварительно натравить и Velocity и вообще что угодно.

Изменение исходников Java-классов на мой взгляд не есть хорошая идея. 
PM MAIL Skype GTalk Jabber YIM   Вверх
XVoid
Дата 13.5.2006, 05:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 9.1.2006
Где: Украина Донецк

Репутация: нет
Всего: нет



Я конечно понимаю что такие языки как Python или там Ruby для  этого  и созданы. Я как раз спрашивал почему Изменение исходников Java-классов не есть хорошая идея?  
ведь софт зачастую настраивается один раз а потом годами в таком виде используется? в linux часто перед компиляцией приходится исходники подправлять только там я это вручную делаю, а тут предполагаю Velocity и программу с графической мордой для этого использовать... Собственно сам процесс собственно напоминает перекомпиляцю Linux ядра. 
Интерес чисто академический. 
PM MAIL   Вверх
LSD
Дата 13.5.2006, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Если ты будешь один раз компилировать код, а затем многократно его использовать то вполне можно ИМХО. У нас например, тоже используется автогенерация кода. Мне например доводилось генерировать Java классы с подобными параметрами настройки из SQL скрипта.

Другое дело, если ты перед каждым запуском будешь генерировать код, и перекомпилировать его, вот это уже извращение. 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
batigoal
Дата 14.5.2006, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Как я понял, это некий аналог условной компиляции?

В принципе, мы используем подобную подстановку, но для генерации SQL-кода. 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0993 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.