SlideShare a Scribd company logo
1 of 24
Java Performance Fundamental
             artdb@ex-em.com | performeister.tistory.com | twitter @novathinker




Java
Java Performance Fundamental                                                      2

                               artdb@ex-em.com | performeister.tistory.com | twitter @novathinker




Java Architecture
   1) Java Architecture
   2) Java Programming Language

   3) Java Class File Format

   4) Java API

Java Virtual Machine
   1) What is JVM?
   2) JVM Architecture
Java Performance Fundamental
               Java Performance Fundamental
                                                                                   3

                          artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
  Java Architecture




1) Java Architecture
Java Performance Fundamental
               Java Performance Fundamental
                                                                                   3

                          artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
  Java Architecture




1) Java Architecture


                                                                 !
                                                                     ..?
Java Performance Fundamental
               Java Performance Fundamental
                                                                                       3

                              artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
  Java Architecture




1) Java Architecture


                      ,                                              !
                                                                         ..?
                          .
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
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
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
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
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
Java Performance Fundamental
               Java Performance Fundamental
                                                                                   7

                          artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
  Java Architecture




3) Java Class File Format
Java Performance Fundamental
               Java Performance Fundamental
                                                                                         7

                                artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
  Java Architecture




3) Java Class File Format



                      Compact
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
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
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
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
Java Performance Fundamental
              Java Performance Fundamental
                                                                                  9

                         artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
  Java Virtual Machine




• Java Virtual Machine
Java Performance Fundamental
              Java Performance Fundamental
                                                                                  9

                         artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
  Java Virtual Machine




• Java Virtual Machine
Java Performance Fundamental
              Java Performance Fundamental
                                                                                  9

                         artdb@ex-em.com | performeister.tistory.com | twitter @novathinker
  Java Virtual Machine




• Java Virtual Machine
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
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
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
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
Java Performance Fundamental
   Java Performance Fundamental
                                                                       14

              artdb@ex-em.com | performeister.tistory.com | twitter @novathinker

More Related Content

What's hot

ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
Masatoshi Tada
 
초보자를 위한 분산 캐시 이야기
초보자를 위한 분산 캐시 이야기초보자를 위한 분산 캐시 이야기
초보자를 위한 분산 캐시 이야기
OnGameServer
 
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼうGraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
Koichi Sakata
 
社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPI社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPI
Akihiro Ikezoe
 

What's hot (20)

ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
ステップ・バイ・ステップで学ぶラムダ式・Stream api入門 #jjug ccc #ccc h2
 
Java 9で進化する診断ツール
Java 9で進化する診断ツールJava 9で進化する診断ツール
Java 9で進化する診断ツール
 
초보자를 위한 분산 캐시 이야기
초보자를 위한 분산 캐시 이야기초보자를 위한 분산 캐시 이야기
초보자를 위한 분산 캐시 이야기
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
20160906 pplss ishizaki public
20160906 pplss ishizaki public20160906 pplss ishizaki public
20160906 pplss ishizaki public
 
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷JavaTomcatの実装から学ぶクラスローダリーク #渋谷Java
Tomcatの実装から学ぶクラスローダリーク #渋谷Java
 
JavaOne 2011 - JVM Bytecode for Dummies
JavaOne 2011 - JVM Bytecode for DummiesJavaOne 2011 - JVM Bytecode for Dummies
JavaOne 2011 - JVM Bytecode for Dummies
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
 
Java On CRaC
Java On CRaCJava On CRaC
Java On CRaC
 
Jdk,jre,jvm
Jdk,jre,jvmJdk,jre,jvm
Jdk,jre,jvm
 
GraalVM を普通の Java VM として使う ~クラウドベンチマークなどでの比較~
GraalVM を普通の Java VM として使う ~クラウドベンチマークなどでの比較~GraalVM を普通の Java VM として使う ~クラウドベンチマークなどでの比較~
GraalVM を普通の Java VM として使う ~クラウドベンチマークなどでの比較~
 
スレッドダンプの読み方
スレッドダンプの読み方スレッドダンプの読み方
スレッドダンプの読み方
 
Javaメモリ勉強会
Javaメモリ勉強会Javaメモリ勉強会
Javaメモリ勉強会
 
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼうGraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 
Panamaを先取り!? JVMCIでJITと遊ぶ
Panamaを先取り!? JVMCIでJITと遊ぶPanamaを先取り!? JVMCIでJITと遊ぶ
Panamaを先取り!? JVMCIでJITと遊ぶ
 
