SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Garbage collection
Garbage collectionGarbage collection
Garbage collectionsoeun Lee
 
[수정본] 우아한 객체지향
[수정본] 우아한 객체지향[수정본] 우아한 객체지향
[수정본] 우아한 객체지향Young-Ho Cho
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbieDaeMyung Kang
 
Event source 학습 내용 공유
Event source 학습 내용 공유Event source 학습 내용 공유
Event source 학습 내용 공유beom kyun choi
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트Ji-Woong Choi
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
도메인구현 KSUG 20151128
도메인구현 KSUG 20151128도메인구현 KSUG 20151128
도메인구현 KSUG 20151128beom kyun choi
 
이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정Arawn Park
 
Java virtual machine
Java virtual machineJava virtual machine
Java virtual machineNikhil Sharma
 
초보자를 위한 분산 캐시 이야기
초보자를 위한 분산 캐시 이야기초보자를 위한 분산 캐시 이야기
초보자를 위한 분산 캐시 이야기OnGameServer
 
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...Amazon Web Services Korea
 
Java Virtual Machine, Call stack, Java Byte Code
Java Virtual Machine, Call stack, Java Byte CodeJava Virtual Machine, Call stack, Java Byte Code
Java Virtual Machine, Call stack, Java Byte CodeJavajigi Jaesung
 
Bytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte BuddyBytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte BuddyKoichi Sakata
 
우아한 모노리스
우아한 모노리스우아한 모노리스
우아한 모노리스Arawn Park
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)IMQA
 
Zero-Copy Event-Driven Servers with Netty
Zero-Copy Event-Driven Servers with NettyZero-Copy Event-Driven Servers with Netty
Zero-Copy Event-Driven Servers with NettyDaniel Bimschas
 
JavaOne 2011 - JVM Bytecode for Dummies
JavaOne 2011 - JVM Bytecode for DummiesJavaOne 2011 - JVM Bytecode for Dummies
JavaOne 2011 - JVM Bytecode for DummiesCharles Nutter
 
为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)Kris Mok
 

Tendances (20)

Garbage collection
Garbage collectionGarbage collection
Garbage collection
 
[수정본] 우아한 객체지향
[수정본] 우아한 객체지향[수정본] 우아한 객체지향
[수정본] 우아한 객체지향
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbie
 
Event source 학습 내용 공유
Event source 학습 내용 공유Event source 학습 내용 공유
Event source 학습 내용 공유
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
Inside the jvm
Inside the jvmInside the jvm
Inside the jvm
 
도메인구현 KSUG 20151128
도메인구현 KSUG 20151128도메인구현 KSUG 20151128
도메인구현 KSUG 20151128
 
이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정
 
Java virtual machine
Java virtual machineJava virtual machine
Java virtual machine
 
초보자를 위한 분산 캐시 이야기
초보자를 위한 분산 캐시 이야기초보자를 위한 분산 캐시 이야기
초보자를 위한 분산 캐시 이야기
 
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
 
Java Virtual Machine, Call stack, Java Byte Code
Java Virtual Machine, Call stack, Java Byte CodeJava Virtual Machine, Call stack, Java Byte Code
Java Virtual Machine, Call stack, Java Byte Code
 
Bytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte BuddyBytecode Manipulation with a Java Agent and Byte Buddy
Bytecode Manipulation with a Java Agent and Byte Buddy
 
Jdk,jre,jvm
Jdk,jre,jvmJdk,jre,jvm
Jdk,jre,jvm
 
우아한 모노리스
우아한 모노리스우아한 모노리스
우아한 모노리스
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
 
Zero-Copy Event-Driven Servers with Netty
Zero-Copy Event-Driven Servers with NettyZero-Copy Event-Driven Servers with Netty
Zero-Copy Event-Driven Servers with Netty
 
JavaOne 2011 - JVM Bytecode for Dummies
JavaOne 2011 - JVM Bytecode for DummiesJavaOne 2011 - JVM Bytecode for Dummies
JavaOne 2011 - JVM Bytecode for Dummies
 
为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)
 

En vedette

Introduction to Retrospective Facilitation
Introduction to Retrospective FacilitationIntroduction to Retrospective Facilitation
Introduction to Retrospective FacilitationVille Ruuskanen
 
