JVM 메모리구조

Similar documents
1

세계 비지니스 정보

PowerPoint Presentation


CONTENTS.HWP

INDUS-8.HWP

Runtime Data Areas 엑셈컨설팅본부 /APM 팀임대호 Runtime Data Area 구조 Runtime Data Area 는 JVM 이프로그램을수행하기위해할당받는메모리영역이라고할수있다. 실제 WAS 성능문제에직면했을때, 대부분의문제점은 Runtime Da


00-1표지

PowerPoint 프레젠테이션

경제통상 내지.PS

°æÁ¦Åë»ó³»Áö.PDF

우루과이 내지-1

영암군 관광종합개발계획 제6장 관광(단)지 개발계획 제7장 관광브랜드 강화사업 1. 월출산 기( 氣 )체험촌 조성사업 167 (바둑테마파크 기본 계획 변경) 2. 성기동 관광지 명소화 사업 마한문화공원 명소화 사업 기찬랜드 명소화 사업 240

[96_RE11]LMOs(......).HWP

PowerPoint Presentation

JAVA PROGRAMMING 실습 05. 객체의 활용

C# Programming Guide - Types


À̶õ°³È²³»Áö.PDF

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

gnu-lee-oop-kor-lec06-3-chap7

PowerPoint Presentation

*통신1802_01-도비라및목차1~11

통신1310_01-도비라및목차1~9

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

슬라이드 1


Microsoft PowerPoint - C++ 5 .pptx

<C1A4C3A5BFACB1B D3420C1A4BDC5C1FAC8AFC0DAC0C720C6EDB0DFC7D8BCD220B9D720C0CEBDC4B0B3BCB1C0BB20C0A7C7D120B4EBBBF3BAB020C0CEB1C720B1B3C0B020C7C1B7CEB1D7B7A520B0B3B9DF20BAB8B0EDBCAD28C7A5C1F6C0AF292E687770>

untitled

표1

°æÁ¦Àü¸Á-µ¼º¸.PDF

israel-내지-1-4

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

JAVA PROGRAMMING 실습 08.다형성

Design Issues

< B3E220B3EBBCF7C0CE20B5EEC0C720BAB9C1F6BBE7BEF720BEC8B3BB28C3D6C1BE292E687770>

설계란 무엇인가?

PowerPoint Presentation

09 강제근로의 금지 폭행의 금지 공민권 행사의 보장 중간착취의 금지 41 - 대판 , 2006도7660 [근로기준법위반] (쌍용자동차 취업알선 사례) 11 균등대우의 원칙 43 - 대판 , 2002도3883 [남녀고용평등법위

02 C h a p t e r Java

JAVA PROGRAMMING 실습 02. 표준 입출력

PowerPoint 프레젠테이션

제 출 문 환경부장관 귀하 본 보고서를 폐기물관리 규제개선 방안연구 에 관한 최종보고서로 제출합니다 연구기관 한국산업폐기물처리공제조합 연구책임자 연 구 원 연구보조원 이 남 웅 황 연 석 은 정 환 백 인 근 성 낙 근 오 형 조 부이사장 상근이사 기술팀장 법률팀장 기

슬라이드 1

*통신1604_01-도비라및목차1~12

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

PowerPoint 프레젠테이션

쉽게

*통신1510_01-도비라및목차1~12

미얀-내지-8차

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

<4D F736F F D20B4EBBFF BFB5BEF7BAB8B0EDBCAD2E646F63>

11장 포인터

쉽게 풀어쓴 C 프로그래밍

금오공대 컴퓨터공학전공 강의자료


PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

세계 비지니스 정보

설계란 무엇인가?

THE TITLE

2 ㆍ 大 韓 政 治 學 會 報 ( 第 20輯 1 號 ) 도에서는 고려 말에 주자학을 받아들인 사대부들을 중심으로 보급되기 시작하였고, 이후 조선시대에 들어와서는 국가적인 정책을 통해 민간에까지 보급되면서 주자 성리학의 심 화에 커다란 역할을 담당하였다. 1) 조선시대

Microsoft PowerPoint - 2강

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

Microsoft PowerPoint - Chapter 6.ppt

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

슬라이드 1

