저는 함수가 메모리에 한 번만로드된다는 것을 알고 있습니다. 내 의심은 ... 우리가 클래스의 객체를 생성하여 함수를 어떻게 참조하는지? 객체 생성 및 함수 호출 뒤에있는 것은 무엇입니까? 함수에 대한 객체의 포인터가 있습니까?클래스와 객체에 관한 의문점
2
A
답변
1
나는 당신이 용어 "virtual method table"을 찾고 있다고 생각합니다.
이 기능은 언어 (컴파일러)가 가상 함수를 호출 할 때 (Java의 모든 함수가 가상 인 경우) 실제로 호출 할 메소드를 결정하는 데 사용하는 메커니즘입니다.
1
개체를 만들 때 데이터 필드 만 만들어집니다 (할당 됨). 클래스 메소드는 전체 프로그램 실행 중에 영원히 메모리에 상주합니다.
개체에 메서드에 대한 포인터가 있는지 여부는 언어에 따라 다릅니다. 예를 들어, C++ 객체에는 가상 메소드에 대한 포인터가 포함되어 있고, normal 및 static 메소드는 상수 주소로만 호출됩니다.
관련 문제
- 1. 클래스와 객체에 관한 간단한 PHP 질문
- 2. Ruby의 객체에 관한 질문
- 3. yield()에 관한 몇 가지 의문점
- 4. OOP 및 객체에 관한 질문
- 5. JavaScript 객체에 관한 질의입니다. constructor 속성
- 6. 연결 풀링에 대한 의문점
- 7. CustomListView를 사용할 때의 의문점
- 8. matplotlib 초보자 부부의 의문점
- 9. 페이지 순위에 대한 의문점
- 10. SQL Server 인덱싱 의문점
- 11. VBA의 초심자에 대한 의문점
- 12. 일반적인 자바 스크립트 의문점
- 13. 파이썬에 대한 의문점
- 14. iPhone의 알림에 대한 의문점
- 15. 함수 인수와 재귀에 대한 클래스와 기본값에 관한 C++ 질문
- 16. JQuery Mobile 앱의 일반적인 의문점
- 17. 참조에 의한 전달에 대한 의문점
- 18. LLDB 디버깅 방법에 대한 의문점
- 19. C++ STL unordered_map 문제와 의문점
- 20. GLSL로 RayTracing을 할 때의 의문점
- 21. jQuery .hover() 성능에 대한 의문점
- 22. Enum 전략 접근법에 대한 의문점
- 23. BB 10 WebWorks 서명 의문점
- 24. 클래스와 'heap'을 배우려고 시도합니다. C++
- 25. 루비에서 클래스와 객체 구성하기?
- 26. 제네릭에 관한 질문
- 27. 안드로이드에서 xml 파일을 파싱 할 때의 의문점
- 28. 창 관리자 안드로이드에 대한 서비스 의문점
- 29. Hadoop DFS 및 MapReduce에 대한 의문점
- 30. C#을 사용하는 Active Directory에서 의문점
[this] (http://www.artima.com/insidejvm/ed2/jvm.html) 또는 다른 많은 것들과 같이 JVM 내부를 덮는 것으로부터 시작하십시오. –