mac에 jenv으로 여러 jdk 설치
백기선님의 java 기초 live-study 1주차 뒷북 정리
#
JVM이란 무엇인가- Java Virtual Machine
- Java Runtime (java 실행기)
- command line 으로
java ~
하면서 실행하는 것이 JVM 을 사용하는 것임 - JVM에는 컴파일된 java 바이트 코드가 제공되야함 제공되야함
- 각 .java 파일은 컴파일 후 .class 파일이 됨
- JVM이 추구하는 방향성
- 어플리케이션 코드를 실행할 수 있는 컨테이너
- c/c++ 보다 보안과 신뢰성이 있는 실행환경 제공
- 개발자 손으로 메모리관리 하지 않게하기
- 크로스 플랫폼 실행환경 제공
#
컴파일, 실행, 바이트코드#
컴파일 하는 방법- javac 를 통해 컴파일이 가능
- command:
javac <.java file> -d <output directory>
- 이때 .class 바이트코드 파일이 나오는데 아직 완전한 기계어는 아니라 JVM에 올려서 실행해야 함
- 해당 과정을
classloading
이라고 함
- 해당 과정을
#
실행하는 방법- javac로 컴파일한 .class 코드는 java 실행파일로 jvm을 이용해 실행할 수 있다.
- command:
java <.class file>
- 실행되면 JVM이 메모리에 올라가고
- .class 바이트 코드를 JVM에 올려
- intepreter가 이를 해석한다
#
바이트코드란 무엇인가- java에서 바이트 코드는 javac로 컴파일해서 나오는 .class 코드
- 해당 코드는 JVM의 Interpreter가 해석하기 용이할 뿐, 기계어와는 다르다
- 소스코드와 기계어 사이라고 많이 봄
#
JIT 컴파일러란 무엇이며 어떻게 동작하는지#
JVM 구성요소#
JDK와 JRE의 차이#
보충 설명#
정리에 대해서- 가급적 그림의 출처는 바로 아래에 남기기
- 그림도 왠만하면 다시 직접 그려보기
- 자신만의 표현으로 재해석 하기 (그대로 카피하면 그냥 타이핑 밖에 안됨)