4 장클래스와객체 클래스와객체 public과 private 구조체와클래스객체의생성과생성자객체의소멸과소멸자생성자와소멸자의호출순서디폴트생성자와디폴트소멸자멤버초기화멤버함수의외부정의멤버함수의인라인함수선언 C++ 프로그래밍입문

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

Microsoft PowerPoint - 8ÀÏ°_Æ÷ÀÎÅÍ.ppt

제11장 프로세스와 쓰레드

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

PowerPoint Presentation

슬라이드 1

Microsoft PowerPoint - CSharp-2-기초문법

Microsoft PowerPoint - chap06-2pointer.ppt

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

JAVA PROGRAMMING 실습 02. 표준 입출력

Microsoft PowerPoint - additional06.ppt [호환 모드]

PowerPoint Presentation


iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

<BFDCB1B9C0CE20C5F5C0DAB1E2BEF7C0C720B3EBBBE7B0FCB0E82E687770>

[Brochure] KOR_TunA

< BACFC7D1B1B3C0B0C1A4C3A5B5BFC7E228B1E2BCFABAB8B0ED D D20C6EDC1FD2035B1B32E687770>

JAVA PROGRAMMING 실습 05. 객체의 활용

Chap7.PDF

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - 15-MARS

Microsoft PowerPoint - Chap12-OOP.ppt

Microsoft Word - FunctionCall

JAVA PROGRAMMING 실습 02. 표준 입출력

C++ Programming

Network Programming

Transcription:

조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05. 07. 비고

Index 1. 메모리구조인식의중요성 1) 메모리의정의 1 2) 메모리구조를공부하는이유 1 2. JAVA 프로그램실행구조 1) 일반프로그램과 JAVA프로그램 2 2) JVM이란? 2 3. JVM 메모리구조와과정 1) JVM 메모리구조 3 2) Runtime Data Area 3 1 Class Area 3 2 Stack Area 4 3 Heap Area 4 4 Native method stack area 4 5 PC Register 4 4. Garbage Collection 1) Minor Garbage Collection 5 2) Major Garbage Collection (Full Garbage Collection) 5 5. 소스예제 1 6 6. 소스예제 2 7 7. 소스예제 3 8 8. 참고문헌 9

1. 메모리구조인식의중요성 1) 메모리의정의 - 프로그램을실행하기위한데이터및명령어를저장하는공간 2) 메모리구조를공부하는이유 - 같은기능의프로그램이더라도메모리관리에따라성능이좌우됨 - 메모리관리가되지않은경우속도저하현상이나튕김현상등이일어날수있음 - 한정된메모리를효율적으로사용하여최고의성능을내기위함 - 1 -

2. JAVA 프로그램실행구조 1) 일반프로그램과 JAVA 프로그램 - 일반프로그램 : OS에서실행 - JAVA 프로그램 : JVM에서실행되고, JVM은 OS에종속적이다. 2) JVM 이란? - Java Virtual Machine - JAVA와 OS 사이에서중계자역할 - JAVA가 OS에구애받지않고재사용을가능하게해줌 - 메모리관리기능 (Garbage Collection) - 2 -

3. JVM 메모리구조와과정 1) JVM 메모리구조 - JAVA Source : 사용자가작성한 JAVA 코드 - JAVA Compiler : JAVA 코드를 Byte Code로변환시켜주는기능 - Class Loader : Class파일을메모리 (Runtime Data Area) 에적재하는기능 - Execution Engine : Byte Code를실행가능하게해석해주는기능 - Runtime Data Area : 프로그램을수행하기위해 OS에서할당받은메모리공간 2) Runtime Data Area 1 Class Area - Method Area, Code Area, Static Area 로불리어짐 i) Field Information : 멤버변수의이름, 데이터타입, 접근제어자에대한정보 ii) Method Information : 메서드의이름, 리턴타입, 매개변수, 접근제어자에대한정보 iii) Type Information : - Type의속성이 Class인지 Interface인지의여부저장 - Type의전체이름 ( 패키지명 + 클래스명 ) - Type의 Super Class의전체이름 ( 단, Type이 Interface이거나 Object Class인경우제외 ) - 접근제어자및연관된 interface의전체리스트저장 iv) 상수풀 (Constant Pool) - Type에서사용된상수를저장하는곳 ( 중복이있을시기존의상수사용 ) - 문자상수, 타입, 필드, Method의 symbolic reference( 객체이름으로참조하는것 ) 도상수풀에저장 - 3 -

