Spring 2

JAVA metaspace OOM(Out Of Memory) 현상 원인 및 해결방법

Java Metaspace OOM(Out of Memory)은 JVM(Java Virtual Machine)이 클래스 메타데이터를 저장하기 위해 사용하는 메모리 영역인 Metaspace에서 발생하는 메모리 부족 오류입니다. 이 오류는 클래스 정의, 메서드 시그니처, 상수 풀 항목 등과 같은 메타데이터를 저장할 공간이 부족할 때 발생합니다. Metaspace는 힙(heap)의 일부가 아니기 때문에 일반적인 가비지 컬렉션 규칙을 따르지 않습니다. 따라서, Metaspace는 설정된 한계치까지 무한정 증가할 수 있으며, 결국 메모리가 부족해질 수 있습니다원인: Metaspace OOM의 주요 원인은 다음과 같습니다-XX:MaxMetaspaceSize JVM 옵션으로 설정된 Metaspace의 최대 크기를 초과..

Spring 2024.05.10

[Spring] Java 데이터를 주기적으로 캐시할 수 있는 방법

Java에서 데이터를 주기적으로 캐시할 수 있는 방법으로는 ScheduledExecutorService를 사용하는 것이 일반적입니다. ScheduledExecutorService는 주어진 시간 간격으로 작업을 실행할 수 있는 자바 스레드 풀입니다. 아래는 ScheduledExecutorService를 사용하여 데이터를 주기적으로 캐시하는 예시 코드입니다. import java.util.Map; import java.util.concurrent.*; public class CacheManager { private Map cache; private ScheduledExecutorService scheduler; public CacheManager() { cache = new ConcurrentHashMap(..

Spring 2023.03.21