JVM
-
[Java-4] JVM의 구조Java 2020. 11. 11. 12:30
전 글에서는 JVM에 대해서 간단하게 알아 보았다. 이제 JVM 구조에 대해서 알아보고 JRE와 JDK 에 대해서 알아보도록 하자. 1. JVM 구조 JVM 의 구성요소는 크게 3가지로 구성 되어있다. 클래스 로더 시스템 (Class Loader) 메모리 (Jvm Memory) 실행 엔진 (Execution Engine) 전체적인 그림이다. 1-1. 클래스 로더 시스템 이렇게 3가지의 구조로 되어있습니다. 클래스 로더 시스템은 말 그대로, 클래스를 읽어오는 시스템 구조인데, 로딩 -> 링크 -> 초기화 순으로 진행이 됩니다. 그림으로 표현하면 다음과 같은데, 자세하게 다루지는 않고, 각자 무슨 역할을 하는지 확인해보자, 로딩 시점에는 클래스가 있는지 없는지 확인하게 되는데 만약에 없을 경우, 이 시점에서..
-
[Java-3] JVM과 JIT 컴파일러란?Java 2020. 11. 10. 12:15
전 글에서는 JAVA의 바이트 코드에 대해서 알았다. 이번에는 그 바이트코드를 가지고 어떻게 실행하는지 알아보기 위해, 기본적인 JVM의 JIT 에 대해서 알아보도록 하자. 먼저 실행을 하기 위해서는 생성된 class파일을 java 명령어로 실행을 시켜주면 된다. 예) $ java test.class 또는 $ java test 를 통해서 실행 가능한데, 여기서 java 명령어를 통해서, JRE 가 등장하게 되는데, 한번 전에 말했던 JRE, JVM, JDK에 대해서 얘기해보자. JDK를 통해서 바이트 코드를 생성하고 JRE에게 던지게 된다. JRE를 사용해서 바이트코드를 JAVA명령어로 실행하게 되는데, JVM이 ‘실행’단계를 걸친다. 1. JVM에 대한 이해 JAVA가 지금까지 특정 OS에 독립적 (즉..
-
[Java-1] 컴파일 방법 & 과정Java 2020. 11. 9. 21:00
JAVA를 사용하기에 앞서, JVM은 무엇이며 자바 코드는 어떻게 실행 되는지에 대해서 알아보는 과정을 가져보도록 합시다. 이 과정을 알아보기전에 몇가지에 대해서 짚고 넘어가도록 하자 1. 시작 JAVA가 나왔을 당시, 기존 C언어 하고는 꽤나 다른 실행 과정을 가졌다. 간단하게 살펴보면, C언어 컴파일 실행 과정 결국 컴퓨터 (OS)가 알아 들을 수 있게 하기 위해 기계어를 번역하는 과정이다. 그럼 JAVA 의 실행과정은 어떨까? 꽤나 함축적이고, JVM이 자동으로 저런 과정을 짚어준다는 걸 그림으로만 봐도 알 수 있을 것이다. 물론 통합개발환경에서 놀고 있는 나같은 경우, 어차피 IDE가 다 해주지 않나? 라고 할 수 있지만, JVM을 더 알아보겠지만, 강력한 기능들이 포함 되어있다. 자 그럼 먼저 ..