Archiwa tagu: dcevm

DCEVM – prawdziwy hot swap

Hot Swap, czyli podmiana kodu w trakcie działania aplikacji, jest w Javie dostępny już od dłuższego czasu. Jest to jednak hot swap częściowy, ponieważ Java HotSwap™ VM potrafi zaktualizować tylko implementację istniejących metod. Zmiany na poziomie klasy, czy całej hierarchii klas, są poza jej zasięgiem. W tym miejscu do akcji wkracza DCEVM, czyli Dynamic Code Evolution VM. Jest to modyfikacja wcześniej wspomnianej maszyny wirtualnej, która pozwala na dodawanie klas, metod, modyfikację drzewa dziedziczenia, a to wszystko bez restartu maszyny! Jako że jest to projekt open source, źródła i binarki są do ściągnięcia na oficjalnej stronie. Projekt jest jeszcze w fazie rozwoju, dlatego nie jest zalecane używanie go na produkcyjnych środowiskach. Doskonale natomiast może się sprawdzić na maszynach developerskich, gdzie potrafi zaoszczędzić sporo czasu potrzebnego na ponownie uruchamianie aplikacji. Osobiście jestem bardzo ciekawy jak będzie wyglądać rozwój DCEVM – bardzo mu kibicuję i liczę na pojawienie się takiego rozwiązania w standardowej maszynie wirtualnej od Oracle. Interesujące może być również to, jak przy rozwijających się darmowych rozwiązaniach poradzi sobie JRebel. Zasady działania tych dwóch narzędzi są różne, ale dla użytkownika końcowego znaczenie ma cel, który w obydwu przypadkach jest praktycznie taki sam.

Aha, dla osób używających IntelliJ IDEA dostępny jest plug-in ułatwiający integrację DCEVM z tym IDE. Zachęcam do zabawy!