내가 정말로 알고 싶은 것은 : Java에서 "Family"라는 클래스를 생성하고 각 패밀리는 멤버 변수로 "familyMembers"를 가지므로 각각의 "가족"이란 "가족"은 무엇입니까? 다시 말하면, 스미스 가족이 3 명의 아빠, 아빠, 엄마, 그리고 아이를 가졌다면, 가족 "스미스"를 각 가족의 구성원 변수로 만드는 데 더 많은 비용이들 것이라고하십니까? 멤버 : 아빠, 엄마, 그리고 아이? 당신이 new
키워드 또는 원시 형을 사용하지 않는Java : 하나의 변수에 대한 참조가 더 많은 메모리를 사용합니까?
2
A
답변
1
모든 비용이 부과됩니다. 다른 클래스 변수를 추가하는 경우 두 가지 방법으로 비용이 청구됩니다. 클래스가로드 될 때 클래스의 선언에 대한 첫 번째 바이트와 각 참조에 대해 또 다른 4 바이트. 클래스 정의를 메모리 (영구, permgen 공간)에로드해야하고 모든 참조가 스택에서 고유 한 참조 당 4 바이트이기 때문입니다.
0
0
예, 가족에 대한 참조가, 가족에 저장 될 때, 가족의 인스턴스의 크기를 증가 참조를 저장하는 데 필요한 메모리를 사용 참조 크기만큼.
실제로 이것은 Java VM이 사용하는 다양한 메모리 관리 기술 때문에 더 많은 메모리 소비를 의미하지 않는다는 점에 유의하십시오.
관련 문제
- 1. C++ 참조가 메모리를 사용합니까?
- 2. 하나의 ViewController는 얼마나 많은 메모리를 사용합니까?
- 3. UIScrollView는 확대/축소시 더 많은 메모리를 사용합니까?
- 4. 왜 gevent는 스레딩보다 더 많은 메모리를 사용합니까?
- 5. 익명 함수는 루프에서 더 많은 메모리를 사용합니까
- 6. GD 라이브러리가 많은 메모리를 사용합니까?
- 7. True가 False보다 많은 메모리를 사용합니까?
- 8. 낙서는 너무 많은 메모리를 사용합니까?
- 9. Windows 64에서 javaw.exe 프로세스가 더 많은 메모리를 사용합니까?
- 10. mod_perl을 실행할 때 스크립트가 왜 더 많은 메모리를 사용합니까?
- 11. 더 많은 메모리를 사용합니까? 배열 대 SQLite (안드로이드)
- 12. 왜 코코아 앱이 너무 많은 메모리를 사용합니까?
- 13. Nashorn ScriptEngine은 얼마나 많은 메모리를 사용합니까?
- 14. C/NDK에서 너무 많은 메모리를 사용합니까?
- 15. UIImage는 더 많은 메모리를 할당합니다.
- 16. 해시 테이블은 얼마나 많은 메모리를 사용합니까?
- 17. VNC 서버는 얼마나 많은 메모리를 사용합니까?
- 18. MongoDB : 긴 속성 이름은 더 큰 문서를 만들고 더 많은 메모리를 사용합니까?
- 19. 왜 간단한 lidgren 클라이언트가 많은 메모리를 사용합니까?
- 20. 변수에 대한 참조가 정의되지 않았습니다.
- 21. 브라우저가 왜 많은 양의 메모리를 사용합니까?
- 22. Tomcat 스레드는 얼마나 많은 메모리를 사용합니까?
- 23. C++ 포인터는 얼마나 많은 메모리를 사용합니까?
- 24. Java 객체의 null 속성이 메모리를 사용합니까?
- 25. Java에 더 많은 메모리를 안정적으로 제공하는 방법은 무엇입니까?
- 26. 함수를 만드는 것은 더 많은 메모리를 소비합니까?
- 27. vtk는 점점 더 많은 메모리를 사용하고 느려집니다.
- 28. 문자열 사용 vs POJOs ... 하나 더 많은 메모리를 소모합니다
- 29. 더 많은 엔티티를위한 하나의 저장소?
- 30. ImageIO가 이미지의 크기보다 더 많은 메모리를 할당합니다.
이것은 명확하지 않습니다. 당신이 이야기하는 것을 설명하기 위해 몇 가지 코드 스 니펫을 제공 할 수 있습니까? –
코드 스냅을 제공하면 문제를 더 잘 설명 할 수 있습니다. –
예, 클래스의 새 (정적이 아닌) 객체 참조는 추가 4 바이트의 비용이 듭니다. – spectre