Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- video tag
- 자바 순위정렬
- 스프링부트
- 랭킹정렬
- 자바 #Java #Scanner #스캐너 #자바알파벳입력
- 순위정렬
- sql 테이블명 바꾸기
- src/main/java
- 정신차리고공부하자 #개발자되기 #몰입하자
- 정수 자료형
- selection does not contain a main type
- 자바정렬
- @PathVariable
- jsp 연결
- HTML
- 스프링부트 마이바티스
- 자바
- html input
- 비디오 태그 이미지
- spring jsp
- Failed to configure a DataSource
- SpringBoot Mybatis
- 자바마스터
- 스프링부트 jsp 연결
- MySQL 테이블명 바꾸기
- 스프링 jsp 연결
- 스프링 jsp
- 비디오 태그 썸네일
- html video thumbnail
- 스프링부트 오류
Archives
- Today
- Total
쌤리
메모리영역 ( 코드 영역 , 데이터 영역 , 힙 영역 , 스택 영역) 본문
메모리 영역
- 코드 ( code )영역
- 컴파일로 된 .class 코드 영역 (= 클래스/ 코드 /메서드 영역)
- 0과 1로 된 2진수 (binary) 영역
- static 변수/ static 메서드 (=static영역) : class 가 실행되기 전에 미리 메모리가 확보된다.
- ☆프로그램이 실행되면 모든 코드가 저장되어있는 상태가 아니고
- new키워드로 객체가 생성되기 전엔 텍스트 일뿐이다.
- 객체 생성 후 메서드를 실행하면 해당 클래스 코드에 대한 정보를 method area 에 저장하게 된다.
- 스택( stack ) 영역
- 가장 늦게 들어온 것부터 처리한다.
- main()메서드가 가장 먼저 호출된다. ( 지역변수를 저장할 메모리가 필요하기 때문에)
- 메서드가 생성될때 마다 하나씩 생성되며 메서드가 호출되면 메서드와 메서드의 정보는 stack area에 쌓이게 되고
- 메서드 호출이 종료될때 이 영역에서 제거된다.
- 힙 ( heap ) 영역
- 객체 인스턴스 ( new 키워드가 들어가는)는 무조건 heap 영역에 만들어진다. (생성자 메서드)
- 호출되는 클래스 내의 메서들도 저장된다.
- *만들어지는 순서 : code - stack - heap
- *종료되는 순서 : heap - stack - code
- 사용자가 관리하는 인스턴스가 생성되는 공간.
- 객체를 동적으로 생성하면 인스턴스가 heap area에 할당되어 사용되어진다.
- 프로그램은 시작할때 미리 이 영역을 많이 할당해놓는다.
- Runtime Data Area (데이터 영역)
- 자바는 운영체제으로부터 독립되어 JVM 환경에서 동작할 수 있도록 설계가 되어있는 언어이다.
- 자바 프로그램이 실행되면 JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고
- 메모리를 용도에 따라 여러 영역으로 나눈다.
- 앞의 세가지 영역이 이 데이터 에어리어 안에 속한다.
'자바 JAVA > 자바 관련 상식' 카테고리의 다른 글
[자바 의존성 관련] 의존성과 라이브러리, 그리고 Jar (0) | 2020.05.13 |
---|---|
CGI와 서블릿 그리고 톰캣 (0) | 2020.05.13 |
J2SE, J2EE, JDK, JRE 차이 (0) | 2020.05.13 |
자바 API, API specification (0) | 2020.05.04 |
JVM 자바 가상 머신 (0) | 2020.04.24 |
Comments