특히 접근 방식이 더 많은 리소스를 소비하는 J2ME에서는 public static
변수를 조작하거나 set()
및 get()
메소드를 조작합니까?어떤 방법으로 더 많은 리소스를 사용합니까? 정적 또는 getter/setter입니까?
2
A
답변
0
public static
필드 액세스는 setter/getter
메쏘드보다 적은 리소스를 소비합니다. 현대적인 핫스팟 JVM을 사용하는 경우 최소한의 차이가 있습니다.
0
정상적인 필드에 대한 액세스 권한 이상을 사용하고 설정합니다. 아마도 static
이 아닙니다.
2
실제 런타임 환경에 의존하기 때문에 말할 수 없습니다. JIT, AOT 또는 Hotspot 컴파일러는 잠재적 메소드 오버 헤드를 아주 잘 최적화 할 수 있습니다.
2
get()
과 set()
을 사용하면 메서드에 직접 액세스하는 것보다 비용이 많이 들지만 컴파일러 나 JIT에서는 메서드 호출을 인라인하여 최적화 할 수 있지만 차이는 무시할 수 있습니다. 또한 일반적으로 모든 속성을 static
으로 선언하지 말고 상수 값만 선언해야합니다.
한편, get()
및 set()
메서드를 사용하면 데이터 캡슐화를 적용하는 데 바람직한 옵션이되므로 좋은 개체 지향 프로그래밍 방법입니다. 이러한 메소드가 없으면 속성을 외부에 노출해야하므로 클래스의 구현 세부 사항을 숨기고 구현의 향후 변경 사항을 어렵게 만드는 기능이 줄어 듭니다.
2
접근 자 메서드를 도입하면 클래스 파일의 크기가 크게 늘어납니다. 그러나 :
- 정적은
- 는 비트 OO를 선호하고, 오히려 당신은 아마 당신 을위한 오브젝트 코드를 압축 것 난독을 찾을 수 있습니다 무의미 보일러
- 와 구조체를 작성하는 것보다 행동 방법과 캡슐화 악
관련 문제
- 1. 더 빠르고 더 적은 리소스를 PHP에서 사용합니까?
- 2. catch 블록 내에 작성된 코드는 더 많은 리소스를 사용합니까?
- 3. 어떤 방법으로 정적 데이터를 저장하는 것이 더 낫습니까?
- 4. 더 많은 테이블 또는 더 많은 데이터베이스?
- 5. 여러분은 Xcode 템플릿에 대해 배우기 위해 어떤 리소스를 사용합니까?
- 6. cURL을 통한 정보 수집은 많은 호스팅 리소스를 사용합니까?
- 7. 더 많은 UIView 또는 더 많은 CALayer가있는 복잡한 UIView를 작성해야합니까?
- 8. 분할 작업이 일반적으로 컴퓨터에서 더 많은 리소스를 사용하는 이유는 무엇입니까?
- 9. 리소스를 수동으로 어떻게 사용합니까?
- 10. 'timer'가 더 많은 CPU 전력을 사용합니까?
- 11. 더 빠릅니다 : 많은 행 또는 많은 열?
- 12. 구성 데이터 저장 - 어떤 방법으로?
- 13. 제거되지 않은 이벤트 수신기는 얼마나 많은 리소스를 사용합니까?
- 14. 테이블이 더 많은 행, 더 많은 열 또는 더 많은 테이블을 디자인합니까?
- 15. Android 2.3.3 7 인치 태블릿에서 왜 더 큰 리소스를 사용합니까?
- 16. Maven은 다른 모듈의 리소스를 사용합니까?
- 17. Tomcat : 올바른 방법으로 리소스를 찾을 수 있습니까?
- 18. PowerMock : 정적 메서드의 조롱 (+ 어떤 특별한 방법으로 원래의 값을 반환)
- 19. 어떤 방법으로 mysql 테이블에 가입하는 것이 더 낫습니다?
- 20. "정적 방법으로 ___에 정적 방법으로 액세스해야합니다"라는 경고를 해결하는 방법
- 21. 어떤 방법으로 html5에서 캔버스를 구현하는 것이 더 낫습니까?
- 22. Java I/O가 더 많은 CPU 리소스를 사용합니다.
- 23. Java 차단 스레드가 더 많은 CPU 리소스를 차지합니까?
- 24. MaxJSONlength는 어떤 용도로 사용합니까?
- 25. VBoxManage.exe는 어떤 API를 사용합니까?
- 26. 정적 리소스를 너무 느리게로드하는 서버
- 27. 더 많은 FP 올바른 방법으로 업데이트 SQL 쿼리를 만들 수
- 28. 수면 기능은 서버 리소스를 사용합니까?
- 29. Win32에서 Dialog 리소스를 어떻게 사용합니까?
- 30. C# 정적 클래스 왜 사용합니까?
왜 가까운 표를 얻습니까? –
나는 당신이 어떤 종류의 자원을 의미하는지에 관해서이 질문을 약간 확장 할 필요가 있다고 생각한다. 그건 그렇고, 나는이 두 가지가 반드시 교환 가능한 옵션이 아니라고 생각합니다. 정적 변수를 사용하면 코드를 특정 방식으로 설계해야 할 가능성이 높습니다. 나는 단순함을 위해서 모든 "일반적인 이유"에 대해 게터와 세터를 사용할 것을 제안합니다. – posdef
안드로이드에서 J2ME를 요청하는 경우에도 내부 습득/설정기를 사용하지 않는 것이 좋습니다. 설명 [여기] (http://developer.android.com/guide/practices/design/performance.html#internal_get_set) – PeterMmm