Java 해시 맵과 JSONObject
Java HashMap vs JSONObject의 성능이 궁금합니다.
JSONObject는 내부에 HashMap을 사용하여 데이터를 저장하는 것 같습니다.그러나 JSONObject는 HashMap에 비해 추가 오버헤드가 있을 수 있습니다.
Java JSONObject의 HashMap과 비교하여 성능을 알고 있는 사람이 있습니까?
감사합니다!
말씀하신 대로JSONObject
에 의해 백업됩니다.HashMap
.
이 때문에 성능은 거의 같아집니다. JSONObject.get()
는 늘체크를추가하고키를찾을수없는경우예외를발생시킵니다. JSONObject.put()
그냥 전화하다map.put()
.
그래서 오버헤드가 거의 없습니다.JSON 오브젝트를 취급하는 경우에는 항상JSONObject
에 걸쳐서HashMap
.
이 질문은 몇 가지 이유로 말이 안 된다고 생각합니다.
- 사과와 오렌지의 비교:HashMap과 JSONObject는 완전히 다른 두 가지 목적으로 사용됩니다.이는 "Person 클래스 또는 Company 클래스 중 어느 쪽이 Phone Number 개체를 저장하는 데 더 효율적인지" 묻는 것과 같습니다.이치에 맞는 것을 써라.
- JSON으로 변환하거나 JSON에서 변환하는 경우 데이터를 멀리 떨어진 곳(예: 사용자의 브라우저)으로 보낼 수 있습니다.이 데이터를 네트워크를 통해 전송하고 사용자의 브라우저에서 평가하는 데 걸리는 시간은 해시맵 또는 JSONObject를 채우는 성능 차이를 훨씬 능가합니다.
- 「JSONObject」의 실장이 여러 개 존재하고 있습니다.
- 마지막으로 어떤 퍼포먼스를 측정하고 싶은지 묻지 않았습니다.당신은 이 수업으로 실제로 무엇을 할 계획입니까?
기존 답변은 맞지만 두 가지 성능 차이는 무시할 수 있습니다.
둘 다 기본적으로 데이터를 저장 및 조작하는 비효율적인 방법입니다.일반적으로 더 효율적인 방법은 일반 Java 개체에 바인딩하는 것입니다. Java 개체는 메모리를 적게 사용하고 액세스 속도가 빠릅니다.org.json의 심플한 (기본적인) 라이브러리는 잘 알려져 있기 때문에 많은 개발자들이 사용하지만 가장 편리하고 효율적인 대안이 될 수 있습니다.Jackson이나 Gson과 같은 선택은 크게 개선되었으므로 그것들을 사용하는 것을 고려할 가치가 있다.
JSONObject는 HashMap 위에 추가 오버헤드가 너무 많지 않습니다.HashMap을 사용할 수 있다면 JSONObject를 사용할 수 있습니다.이것은 JSON을 생성하는 경우에 제공됩니다.
JSONObject는 JSONObject의 일부로 저장 중인 값의 유효성을 검사하여 JSON 사양에 부합하는지 확인합니다.예를 들어,NaN 값은 유효한 JSON의 일부가 아닙니다.이와 별도로 JSONObject는 json 문자열(일반 | pretty)을 생성할 수 있습니다.JSON의 양에 따라서는, 그 문자열은 꽤 커질 수 있습니다.또한 JSONObject는 StringBuffer를 사용하기 때문에 StringBuffer의 모든 항목을 StringBuilder로 교체하는 것이 좋습니다.
JSONObject(org.json에서)는 사용할 수 있는 간단한 JSON 라이브러리 중 하나입니다.만약 당신이 매우 효율적인 것을 원한다면, 잭슨 같은 것을 사용하세요.
성능 오버헤드는 데이터 캐스팅뿐입니다!JSONObject
데이터를 합니다.HashMap
이치노
언급URL : https://stackoverflow.com/questions/3670586/java-hashmap-vs-jsonobject
'programing' 카테고리의 다른 글
모델 데이터에 따라 img src를 조건부로 변경 (0) | 2023.02.23 |
---|---|
페이스북은 브라우저 주소창에 있는 페이지의 소스 URL을 어떻게 고쳐 쓰나요? (0) | 2023.02.23 |
다른 서버에서 워드프레스 데이터베이스를 호스트할 수 있습니까? (0) | 2023.02.23 |
IE에서만 바닥글 아래의 공백 (0) | 2023.02.23 |
const App: ( ) = > React$Node = ( ) = > {...: 이 순서의 의미는 무엇입니까? (0) | 2023.02.23 |