게임을 만들 때 모든 데이터가 캡슐화되어있어 해당 클래스의 인스턴스에서 무언가를 얻으려는 경우 getter 메서드를 호출해야한다는 것을 의미합니다. 여러 번 호출되는 렌더링 루프가 있습니다. 개체에서 단일 필드를 잡고 여러 가지 작업을 수행하기 위해 동일한 getter 메서드를 여러 번 호출해야합니다. 객체에 대한 추가 참조를 저장하는 것이 더 좋을까요? 객체를 필요로하는 클래스에서 계속 잡아 먹고 있습니까? 이 경우 생성자에서 가져 와서 수행 할 수 있습니다. 이게 말이 돼? 엄청 고마워.자바 게터 메서드 성능
답변
다른 게시 된 답변과 성능 차이가 없음에 동의합니다.
그러나 가독성 및 모범 사례에 대한 답변에서 OP의 질문을 잘못 이해했다고 생각합니다. 그는 최상의 습관을 피하고 getter를 사용하지 않을지 묻지 않습니다. 그는 모든 라인에서 getter를 호출하는 것이 아니라 검색된 객체에 대한 로컬 참조를 만들 수 있는지/물어야하는지, 그리고 표준 세계에서 실제로 훨씬 더 읽기 쉽도록 요청하고 있습니다.
먼저 고려 :
doFooThings(service.getFoo());
doBarThings(service.getFoo().getBar());
doBazThings(service.getFoo().getBar().getBaz());
doMoreBazThings(service.getFoo().getBar().getBaz());
doOneLastAmazingBazThing(service.getFoo().getBar().getBaz());
가 비교 :
Foo myFoo = service.getFoo();
doFooThings(myFoo);
Bar myBar = myFoo.getBar();
doBarThings(myBar);
Baz myBaz = myBar.getBaz();
doBazThings(myBaz);
doMoreBazThings(myBaz);
doOneLastAmazingBazThing(myBaz);
코드에 더 많은 소음과 들여 쓰기가있을 때 두 번째 버전은 특히 현실 세계에서, 더 많은 읽을 수 있습니다, 간결한 라인을 읽는 것이 훨씬 쉽습니다. 동일한 getter 호출이 12 번 연속으로 나타나는 것을 보는 것이 아니라 설명 적으로 이름이 지정된 로컬 변수를 참조하는 것입니다.
개체에 대한 추가 참조를 저장하는 것이 좋습니다. 필요로하는 수업에서 계속해서 잡아 먹는 것이 좋습니다.
번호
당신은 당신의 코드가 자주이라고 말할 특히 때문에, JIT는에 시작된다. 그것은 게터 호출이 더 간단 부하에 의해 대체 될 수 있습니다 볼 확실히 할 것이다.
JIT를 과소 평가하지 마십시오.
더 효율적 일 필요는 없지만 코드를 덜 분명하게하는 대신 희박한 문자를 입력하는 것이 더 빠르다. – kirbyquerby
@kirbyquerby ... 그리고 아마도 IDE는 사용할 수있다. – fge
@Stephen CI think OP의 질문에 대한 오해가있을 수 있습니다, 내 대답은 아래 참조하십시오. OP, 내가 잘못하면 나를 바로 잡아라. – The111
- 1. 는 자바 게터 성능 저하
- 2. 캐싱 된 게터 성능
- 3. 체인 메서드 호출 자바 성능
- 4. 자바 - 동기화 게터
- 5. 자바 스크립트 나 게터
- 6. 자바 보편적 게터
- 7. 자바 게터 및 세터 문제
- 8. 루비 클래스 인스턴스 변수 게터 설정 메서드
- 9. ReaderWriterLockSlim 확장 메서드 성능
- 10. NSManagedObjectContext의 Save 메서드 성능
- 11. 기본 배열 유형 게터 자바 스크립트를 변경하십시오.
- 12. 게터 세터 자바, 전달 개인 변수
- 13. 자바 메서드(). 메서드() 호출
- 14. 성능 + = 자바
- 15. 이미지 (성능) 렌더링 OpenGL 메서드
- 16. 컨트롤 참조 정적 메서드 성능
- 17. C# Count() 확장 메서드 성능
- 18. 세터/게터
- 19. 게터 세터가
- 20. 부작용이있는 게터
- 21. 게터 방법은
- 22. StringTemplate는 게터
- 23. 아이폰 OS는 - 더 나은 게터/세터 직접 메서드 또는 속성
- 24. 최종 변수에 대한 게터
- 25. 자바 스크립트 성능 최적화?
- 26. 자바 스크립트 성능 질문
- 27. 자바 스크립트 무효 성능
- 28. 자바 호기심 루프 성능
- 29. 자바 스크립트 성능 분석
- 30. 자바 프로그램의 성능 질문
getter/setters와 같은 간단한 메소드가 자동으로 정렬되며 (기본적으로 35 바이트 바이트 코드 미만의 항목) 노트의 성능 영향은 없습니다. –
자, 고마워. –