sports7744   2년 전

로직은 잘 돌아가는 것 같은데 메모리 초과가 떠버리네요..

어디서 이렇게 메모리를 잡아먹는걸까요...?

djm03178   2년 전

Java에서의 객체는 소멸 시점을 정확히 알 수 없기 때문에 한 번 생성된 String 객체는 프로그램 종료시까지 그대로 메모리에 남는다고 보시면 됩니다. 그러면 최악의 경우 18번째 줄은 26 * 100만 = 2600만 개의 String 객체를 생성할 텐데, 문자열이 담고 있는 문자의 수가 아무리 적더라도 String 객체가 기본적으로 차지하는 메모리가 꽤 되기 때문에 문제의 제한을 초과할 여지가 충분합니다.

댓글을 작성하려면 로그인해야 합니다.