제 질문은Java 코드를 수정하면 페이지 요청이 실행되고, 서버가 자동으로 바이트코드로 컴파일해서 jvm으로 보내서 실행시켜주는 것입니다. 수정된 코드를 실행하기 위해 jvm을 다시 시작해야 하는 이유는 무엇입니까?
Java에는 다양한 핫 배포 솔루션이 있습니다. https://www.google.com/search...
그러나 핫 배포는 성능에 영향을 미치며 프로덕션 환경에서는 Java 코드 배포 빈도가 매우 낮습니다.
따라서 개발 환경에서는 일반적으로 핫 배포가 활성화됩니다.
가상 머신을 자주 컴파일하면 Jvm 실행 메모리를 차지하고 GC에 영향을 미치며 웹 사이트 성능이 저하됩니다
핫 배포의 핵심은 클래스를 교체하는 것입니다. 이는 이전 클래스를 메모리에서 제거하고 새 클래스를 다시 로드해야 함을 의미하며, 클래스를 언로드하는 조건 중 하나는 다음과 같습니다. ClassLoader는 가비지 수집에 의해 선택될 수 있습니다. 반면에 ClassLoader를 재활용할 수 없는 경우 Java는 다시 시작만 가능합니다.
Java에는 다양한 핫 배포 솔루션이 있습니다. https://www.google.com/search...
그러나 핫 배포는 성능에 영향을 미치며 프로덕션 환경에서는 Java 코드 배포 빈도가 매우 낮습니다.
따라서 개발 환경에서는 일반적으로 핫 배포가 활성화됩니다.
가상 머신을 자주 컴파일하면 Jvm 실행 메모리를 차지하고 GC에 영향을 미치며 웹 사이트 성능이 저하됩니다
핫 배포의 핵심은 클래스를 교체하는 것입니다. 이는 이전 클래스를 메모리에서 제거하고 새 클래스를 다시 로드해야 함을 의미하며, 클래스를 언로드하는 조건 중 하나는 다음과 같습니다. ClassLoader는 가비지 수집에 의해 선택될 수 있습니다. 반면에 ClassLoader를 재활용할 수 없는 경우 Java는 다시 시작만 가능합니다.