728x90
반응형

garbage-collection 2

오류 java.lang.OutOfMemoryError : GC 오버 헤드 제한 초과

질문 : 오류 java.lang.OutOfMemoryError : GC 오버 헤드 제한 초과 JUnit 테스트를 실행할 때이 오류 메시지가 표시됩니다. java.lang.OutOfMemoryError: GC overhead limit exceeded OutOfMemoryError 가 무엇인지 알고 있지만 GC 오버 헤드 제한은 무엇을 의미합니까? 어떻게 해결할 수 있습니까? 답변 이 메시지는 어떤 이유로 가비지 수집기가 과도한 시간 (기본적으로 프로세스의 모든 CPU 시간의 98 %)을 많이 사용하고 각 실행에서 매우 적은 메모리 (기본적으로 힙의 2 %)를 복구 함을 의미합니다. 이것은 효과적으로 프로그램이 진행을 중지하고 항상 가비지 콜렉션 만 실행 하느라 바쁘다는 것을 의미합니다. 애플리케이션이 아..

Java를 사용하여 줄 단위로 큰 텍스트 파일을 읽는 방법

질문 : Java를 사용하여 줄 단위로 큰 텍스트 파일을 어떻게 읽을 수 있습니까? Java를 사용하여 줄 단위로 약 5-6GB의 큰 텍스트 파일을 읽어야합니다. 어떻게 빨리 할 수 있습니까? 답변 일반적인 패턴은 try (BufferedReader br = new BufferedReader(new FileReader(file))) { String line; while ((line = br.readLine()) != null) { // process the line. } } 문자 인코딩이 없다고 가정하면 데이터를 더 빨리 읽을 수 있습니다. 예를 들어 ASCII-7이지만 큰 차이는 없습니다. 데이터로 수행하는 작업이 훨씬 더 오래 걸릴 가능성이 높습니다. line 누출 범위를 피하는 덜 일반적인 패턴입니..

728x90
반응형