현재 히트 율이 높을 때 간헐적 인 문제를 일으킨 웹 응용 프로그램을 현재 디버깅 중입니다. 각각의 새로운 사용자에게 개인화 된 탐색 메뉴가 포함 된 세션이 주어질 때마다 나는 세션 변수가 얼마나 많은 메모리를 필요로하는지 알아 내려고 노력할 것이라고 생각했습니다. 나를 놀라게 무엇JSP에서 데이터 손실을 일으키는 System.gc() 호출
System.gc();
long orgHeap = Runtime.getRuntime().freeMemory();
... create session variables ...
System.gc();
log.info("Heap delta: " + (Runtime.getRuntime().freeMemory() - orgHeap));
가) (이루어지는 시스템을 추가하는 응용 프로그램을 나누기 때문이다 : 세션 객체의 생성을 처리하는 JSP의 코드 섹션에서
, 나는 다음과 같은 코드를 추가했다. 어떤 객체가 없어지면 더 이상 작동하지 않습니다 (또는 그렇게 보입니다). 초기화 된 값은 null입니다. gc() 호출이 제거되면 앱이 정상적으로 작동합니다. gc()는 삭제 표시가 된 객체 만 제거해야합니다 - 맞습니까?비슷한 문제가있는 사람이 있습니까?
전혀 그런 문제가 없었습니다. 어딘가에 다른 문제가있을 수 있습니다. – stacker
매우 드뭅니다 ... 다른 일이 진행되고 있습니다. – skaffman
매번 새로운 세션을 만들 수 있습니까? – naikus