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

AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
Amazon Web Services Korea
 

What's hot (20)

[수정본] 우아한 객체지향
[수정본] 우아한 객체지향[수정본] 우아한 객체지향
[수정본] 우아한 객체지향
 
우아한 모노리스
우아한 모노리스우아한 모노리스
우아한 모노리스
 
DynamoDB의 안과밖 - 정민영 (비트패킹 컴퍼니)
DynamoDB의 안과밖 - 정민영 (비트패킹 컴퍼니)DynamoDB의 안과밖 - 정민영 (비트패킹 컴퍼니)
DynamoDB의 안과밖 - 정민영 (비트패킹 컴퍼니)
 
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
 
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbie
 
基本に戻ってInnoDBの話をします
基本に戻ってInnoDBの話をします基本に戻ってInnoDBの話をします
基本に戻ってInnoDBの話をします
 
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개
 
複数サーバでセッションを共有する冴えたやりかた
複数サーバでセッションを共有する冴えたやりかた複数サーバでセッションを共有する冴えたやりかた
複数サーバでセッションを共有する冴えたやりかた
 
프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)
프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)
프론트엔드 개발자를 위한 서버리스 - 윤석찬 (AWS 테크에반젤리스트)
 
From Spring Framework 5.3 to 6.0
From Spring Framework 5.3 to 6.0From Spring Framework 5.3 to 6.0
From Spring Framework 5.3 to 6.0
 
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
(Tech DeepDive #1) Java Flight Recorder を活用した問題解決
 
DevNexus 2019: Migrating to Java 11
DevNexus 2019: Migrating to Java 11DevNexus 2019: Migrating to Java 11
DevNexus 2019: Migrating to Java 11
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
 
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
 
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
AWS 기반 대규모 트래픽 견디기 - 장준엽 (구로디지털 모임) :: AWS Community Day 2017
 
片手間MySQLチューニング戦略
片手間MySQLチューニング戦略片手間MySQLチューニング戦略
片手間MySQLチューニング戦略
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐
 

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 (19)

3장. Garbage Collection
3장. Garbage Collection3장. Garbage Collection
3장. Garbage Collection
 
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

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

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