2012-11-26 3 views
6

JVM 핫스왑이란 무엇입니까?JVM 핫스왑

많은 정의에 따르면이 기능을 사용하면 디버깅 중에 코드를 즉시 업데이트 할 수 있습니다.

핫 스와핑과 같은 몇 가지 제한 사항은 메서드 본문 만 업데이트하는 것으로 제한되며 메서드와 필드를 클래스에 추가하려고하면 성공하지 못합니다.

누구나 코드로이를 설명 할 수 있습니까?

+0

일반적으로 IDE에서 코드를 디버깅/실행하는 동안 IDE에서 수행합니다. 응용 프로그램을 다시 컴파일하거나 다시 시작할 필요없이 코드의 일부를 변경하고 핫 스왑하고 새 코드로 실행/디버깅을 재개하십시오. – assylias

답변

11

모두 디버깅 세션 중에 코드를 변경하고 응용 프로그램을 다시 시작하지 않고 변경 사항을 즉시 적용 할 수 있다는 것을 의미합니다.

일부 상황에서는 매우 유용한 기능입니다. 그러나 일반적으로 실행중인 응용 프로그램으로 핫 스왑 될 수있는 코드 변경 사항은 제한되어 있습니다. 제한 사항의 정확한 특성은 툴 체인에 따라 다릅니다.

+0

JRebel을 사용하지 않을 때 메소드 서명을 포함한 클래스 구조의 변경은 핫스왑이 불가능합니다. 기본적으로 메소드의 본문을 변경할 때만 작동합니다. – Gimby

+1

따라서 특정 코드 변경 사항이 응용 프로그램을 다시 배포하지 않고 적용되면 코드 부분이 핫 스왑되었음을 의미합니다. –

+0

핫 스와핑은 코드를 컴파일해야하거나 핫 스핑 기능 자체가 코드와 핫스왑을 컴파일해야합니다. –