Integer 형의 정수형의 객체가 있어도, 정수형 (int)의 원시 형은 왜 존재합니까? 그러나 문자열 유형과 동일하지 않습니다. String에는 원시적 인 형태는 없습니다. Always String은 객체 참조를 처리합니까?정수형의 정수형
정수형의 정수형
답변
속도. 기계어 코드가 두 개의 Integer 객체를 가져 와서 int 값을 추출한 다음 추가하여 새로운 결과 Integer 객체를 만들어 결과를 포함하는 대신 네이티브 CPU 명령어를 사용하여 두 int를 더하는 것이 훨씬 빠릅니다. (how JNI maps primitives)
문자열은 복잡하고 많은 방법이 있으므로 컴퓨터 코드 대위법이 없습니다. 그들은 진실한 목표로 승진된다. 또, String는 같은 값으로 작성된 다른 String와 상태를 공유합니다. 원시 가치 공유는 이와 같은 다른 원시적 가치와 함께 진술하지 않습니다. (immutable can be shared | primitive no sharing)
문자열 데이터 유형은 int보다 훨씬 복잡합니다. 한 가지 문자열을 유지하기 위해 다양한 양의 메모리가 있습니다.
프로세서 (CPU)가 정수 유형을 직접 지원하지만 문자열은 지원하지 않기 때문입니다. 그리고 성능상의 이유로 Java는 JVM이 실행될 수있는 프로세서가 지원할 수있는 일부 기본 유형을 지원합니다.
궁극적으로 계산은 기계 수준 언어로 수행됩니다. 성능 측면에서 무엇이 프리미티브와 객체간에 차이가 나는지 궁금합니다. 정교한 대답을 부탁드립니다.
이것은 코멘트 여야합니다. '대답'이 아닙니다. 여기 SO 투어에 경쟁하십시오. http://stackoverflow.com/tour –
- 1. 엔디안 및 정수형 변수
- 2. 정수형 long 및 division
- 3. 튜플의 정수형 조건
- 4. C++ 정수형 바닥 함수
- 5. Oracle : 이진 정수형
- 6. 정수형 벡터의 크기 R
- 7. 정수형 프로그래밍에서 최소화 할 알고리즘
- 8. FillChar, 그러나 정수형/추기경 용
- 9. grails scaffolded views에서 정수형 그룹화
- 10. 정수형 벡터 목록을 만드는 방법 R
- 11. 정수형의 "signed-ness"에 기반한 부분 템플릿 전문화?
- 12. C++ double에서 unsigned int로 캐스팅 할 때 정수형 오버플로 문제가 발생했습니다.
- 13. 이 상황에서 물결표의 목적은 무엇입니까?
- 14. 왜 기본 값 Java 정수를 사용하면 NullPointerException이 발생합니까?
- 15. 정수형이 부호가 있는지 또는 부호가 없는지를 테스트하는 매크로
- 16. 참조로 전달 된 캐스트 적분 형
- 17. 다음 코드를 이해할 수 없습니다.
- 18. mod 연산자 사용 C++
- 19. SQLite : 데이터 형식이 따옴표에 의존합니까?
- 20. JAVA 동적 목록 유형
- 21. 'atoi'라는 이름은 어디에서 왔습니까?
- 22. 특수 정수 변환
- 23. 다음의 저장 공간은 얼마나됩니까?
- 24. 파이썬에서 정수 배열
- 25. 해시 테이블에 키 값을 정수 값으로 사용하는 것이 얼마나 바보입니까?
- 26. Linq를 사용하여 일반 콜렉션을 페이징하려면 어떻게해야합니까?
- 27. DataGridView 프로그래밍 방식으로 정렬
- 28. 리스트가 정렬 될 때리스트에서 값을 찾는 가장 좋은 방법
- 29. C 타입 어레이를 아이어로 사용하는 방법은 무엇입니까?
- 30. 데이터베이스; 하나 또는 두 개의 고유 필드?
공간도 추가합니다. 정수를 메모리에 저장하는 공간이 적어 전체 개체가 모든 작업을 수행 할 수 있습니다. – Alex