Отличный вопрос! В мире Java:
Во всех средах java функциональность горячей замены JVM позволяет вашему отладчику вносить некоторые изменения на месте, однако вы несколько ограничены - например, вы не можете изменять иерархии классов, добавлять методы и т. Д.
Существует коммерческий продукт, JRebel , который рекламирует себя как позволяющий динамически изменять практически любой код - мне никогда не удавалось заставить его работать должным образом, но, возможно, вам лучше удачи.
Кроме того, я знаю, что режим разработки GWT допускает произвольные изменения без необходимости перекомпиляции, я не думаю, что GWT был бы жизнеспособным конкурентом для непосредственного написания javascript, если бы у него не было этой функции , Однако имейте в виду, что GWT не является традиционной веб-инфраструктурой, все работает на стороне клиента.
Наконец, на стороне сервера есть платформа Play , которая также автоматически перезагрузит Java-классы с произвольными изменениями при обновлении браузера.