-4
Files.readAllLines을 사용하여 약 2,000 개의 텍스트 파일을 읽었지만 100MB를 소비합니다.많은 파일을 읽는 동안 성능 문제가 발생합니다.
여기 코드는 JVM은 100MB의 복용 + 2000 파일을 읽을 수있다
Charset charset = Charset.forName("ISO-8859-1");
try {
Files.readAllLines(Paths.get(fileName), charset);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
스 니펫입니다. (JVisualVM으로 확인) 내가 여기서 뭐 잘못하고 있니?
모든 파일을 원하십니까? 아니면 하나씩 처리 할 수 있습니까? 귀하의 요구 사항에 따라 다릅니다. 현명하게 선택하고 적절한 방법을 선택하여 파일을 읽습니다. –
일괄 작업을 고려하십시오. – Pawan
JVM이 실제로 필요한 것보다 많은 메모리를 차지할 수 있습니다. -Xmx와 같은 JVM 인수를 통해 조정할 수 있습니다. –