Javaクラスファイルの読み方
Javaクラスファイルの読み方Javaクラスファイルの読み方
Javaクラスファイルの読み方
 
ReactとSeleniumの幸せな関係
ReactとSeleniumの幸せな関係ReactとSeleniumの幸せな関係
ReactとSeleniumの幸せな関係
 
Msを16倍出し抜くwpf開発1回目
Msを16倍出し抜くwpf開発1回目Msを16倍出し抜くwpf開発1回目
Msを16倍出し抜くwpf開発1回目
 
社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPI社内Java8勉強会 ラムダ式とストリームAPI
社内Java8勉強会 ラムダ式とストリームAPI
 

Viewers also liked

안드로이드 개발에 유용한 도구들
안드로이드 개발에 유용한 도구들안드로이드 개발에 유용한 도구들
안드로이드 개발에 유용한 도구들
Sewon Ann
 
[C++adv] STL 사용법과 주의 사항
[C++adv] STL 사용법과 주의 사항[C++adv] STL 사용법과 주의 사항
[C++adv] STL 사용법과 주의 사항
MinGeun Park
 
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
Taehoon Kim
 

Viewers also liked (18)

Introduction to Retrospective Facilitation
Introduction to Retrospective FacilitationIntroduction to Retrospective Facilitation
Introduction to Retrospective Facilitation
 
트렌드코리아 2013
트렌드코리아 2013트렌드코리아 2013
트렌드코리아 2013
 
안드로이드 개발에 유용한 도구들
안드로이드 개발에 유용한 도구들안드로이드 개발에 유용한 도구들
안드로이드 개발에 유용한 도구들
 
통찰 평범에서 비범으로
통찰 평범에서 비범으로통찰 평범에서 비범으로
통찰 평범에서 비범으로
 
[C++adv] STL 사용법과 주의 사항
[C++adv] STL 사용법과 주의 사항[C++adv] STL 사용법과 주의 사항
[C++adv] STL 사용법과 주의 사항
 
파이썬 삼총사 : Tox, Travis 그리고 Coveralls
파이썬 삼총사 : Tox, Travis 그리고 Coveralls파이썬 삼총사 : Tox, Travis 그리고 Coveralls
파이썬 삼총사 : Tox, Travis 그리고 Coveralls
 
EventBus for Android
EventBus for AndroidEventBus for Android
EventBus for Android
 
eclipse에서 intelliJ IDEA로
eclipse에서 intelliJ IDEA로eclipse에서 intelliJ IDEA로
eclipse에서 intelliJ IDEA로
 
[2012 11 12]애자일 회고
[2012 11 12]애자일 회고[2012 11 12]애자일 회고
[2012 11 12]애자일 회고
 
Meta-Learning with Memory Augmented Neural Networks
Meta-Learning with Memory Augmented Neural NetworksMeta-Learning with Memory Augmented Neural Networks
Meta-Learning with Memory Augmented Neural Networks
 
물리기반렌더링 알레고리드믹 한국어 번역
물리기반렌더링 알레고리드믹 한국어 번역물리기반렌더링 알레고리드믹 한국어 번역
물리기반렌더링 알레고리드믹 한국어 번역
 
The retrospective handbook
The retrospective handbookThe retrospective handbook
The retrospective handbook
 
안드로이드 플랫폼기반의 푸시서버 아키텍처
안드로이드 플랫폼기반의 푸시서버 아키텍처안드로이드 플랫폼기반의 푸시서버 아키텍처
안드로이드 플랫폼기반의 푸시서버 아키텍처
 
Convolutional neural network in practice
Convolutional neural network in practiceConvolutional neural network in practice
Convolutional neural network in practice
 
강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction강화 학습 기초 Reinforcement Learning an introduction
강화 학습 기초 Reinforcement Learning an introduction
 
