Цитата:
Сообщение от
ax_mct
В свете того что количество разных реализаций JVM исчисляется десятками они сами себе OS. Что хотят то и делают. В частности как именно они реализуют хотсваппинг.
Не вижу никакой связи между первым утверждением и вторым, честно говоря. Если я что хочу то и делаю и я один, то я не сам себе операционная система, если нас трое и мы что хотим то и делаем мы не операционная система, вот если нас несколько десятков, то да.
(Кстати, недавно слышал передачку про
blazor там заюзали Mono в режиме интерпретации)
Цитата:
C .NET по-настоящему серьезно я работал многие годы назад, поэтому конечно еще и гуглю чтобы не бредить. Хорошим примером хотсваппинга в .NET является Shadow Copying Assemblies
И как же там с регистрацией в реестре и блокировками того, что используется
Цитата:
JIT может быть не только компилятором, но и оптимизировать используя и интерпретацию и компиляцию. Поэтому суть в реализации JIT.
В чистой интерпретатации мы просто заменяем source code файл. В этом смысле программировать в PHP как находиться в сказке.
Расскажите, как там происходит хотсвоппинг. Только пожалуйста в чем-то типа АОСа - не создается отдельный процесс на каждый запрос, а уже есть запущенный процесс, с графом объектов в памяти и надо чтобы он узнал об изменениях.
Задно какая разница между хотсвоппингов двух различных сборок: одна частично скомпилирована потому, что какие-то участки кода выполнялись там не один раз (как в HotSpot), другая - потому, что какие-то пути выполнялись, какие-то нет (как в .NET)
Цитата:
Девопс возникает из-за массы (специфичных к версиям) нюансов для которых требуется отдельная голова и часто уже отдельный подрядчик. И да, возможно дело не в том с какой стороны разбивать яйцо, а в том что исторически сложилось.
Не могли бы вы привести пример? Хотя бы топ 5 нюансов
Цитата:
То есть такой вот Agile который захватывает и PROD. C green-blue подменой это какие-то другие проекты с деплоймент раз в несколько месяцев, а то и вообще разово.
Почему blue-green это раз в несколько месяцев? Из-за чего?
Как, кстати, гарантируется корректность работы в случае хотсвоппинга в стиле X++ - например, мы изменили класс А и B. Работает клиент, но класс B пока загрузил, не может ли быть такого, что в какой-то момент он станет работать со старой версией класса A и с новой класса B?