메모리 누수 문제를 해결하는 방법 - 면접 주제

절차의 원숭이를 용이하게하기 위해 자바의 가비지 컬렉션 메커니즘, 우리는 명시 적으로 자원을 해제하지 않아도됩니다. 그러나 약한 아름다운 프로그램 원숭이, 가난한 사람들을 위협하고, 앉아서 휴식을 취 OOM 어두운 외딴 (지앙) 성령 (농)에 숨기려하고 싶지 않습니다.

일반적으로 건강한 프로그램, 그것은 OOM에 나타나지 않아야합니다. 메모리 위해, 죽음에 출생에서 객체. 어떤 인간의 오류, 일부 개체는 종종 제재 GC 탈출 것 때문에 그러나, GC는하지 쓰레기통에, 외부 증가했다. 이 때, 메모리 누출이 발생한다.

메모리 누수는 프로그램이 메모리에서 실행되는 응용 프로그램이 메모리 (더 이상 필요없는 객체)를 참조 메모리 공간이 제기 된 해제하지 않습니다. 몇몇 실수로 메모리 누수가 매우 좋지 않아,하지만 큰 문제지만, 우리는 메모리의 소소 풀에게 그 점을 끌어 필요가 없습니다. 새로운 개체를 생성 할 공간이 충분하지 않을 때까지 지속적으로 메모리 누수가있는 경우, 그것은 OOM으로 이어질 것입니다.

가능하면 메모리 누수

OOM 예외를 발생

프로그램이 OutOfMemoryError를 던졌습니다 때, 당신은 당신이 너무 인색하지 생각, 프로그램 충분한 공간을 제공, 당신은 메모리 누수를 의심 할 수 있습니다

메모리는 계속 증가

원활한 신진 대사를해야 건강 프로그램은 메모리 사용이 특정 범위에서 유지되어야한다. 메모리가 비행을 계속하지만, 심지어 위험한 값은 의심 할 수있는 메모리 누수에 도달합니다.

보기 GC 케이스

그렙 응용 프로그램 이름 키워드 | 첫 번째 PID 응용 프로그램을 얻을, 당신은 JPS 자바 명령 또는 추신 -ef을 사용할 수 있습니다

당신은 물러 E 영역 후 객체를 만들기 위해 계속 증가 에덴 (E)는 객체를 만들기 위해 계속보고, 세 (O) 후 풀 수 있습니다. (멀티 프로그램 실행 시간, 또는 결국 OOM 발생, 빠르게 속도를 언급 될 수 제작)

라이브 객체보기

파서 배치 활성 객체의 비정상적인 성장에 따르면,이 목적은 대략 가능한 메모리 누수를 유추 할 수 이용한다.

추천

출처blog.51cto.com/14230003/2423239