Java를 사용하여 성장하고 성장할 수있는 가능성이있는 크기의지도를 만들고 싶습니다. 이제 분명히 표준 POJO HashMap을 사용하여 메모리가 부족 해지고 JVM이 중단됩니다. 그래서 Map의 라인을 따라 생각하면서, 메모리가 부족하다는 것을 알게되면 현재 내용을 디스크에 쓸 수 있습니다.Java에서 매우 큰지도 만들기
누구나 이와 비슷한 것을 구현했거나 기존 솔루션을 알고 있습니까?
내가하려고하는 것은 한 번에 한 줄씩 매우 큰 ASCII 파일 (예 : 50Gb)을 읽는 것입니다. 각 행은 키와 값을 포함합니다. 파일에서 키를 복제 할 수 있습니다. 그런 다음 각 행을 값 목록의 키인 Map에 저장합니다. 이지도는 성장하고 성장할 객체입니다.
큰 호응을 얻었습니다.
필
업데이트 : 모든 의견과 조언 모두를위한
감사합니다. 필자가 설명한 문제로 인해 데이터베이스는 정확하고 확장 가능한 솔루션입니다. 이 임시 맵은 파일 구문 분석을 돕기 위해 짧은 시간 동안 생성하고 사용해야하는 임시 맵이라는 것을 설명 했어야합니다. 이 경우 Michael이 "실제 값 대신 줄 번호 만 저장"하는 것이 가장 적절합니다. Michael의 대답을 권장 해결책으로 표시하십시오.
HSQL과 같은 메모리 내장 데이터베이스를 사용하는 것이 더 간단하지 않습니까? – mcfinnigan
매핑 할 키/값 유형은 무엇입니까? –
저는 데이터베이스 접근 방식에 열중하지 않습니다. 너무 무거워. – Phil