로딩
요청 처리 중입니다...

JVM 구조를 이해하면 메모리 문제가 다르게 보인다

 JVM 구조를 이해하면 메모리 문제가 다르게 보인다

Java를 사용하다 보면 JVM이라는 단어를 자주 마주치게 됩니다. 처음에는 단순히 Java 프로그램을 실행해주는 환경 정도로 이해하기 쉽지만, 운영 환경에서 메모리 문제나 성능 문제를 마주치면 JVM을 조금 더 구체적으로 이해해야 할 때가 있습니다.

특히 OutOfMemoryError, StackOverflowError, GC 로그, Metaspace, Thread Stack 같은 단어를 만나면 JVM의 구조를 모른 상태에서는 원인을 좁히기 어렵습니다. JVM의 구조를 이해한다는 것은 내부 구현을 모두 외우는 것이 아니라, Java 코드가 실행될 때 어떤 정보가 어디에 저장되고, 어떤 기준으로 관리되는지 이해하는 것에 가깝습니다. 1.

JVM은 무엇인가 JVM은 Java Virtual Machine의 약자입니다. Java 바이트코드를 실행하는 가상 머신입니다.

Java 코드는 바로 운영체제에서 실행되지 않습니다. .java 파일은 javac 컴파일러를 통해 .class 바이트코드로...