|
|
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
когда программа в рантайме меняет сама себя, например компилит в память некоторые классы, или меняет существующие. когда такое реально надо? тыкните ссылку на практически интересный пример спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 19:05 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
Когда-то, когда деревья были большими, году этак в 99-м, сдавал я дипломную по информатике. На Borland Pascal. Задачка была несложная - сделать вывод графика конкретной заданной функции, плюс примочки типа масштабирования, скроллинга, etc... Ну а поскольку я уже тогда страдал великим самомнением о своих программистских способностях - сделал я так, чтобы функцию можно было задавать динамически, во внешнем файлике. И прога компилила на ходу TPU-шник с функцией из её описания, а затем этим модулем пользовалась... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 20:29 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
mayton, меня интересует задача ( интересный пример ), решение которой без динамически-изменяющей-сама-себя программы хуже чем с ней ( реально надо ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 21:06 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
Любой численный метод есть низкоуровенвая оптимизация типа развертывания циклов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 21:08 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
kmawкогда такое реально надо? Каждый раз, когда программа должна вести себя неким не предусмотренным заранее образом. Скажем, любая загрузка плагина - уже "меняет саму себя". Зачем нужны плагины, надеюсь, объяснять не нужно. Следующий вопрос - зачем программе делать это "компиляцией" - настоящей или не совсем. Ответ на него также прост: это даёт лучшую производительность, это даёт большие возможности довольно малой ценой, нередко это ещё и кардинально проще в реализации, нежели другие варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 21:15 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
kmawменя интересует задача ( интересный пример ), решение которой без динамически-изменяющей-сама-себя программы хуже чем с ней ( реально надо ) Любая оптимизация. Например, выполнение SQL-запроса - та же DB2, помнится, компилит запросы в бинарный исполняемый вид, Оракл компилирует PL/SQL код... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 21:17 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
kmawкогда программа в рантайме меняет сама себя, например компилит в память некоторые классы, или меняет существующие. когда такое реально надо? тыкните ссылку на практически интересный пример спасибо. полиморфный вирус. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 23:29 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
kmawкогда программа в рантайме меняет сама себя, например компилит в память некоторые классы, или меняет существующие. когда такое реально надо? тыкните ссылку на практически интересный пример спасибо. в целях отладки: что-бы не ребутить сервак при каждом изменении класса. просто спец утилиткой компилится подгружается класс в систему. не совсем то(ведь программа не сама себя модифицирует). еще гарячую замену кода любят в телекомах. там вырубать серваки нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2012, 23:32 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNеще гарячую замену кода любят в телекомах. там вырубать серваки нельзя. Не так давно еще была ситуация с такой заменой кода на каком-то космическом аппарате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2012, 10:09 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
kmawmayton, меня интересует задача ( интересный пример ), решение которой без динамически-изменяющей-сама-себя программы хуже чем с ней ( реально надо ) А все они так или иначе меняют. Чтобы написать неизменяемую ( реентерабельную ) программу, надо ещё повозиться. Причём, проблемы начнутся уже с третьей строки кода. :) ПС. В википедии очень плохая (из рук вон) статья. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2012, 10:19 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
Можно еще почитать про Java Instrumentation. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2012, 12:51 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
- замена кода в телекомах и космических кораблях - полиморфные вирусы - "...Оракл компилирует PL/SQL код..." - "А все они так или иначе меняют. Чтобы написать неизменяемую (реентерабельную) программу, надо ещё повозиться..." меня это не интересует то есть в приземленной, повседневной практике и не найти примерчик? все только из области высших сфер, получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 15:51 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
Найти можно. Например, я имел дело с системой, которая по описанию бизнес-логики документа генерила, компилировала и подключала программный код реализующих его классов. Другой вопрос, что в приземлённых случаях чаще стоит использовать другие способы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 15:57 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
kmawто есть в приземленной, повседневной практике и не найти примерчик? все только из области высших сфер, получается? А что ты собственно хочешь услышать? Какие такие высшие сферы? Про Java Instrumentation я уже говорил. +есть еще Java Hot Code Replacement (HCR). Используется в отладке кода. Я лично не использовал. Или по крайней мере не помню чтоб я явно его использовал. А сколько раз оно используется неявно - йух его знает. +любое приложение которое использует плагины и во время сеанса несколько раз их перегружает. Вот тебе еще один пример "динамической программы". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 16:00 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
самый очевидный пример - браузер. загружает JS для страницы как текстовые данные, и компилит в функции/объекты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 16:04 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
kmaw- замена кода в телекомах и космических кораблях - полиморфные вирусы - "...Оракл компилирует PL/SQL код..." - "А все они так или иначе меняют. Чтобы написать неизменяемую (реентерабельную) программу, надо ещё повозиться..." меня это не интересует то есть в приземленной, повседневной практике и не найти примерчик? все только из области высших сфер, получается? э. я же сказал - отладка программ. что-бы на каждый чих - не ребутить сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 23:46 |
|
||
|
Динамические программы
|
|||
|---|---|---|---|
|
#18+
kmaw, Для быстроты регулярное выражение можно компильнуть в сборку http://msdn.microsoft.com/en-us/library/9ek5zak6.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 06:08 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37712636&tid=1342361]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
188ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 554ms |

| 0 / 0 |
