java

    JVM 구조 및 메모리 구조

    JVM 구조 및 메모리 구조

    JVM 이란 JVM(Java Virtual Machine)이란 Java 어플리케이션을 실행하는 프로그램입니다. JRE(Java Run Environment) 의 한 부분으로 JVM은 main 메서드를 java code 에서 실행시키는 주체입니다. 그리고 .java파일에서 컴파일된 결과인 .class 파일들을 load, link, initialize 합니다. Class Loader 클래스로더는 JVM 의 하위시스템으로 class 파일들을 메모리로 로드하는 역할입니다. Java 프로그램을 실행시킬 때 클래스로더를 통해 class 파일을 메모리로 로드합니다. Java 에서는 3가지 클래스로더들이 있습니다. Bootstrap ClassLoader Extension ClassLoader System ClassLo..

    Java는 Call By Reference가 없다. Object 참조만 있을 뿐.

    Java는 Call By Reference가 없다. Object 참조만 있을 뿐.

    SNS에서 지나가다 본 피드였는데, 면접 때 Java 에서 Call By Reference를 설명해보라고해서 JAVA 에서는 Call by value만 있다고 했다가 면접을 떨어졌다든 출처불명의 이야기를 들을 수 있었다. 옆사람에게 Java 에서는 Call By Value만 있는지 Java Code로 설명해보려다 Object 참조와 헷갈려서 제대로 설명을 못했다. 그러다 주말에 언뜻 생각나서 정리해보려고 메모리 구조를 그려보며 C언어 방식과 비교하니 다시 이해가 되었다. Call By Refercne란 함수 호출 시, 매개변수에는 '메모리 주소'가 복사되어 할당된다. 이렇게 하면, 메모리 주소를 통해 메모리 저장소에 접근하여 값을 변경할 수 있다. Call By Value란 함수 호출 시, 매개변수에는 ..