트렌드코리아 2013
트렌드코리아 2013트렌드코리아 2013
트렌드코리아 2013Kevin Kim
 
안드로이드 개발에 유용한 도구들
안드로이드 개발에 유용한 도구들안드로이드 개발에 유용한 도구들
안드로이드 개발에 유용한 도구들Sewon Ann
 
통찰 평범에서 비범으로
통찰 평범에서 비범으로통찰 평범에서 비범으로
통찰 평범에서 비범으로종범 고
 
[C++adv] STL 사용법과 주의 사항
[C++adv] STL 사용법과 주의 사항[C++adv] STL 사용법과 주의 사항
[C++adv] STL 사용법과 주의 사항MinGeun Park
 
파이썬 삼총사 : Tox, Travis 그리고 Coveralls
파이썬 삼총사 : Tox, Travis 그리고 Coveralls파이썬 삼총사 : Tox, Travis 그리고 Coveralls
파이썬 삼총사 : Tox, Travis 그리고 CoverallsHyun-woo Park
 
EventBus for Android
EventBus for AndroidEventBus for Android
EventBus for Androidgreenrobot
 
eclipse에서 intelliJ IDEA로
eclipse에서 intelliJ IDEA로eclipse에서 intelliJ IDEA로
eclipse에서 intelliJ IDEA로Juntai Park
 
[2012 11 12]애자일 회고
[2012 11 12]애자일 회고[2012 11 12]애자일 회고
[2012 11 12]애자일 회고Jong Pil Won
 
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홍배 김
 
물리기반렌더링 알레고리드믹 한국어 번역
물리기반렌더링 알레고리드믹 한국어 번역물리기반렌더링 알레고리드믹 한국어 번역
물리기반렌더링 알레고리드믹 한국어 번역Dae Hyek KIM
 
The retrospective handbook
The retrospective handbookThe retrospective handbook
The retrospective handbook종범 고
 
안드로이드 플랫폼기반의 푸시서버 아키텍처
안드로이드 플랫폼기반의 푸시서버 아키텍처안드로이드 플랫폼기반의 푸시서버 아키텍처
안드로이드 플랫폼기반의 푸시서버 아키텍처JavaCommunity.Org
 
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 introductionTaehoon Kim
 
[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우NAVER D2
 
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)
AWS re:Invent 특집(1) – 파이선(Python) 개발자를 위한 AWS 활용 방법 (윤석찬)Amazon Web Services Korea
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016Taehoon Kim
 

En vedette (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
 

Similaire à 1장 Java란 무엇인가.key

6장 Thread Synchronization
6장 Thread Synchronization6장 Thread Synchronization
6장 Thread Synchronization김 한도
 
5장. Execution Engine
5장. Execution Engine5장. Execution Engine
5장. Execution Engine김 한도
 
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 JVMRaimonds Simanovskis
 
6010 java programming version 6
6010 java programming version 66010 java programming version 6
6010 java programming version 6bestip
 
7장 Oracle As Datasource
7장 Oracle As Datasource7장 Oracle As Datasource
7장 Oracle As Datasource김 한도
 
Workshop OSGI PPT
Workshop OSGI PPTWorkshop OSGI PPT
Workshop OSGI PPTSummer Lu
 
Core java 5 days workshop stuff
Core java 5 days workshop stuffCore java 5 days workshop stuff
Core java 5 days workshop stuffRajiv Gupta
 
Java Performance Monitoring & Tuning
Java Performance Monitoring & TuningJava Performance Monitoring & Tuning
Java Performance Monitoring & TuningMuhammed Shakir
 
Java 8 selected updates
Java 8 selected updatesJava 8 selected updates
Java 8 selected updatesVinay H G
 
Core java learning path for beginners
Core java learning path for beginnersCore java learning path for beginners
Core java learning path for beginnersJobbackingCodeHelpMe
 
1 introduction to java technology
1 introduction to java technology1 introduction to java technology
1 introduction to java technologyrendezvous07
 
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 JavaMicro Focus
 

Similaire à 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
 

Dernier

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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 FresherRemote DBA Services
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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...Neo4j
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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...Martijn de Jong
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
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 organizationRadu Cotescu
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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.pptxHampshireHUG
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 

Dernier (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 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...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

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