[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우
 
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
 

Similar to 1장 Java란 무엇인가.key

6010 java programming version 6
6010 java programming version 66010 java programming version 6
6010 java programming version 6
bestip
 
Core java 5 days workshop stuff
Core java 5 days workshop stuffCore java 5 days workshop stuff
Core java 5 days workshop stuff
Rajiv Gupta
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updates
Vinay H G
 

Similar to 1장 Java란 무엇인가.key (20)

6장 Thread Synchronization
6장 Thread Synchronization6장 Thread Synchronization
6장 Thread Synchronization
 
Java J2EE Training in Chennai, Tambaram
Java J2EE  Training in Chennai, TambaramJava J2EE  Training in Chennai, Tambaram
Java J2EE Training in Chennai, Tambaram
 
5장. Execution Engine
5장. Execution Engine5장. Execution Engine
5장. Execution Engine
 
Curso de Programación Java Intermedio
Curso de Programación Java IntermedioCurso de Programación Java Intermedio
Curso de Programación Java Intermedio
 
JRuby - Programmer's Best Friend on JVM
JRuby - Programmer's Best Friend on JVMJRuby - Programmer's Best Friend on JVM
JRuby - Programmer's Best Friend on JVM
 
6010 java programming version 6
6010 java programming version 66010 java programming version 6
6010 java programming version 6
 
7장 Oracle As Datasource
7장 Oracle As Datasource7장 Oracle As Datasource
7장 Oracle As Datasource
 
Java security
Java securityJava security
Java security
 
Workshop OSGI PPT
Workshop OSGI PPTWorkshop OSGI PPT
Workshop OSGI PPT
 
Encapsulation
EncapsulationEncapsulation
Encapsulation
 
Core java 5 days workshop stuff
Core java 5 days workshop stuffCore java 5 days workshop stuff
Core java 5 days workshop stuff
 
J2EE Online Training
J2EE Online TrainingJ2EE Online Training
J2EE Online Training
 
JAVA Training in Bangalore
JAVA Training in BangaloreJAVA Training in Bangalore
JAVA Training in Bangalore
 
Java Performance Monitoring & Tuning
Java Performance Monitoring & TuningJava Performance Monitoring & Tuning
Java Performance Monitoring & Tuning
 
20070329 Tech Study
20070329 Tech Study 20070329 Tech Study
20070329 Tech Study
 
Java Starting
Java StartingJava Starting
Java Starting
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updates
 
Core java learning path for beginners
Core java learning path for beginnersCore java learning path for beginners
Core java learning path for beginners
 
1 introduction to java technology
1 introduction to java technology1 introduction to java technology
1 introduction to java technology
 
Visual COBOL Development for Unix and Java
Visual COBOL Development for Unix and JavaVisual COBOL Development for Unix and Java
Visual COBOL Development for Unix and Java
 

Recently uploaded

Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024TopCryptoSupers 12thReport OrionX May2024
TopCryptoSupers 12thReport OrionX May2024
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 

1장 Java란 무엇인가.key

  • 1. Java Performance Fundamental artdb@ex-em.com | performeister.tistory.com | twitter @novathinker Java
  • 2. Java Performance Fundamental 2 artdb@ex-em.com | performeister.tistory.com | twitter @novathinker Java Architecture 1) Java Architecture 2) Java Programming Language 3) Java Class File Format 4) Java API Java Virtual Machine 1) What is JVM? 2) JVM Architecture
  • 3. Java Performance Fundamental Java Performance Fundamental 3 artdb@ex-em.com | performeister.tistory.com | twitter @novathinker Java Architecture 1) Java Architecture
  • 4. Java Performance Fundamental Java Performance Fundamental 3 artdb@ex-em.com | performeister.tistory.com | twitter @novathinker Java Architecture 1) Java Architecture ! ..?
  • 5. Java Performance Fundamental Java Performance Fundamental 3 artdb@ex-em.com | performeister.tistory.com | twitter @novathinker Java Architecture 1) Java Architecture , ! ..? .
  • 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
  • 17. Java Performance Fundamental Java Performance Fundamental 9 artdb@ex-em.com | performeister.tistory.com | twitter @novathinker Java Virtual Machine • Java Virtual Machine
  • 18. Java Performance Fundamental Java Performance Fundamental 9 artdb@ex-em.com | performeister.tistory.com | twitter @novathinker Java Virtual Machine • Java Virtual Machine
  • 19. Java Performance Fundamental Java Performance Fundamental 9 artdb@ex-em.com | performeister.tistory.com | twitter @novathinker Java Virtual Machine • Java Virtual Machine
  • 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