jvm2 Java의 동작 원리 Java는 OS에 종속적이지 않다!! 자바의 특징 중 유명한 말이 하나 있다. "Write once, run anywhere." (한 번 작성하면 어디서든 실행된다.) 우리는 Window, Mac, Linux 등 모든 환경에서 자바 코드로 작성된 파일을 실행할 수 있다. 🤔그것이 어떻게 가능할까? 일반 애플리케이션의 코드는 OS만 거치고 하드웨어로 전달되므로 OS에 종속적이다. => 즉, 다른 OS에서 실행시키기 위해서는 애플리케이션을 그 OS에 맞게 변경해야 한다. 하지만 Java 애플리케이션은 JVM 하고만 상호작용을 하기 때문에 OS와 하드웨어에 독립적이다. => 다른 OS에서도 프로그램의 변경 없이 실행 가능! 🤔그렇다면 JVM이 OS에 종속적이지 않나? 맞다. JVM은 OS에 종속적이기 때문에 .. 2023. 6. 7. 6-3장 변수와 메서드 下 (3.7 ~ 3.12) 7. JVM의 메모리 구조 * cv는 클래스 변수, lv는 지역 변수, iv는 인스턴스 변수를 뜻한다. 메서드 영역 (method area) 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스 파일(*.class)을 읽어서 분석하여 클래스에 대한 정보를(클래스 데이터)를 이곳에 저장한다. 이 떄, 그 클래스의 클래스 변수(class variable)도 이 영역에 함께 생성된다. 힙 (heap) 인스턴스가 생성되는 공간. 프로그램 실행 중 인스턴스는 모두 이곳에 생성된다. 즉, 인스턴스 변수(instance variable)들이 생성되는 공간이다. 호출스택 (call stack 또는 execution stack) 메서드의 작업에 필요한 메모리 공간을 제공한다. 메서드가 호출되면, 호출.. 2023. 4. 18. 이전 1 다음