난아직도초보
455
2011-06-10 14:53:41.0
4
2k

GC관련 질문 있습니다.


안녕하세요.!!
행복한 주말 되세요^^;;

weblogic + struts + 기타 등등으로 개발된 웹입니다.(Spring, EJB 안씀, oom이 자꾸 떠요.ㅠㅠ)

ResultSet 또는 PreparedStatement 를 통해서 query 를 실행하고
close 를 안했다면...

1. 이건 차후 GC 가 이놈들을 memory 에서 clear 해주나요?

2. weblogic이 떠 있는 내내 공간을 차지하고 있나요?


가르쳐 주십시오..ㅠㅠ;
0
0
  • 답변 4

  • spyrogira256
    333
    2011-06-10 15:04:10.0
    오라클 경우 close 안해주면 큰일 납니다.
    finaly로 걸어서 꼭 해주셔야 합니다.
    저 같은 경우엔 statement full 에러 봤었습니다.

    1. gc에서 안 해줍니다. 그냥 물고 있습니다.
    2. weblogic에서 statement 연결을 계속해서 물고 있습니다.

    out of memery 는 이거말고도 다른 문제가 있는거 같은데요.
    0
  • 난아직도초보
    455
    2011-06-10 15:25:51.0
    아 정말 정말 감사합니다.^^ 그말은 resultset 에서 만약 10 mb 정도 들고 있는데. 이놈을 clear 안해 주면... 고대로 memory 에 상주해 있다고 판단할수 도 있나요?
    0
  • darklorda
    0
    2011-06-10 15:53:09.0
    resultset에서 빼서 옮기고 resultset을 직접 레퍼런스 하시지 않는 습관을 들이시는게 좋습니다. 그냥 1회용이라고 생각하세요(대부분 내부적으로는 값을 빼면 무효화 하는 처리가 되어있기는 합니다만... close해야 확실합니다)

    그 이유 말고, 일반적으로는 close를 안하면 보통 커넥션풀이 낭비되서 풀되거나, 트랜젝션 문제(락, 타임아웃-롤백)가 있겠죠.
    0
  • 난아직도초보
    455
    2011-06-10 16:22:31.0
    '') 아 감사합니다. 즐거운 금요일 보내세요~^^
    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.