줄 단위 중단점과 함수단위 중단점

김민지·2022년 10월 9일
0

자바

목록 보기
5/21

문제상황

  • 중단점을 걸때 동그라미(줄단위중단점), 다이아몬드(함수단위중단점)이 있어요
    제가 줄단위중단점을 걸었을때는 잘 실행되던게, 함수단위중단점을 거니까 갑자기 되게 느려지면서 그 다음으로
    안넘어가더라구요
    그래서 찾아봤는데 다음과 같은 글이 있었어요
    https://stackoverflow.com/questions/26364634/difference-between-breakpoint-on-method-signature-vs-breakpoint-on-first-line-in
    근데 음.. 메서드중단점은 함수시작전에 이것저것을 해야하니 오래걸린다 < 정도만 알아듣겠거든요..
    근데 도대체 뭘하길래 그렇게 까지 오래걸리는거죠..?

답변

  • 해당 호출에 대해서 jvm 은 인라인 최적화 (예를 들어 호출 스택에 대해서 일종의 캐싱된 부분을 호출해서 변경 없는 부분을 빠르게 돌려주는데) 브레이크 포인트를 메소드 시그니처에 걸어버리면 그런 최적화를 안 해버린다는 듯
    즉, 캐싱을 사용안하게 되니 시간이 오래걸린다
profile
안녕하세요!

0개의 댓글