v) Class Variable - Static 변수라고도불림 - 모든객체가공유할수있고, 객체생성없이접근가능 vi) Class 사용이전에메모리할당 - final class 변수의경우 ( 상수로치환되어 ) 상수풀에값복사 2 Stack Area - Last In First Out (LIFO) - 메서드호출시마다각각의스택프레임이생성 - 호출된메서드의매개변수, 지역변수, 리턴값및연산시일어나는값들을임시로저장 - 메서드수행이끝나면프레임별로삭제 3 Heap Area - new 연산자로생성된객체와배열을저장하는공간 - 클래스영역에로드된클래스만생성가능 - Garbage Collector를통해메모리반환 i) Permanent Generation - 생성된객체들의정보의주소값이저장된공간 ii) New Area - Eden : 객체들이최초로생성되는공간 - Survivor : Eden에서참조되는객체들이저장되는공간 iii) Old Area : New Area에서일정시간이상참조되고있는객체들이저장되는공간 4 Native method stack area - 자바외의다른언어에서제공되는메서드들이저장되는공간 5 PC Register - Thread가생성될때마다생성되는공간 - Thread가어떤부분을어떤명령으로실행할지에대한기록 - 현재실행되는부분의명령과주소를저장 - 4 -

4. Garbage Collection - 참조되지않은객체들을탐색후삭제 - 삭제된객체의메모리를반환 - Heap 메모리의재사용 1) Minor Garbage Collection i) New 영역에서일어나는 Garbage Collection ii) Eden영역에객체가가득차게되면첫번째 Garbage Collection 발생 iii) Survivor1 영역에값복사 iv) Survivor1 영역을제외한나머지영역의객체들을삭제 v) Eden영역과 Survivor1영역의메모리가기준치이상일경우, Eden 영역에생성된객체와 Survivor1영역에있는객체중참조되고있는객체가있는지검사 vi) 참조되고있는객체를 Survivor2 영역에복사 vii) Surviver2 영역을제외한영역의객체들을삭제 viii) 일정시간이상참조되고있는객체들을 Old영역으로이동 ix) 반복 2) Major Garbage Collection (Full Garbage Collection) i) Old영역에있는모든객체들을검사 ii) 참조되지않은객체들을한꺼번에삭제 iii) Minor Garbage Collection에비해시간이오래걸리고실행중프로세스가정지 - 5 -

5. 소스예제 1 Method 영역 Stack 영역 Heap 영역 - 6 -

6. 소스예제 2 Method 영역 Stack 영역 Heap 영역 - 7 -

7. 소스예제 3 Method 영역 Stack 영역 Heap 영역 - 8 -

8. 참고문헌 class loader GC GC GC Heap JVM memory 구조 Runtime area Runtime area Runtime area Runtime area Thread Thread JVM실행구조 JVM실행구조 http://hidka.tistory.com/18 http://sirius.pe.kr/v5/tt?page=2&tssession=11ebac6256a65e1b5349 9ee647d269da http://novathin.kr/m/14 http://blog.naver.com/wwgenii?redirect=log&logno=60510003 http://sanggu.blogspot.kr/2011/10/java-heap.html http://hidka.tistory.com/entry/the-java-language-and-jvm http://performeister.tistory.com/category/performance http://helloworld.naver.com/helloworld/1230 http://force44.blog.me/130095188664 http://cafe.naver.com/fordeveloper http://blog.naver.com/zzooki/90034976951 http://blog.naver.com/pslovejin?redirect=log&logno=50045585277 http://abacus.tistory.com/230 http://stophyun.tistory.com/37 http://hidka.tistory.com/entry/the-java-virtual-machinejvm http://blog.naver.com/0bloodwind0/20127908176 http://blog.naver.com/kmk1030?redirect=log&logno=150141683660 http://blog.naver.com/2000yujin?redirect=log&logno=130156226754 http://hidka.tistory.com/entry/the-java-application-interface http://gggura.egloos.com/3685556 http://www.jabook.com http://blog.naver.com/myca11?redirect=log&logno=80130599386 http://blog.naver.com/web4click?redirect=log&logno=110159692556 http://cafe.naver.com/jjdev - 9 -