이미 JVM에로드 된 클래스가 있음을 의미합니다. 어떤 다른 방법에서 우리는 무의식적으로 같은 클래스를로드하려고합니다. 그래서이 상황에서 어떤 일이 발생합니까? 즉 이미로드 된 오류 또는 예외가있을 것입니다. 그렇지 않다면 몇 가지 추가 기능을 사용하여 클래스를 수정하고 필요할 때마다 핫 배포가 가능할 수 있습니다.이미로드 된 클래스를 다시로드하면 어떻게됩니까?
2
A
답변
5
아무런 변화가 없습니다. VM는 먼저 클래스가로드되었는지 확인한 후로드합니다. 그렇지 않으면 이미로드 된 클래스를 반환합니다. ClassLoader.loadClass(..)
에서
:.
이// First, check if the class has already been loaded
Class c = findLoadedClass(name);
if (c == null) {
...
}
(당신은 클래스 로딩에 대한 광범위한 세부 사항에 this article을 확인할 수 있습니다이 직접 질문에) 전체 (관련되지는 않지만, 그것은 질문에 대한 답변의 좋은 소스입니다 like yours)
0
로드 된 상태에서 클래스를 다시 사용하려는 경우 싱글 톤 클래스 패턴을 확인해야합니다. 같은 클래스를 다시로드하면 클래스의 인스턴스가 여러 개있을 것이므로 오류는 발생하지 않습니다.
0
클래스 로더 당 하나의 클래스 만있을 수 있으므로 이론적으로 불가능합니다. static initializer 블록에 S.o.p 문을 넣는 것을 호출하여 실제로 이것을 테스트 할 수 있습니다. 이 블록은 클래스가로드 될 때 한 번만 실행됩니다. 주석 [주어진 이름]
관련 문제
- 1. 이미로드 된 클래스를 Java에서 언로드하는 방법은 무엇입니까?
- 2. 플렉스 : 이미로드 된 경우 로더가로드되지 않습니까?
- 3. 이미로드 된 jquery 페이지 내에 페이지로드 중!
- 4. 이미로드 된 후 jquery가있는 div 요소로로드
- 5. SWF를 다시로드하면 오류가 발생합니다.
- 6. UIWebView를 사용하여 UITableView를 다시로드하면 깜박임
- 7. 봉인 된 클래스가 Java로 적용되며, 그렇다면 어떻게됩니까?
- 8. 이미로드 된 자바 스크립트 언로드/삭제 또는 재사용
- 9. .NET - 이미로드 된 어셈블리의 파일 또는 어셈블리를로드 할 수 없습니다.
- 10. 상속 데이터가 이미로드 된 ascx 뷰에서 사용할 개체 목록 MVC
- 11. 어떻게 EF에서 이미로드 된 데이터를 쿼리 할 수 있습니까?
- 12. 한 번 페이지가 이미로드 된 jQuery 슬라이딩 방식
- 13. 이미로드 된 uiwebview를 새로운 HTML 문자열로 다시로드하는 방법은 무엇입니까?
- 14. 동일한 cocos2d 장면을 다시로드하면 분홍색 화면이 표시됩니다.
- 15. 'ssh2'모듈이 이미로드 됨 Unknown 0 행에
- 16. 클래스를 NSMutableArray에 추가하고 해당 객체와 배열을 모두 변경하면 어떻게됩니까?
- 17. Google App Engine에서 영구 객체와 관련된 클래스를 변경하면 어떻게됩니까?
- 18. 만료 된 [UIImage imageNamed :] 객체는 어떻게됩니까?
- 19. session_id()로 만료 된 세션을 설정하면 어떻게됩니까?
- 20. 인증서가 삭제되면 암호화 된 데이터는 어떻게됩니까?
- 21. ProgID에 부과 된 요구 사항을 위반하면 어떻게됩니까?
- 22. DLL에서 선언 된 전역 변수는 어떻게됩니까?
- 23. DataSet에 SQL에서 중복 된 명명 된 열이 반환되면 어떻게됩니까?
- 24. submit_form 버튼을 클릭 한 후 다시로드하면 숨겨진 div가 표시됩니다.
- 25. 보기 컨트롤러가보기를 제거하려고 시도하면 수퍼 뷰는 어떻게됩니까?
- 26. JBoss에서로드 된 클래스를 확인하는 방법
- 27. typedef 된 클래스를 어떻게 전달합니까?
- 28. 중첩 된 클래스를 잘 사용합니까?
- 29. 대기열에서 메모리 사용은 어떻게됩니까?
- 30. CVSNT는 어떻게됩니까?
에 따라 수정 주어진 정규화 된 이름의
편집
한 클래스? –