method area2 『Java』 스레드는 어떻게 메모리를 공유하는가? 스레드는 Stack을 제외한 Heap 메모리와 Method Area 메모리 공간을 공유한다.각 스레드는 자기 자신의 Stack Memory를 가지고 있으며, 스레드끼리 Stack Memory 공간을 침범할 수 없다. 인스턴스 변수나 정적 변수는 스레드가 공유할 수 있으나, 메서드 내 지역 변수는 Thread Stack에서 사용되므로 다른 스레드와 공유할 수 없다. 로컬 변수는 메서드 내부에 선언된 변수처럼 Stack에 일시적으로 할당된 후 사용하고 소멸되는 변수를 말한다.인스턴스 변수는 소멸하지 않는 한 모든 스레드에서 접근이 가능하므로 값이 변경될 경우 변경된 값을 읽을 수 있다. Heap 메모리를 공유하기 때문에 참조값을 통해 인스턴스에 접근할 수 있기 때문이다. 2024. 11. 22. 『Java』 Java Virtual Machine & Runtime Data Areas JVM (Java Virtual Machine)JVM은 자바 애플리케이션을 실행하기 위한 가상 머신이다. 자바 소스 코드로 부터 컴파일 과정을 거쳐 바이트 코드(.class)를 실행한다. 하나의 바이트 코드(.class)로 모든 플랫폼에서 동작 가능하다. Java는 플랫폼 종속적이지 않다.컴파일된 바이트 코드로 어떤 JVM에서도 동작 시킬 수 있다.JVM은 플랫폼 종속적이다.리눅스의 JVM과 윈도우의 JVM은 서로 다르다. Java Application 실행 과정 자바로 개발된 애플리케이션을 실행하면 JVM은 OS로부터 메모리를 할당한다.자바 컴파일러(javac)가 자바 소스 코드(.java)를 자바 바이트 코드(.class)로 컴파일한다.클래스 로더를 통해 JVM Runtime Data Area로 로.. 2024. 10. 23. 이전 1 다음