JDK, JRE, and JVM
1. JVM
- JVM is an abstraction machine. It is a specification that provides runtime environment in whick java bytecode can be executed
- JVMs are avaliable for many hardware and software platform.
- JVM, JRE, and JDK are platform dependent because configuration of each OS differs
- Java is platform independent
1_1. JVM performs following main task
- Loads code
- Verifes code
- Executes code
- Provides runtime enviroment
2. JRE
- JRE is an acronym for Java Runtime Enviroment
- It is used to provide runtime enviroment.
- It is the implementation of JVM. It physically exists
- It contains set of libraries + other files that JVM uses at runtime
3. JDK
- JDK is an acronym for Java Development Kit
- It contains JRE + development tools
4. At compile time
- At compile time, java file is compiled by java Compiler and convert the java code into bytecode
4_1. At runtime
- classloader : is the subsystem of JVM that is used to load class files
- Bytecode Verifier : checks the code fragments for illegal code that can violate access right to objects
- Interpreter : read bytecode stream then execute the instructions
'Back-End > Java_1' 카테고리의 다른 글
[Java] UnicodeSystem (0) | 2016.06.10 |
---|---|
[Java] JVM (0) | 2016.06.03 |
[Java] Exception (0) | 2016.05.18 |
[Java] Constructor (0) | 2016.05.17 |
[Java] Enum (0) | 2016.05.13 |