-
[완성도-1단계]JAVA/JVMJava-diary 2020. 2. 4. 22:34
Java의 탄생 배경
C/C++ 특성상 같은 기능의 소스를 각 하드웨어에 맞게 작성해야 하는 번거로움을 없애고자 JAVA를 개발함
JAVA의 가장 큰 특징
플랫폼 독립적
어느 하드웨어건 운영체제인건간에 컴파일된 코드가 플랫폼에 있어서 독립적임.
(=어느 플랫폼이든 작성한 소스를 변경할 필요가 없이 다 실행 가능)
JVM
JAVA Virtual Machine의 약자
byte Code를 OS에 맞게 해석해 준다 . JVM이 있으면 어떤 OS환경이든 코드를 읽어서 실행시킬 수 있다.
.java 파일 >Java Compiler > .class(Byte Code) >JVM > OS가 읽을 수 있는 기계어
*JVM은 플랫폼에 종속적이다. 플랫폼에 따라 호환되는 JVM을 실행시켜야만 한다.
Class Loader
바이트 코드 전달 받아서 필요한 클래스들을 로딩&링크 후 런타임 데이터 영역에 올린다.
Runtime Data Area
JVM 메모리 영역
Exception Engine
메모리 영역에 올라온 바이트 코드들을 명령어 단위로 하나씩 가져와서 실행한다.
'Java-diary' 카테고리의 다른 글
[INTERFACE] Runnable Interface (0) 2020.03.15 [INTERFACE] INTERFACE (0) 2020.02.09