6. Java Performance Fundamental
Java Performance Fundamental
4
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Architecture
1) Java Architecture
Java 4
The Java Programming Language
The Java Class File Format
The Java Application Programming Interface
The Java Virtual Machine
7. Java Performance Fundamental
Java Performance Fundamental
5
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Architecture
1) Java Architecture
Java source file Java class file
A.java B.java C.java A.class B.class C.class
Compile Time
Run Time
Java Java Virtual
compiler Machine
A.class B.class C.class Object.class String.class
Java class file Java API’s class files
8. Java Performance Fundamental
Java Performance Fundamental
6
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Architecture
2) Java Programming Language
Java Language
Software
9. Java Performance Fundamental
Java Performance Fundamental
6
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Architecture
2) Java Programming Language
Java Language
Software
Source Code
Memory
Array bound check Program
corruption
Object Reference check Null
Reference
10. Java Performance Fundamental
Java Performance Fundamental
6
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Architecture
2) Java Programming Language
Java Language
Software
Source Code
object-orientation
Memory multi-threading
structured error-handling
Array bound check Program
corruption garbage collection
dynamic linking
Object Reference check Null
dynamic extension
Reference
11. Java Performance Fundamental
Java Performance Fundamental
7
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Architecture
3) Java Class File Format
12. Java Performance Fundamental
Java Performance Fundamental
7
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Architecture
3) Java Class File Format
Compact
13. Java Performance Fundamental
Java Performance Fundamental
7
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Architecture
3) Java Class File Format
Compact Bytecode
14. Java Performance Fundamental
Java Performance Fundamental
7
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Architecture
3) Java Class File Format
Compact Bytecode
Platform
15. Java Performance Fundamental
Java Performance Fundamental
7
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Architecture
3) Java Class File Format
Compact Bytecode
Network byte
Platform
order
16. Java Performance Fundamental
Java Performance Fundamental
8
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Architecture
4) Java API (Application Programming Interface)
Runtime Library
Platform Independent
Java Class Java Class Java Class
Java API Java API Java API
Native Method (dynamic libraries)
Host Operating System
20. Java Performance Fundamental
Java Performance Fundamental
10
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Virtual Machine
1) What is JVM?
JAVA Java
Virtual SoftWare
Machine Machine
21. Java Performance Fundamental
Java Performance Fundamental
11
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Virtual Machine
1) What is JVM?
Write once, run everywhere
Compiled Java Program
Java Virtual Machine
H/W Platform & OS
22. Java Performance Fundamental
Java Performance Fundamental
12
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Virtual Machine
1) What is JVM?
Abstract
JVM = CONCEPT Specification
JAVA
SINGLE RUNNING
Concrete A Runtime
Implement Instance
VENDOR
23. Java Performance Fundamental
Java Performance Fundamental
13
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
Java Virtual Machine
2) JVM Architecture
Java Application
Class Java
Native Threads
Libraries Class Loader System Threads
Native Execution Run-time Garbage
Method Engine Data Area Collector
Libraries
(Real-Time) Operating System
24. Java Performance Fundamental
Java Performance Fundamental
14
artdb@ex-em.com | performeister.tistory.com | twitter @novathinker