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 | 31 |
Tags
- 도커
- phaser
- node.js
- model1
- Spring
- 블록체인
- 암호화
- 배포
- 알고리즘
- JSP
- RDS
- autowired
- websocket
- 웹게임
- jQuery
- HTML
- SQL
- JavaScript
- tiles.xml
- Ajax
- docker
- CSS
- 비트코인
- Servlet
- express
- 웹소켓
- EC2
- AWS
- Cookie
- PL/SQL
Archives
- Today
- Total
記錄
JAVA) 메모리 구조 -1 본문
Main Ex)
public class MemoryStructure {
public static void main(String[] args) {
int lv = 500;
System.out.println("iv 변수값 : " + lv);
Test t = new Test();
t.write();
}
} // class end
/*
* 1. main 영역(프레임)이 stack영역에 할당된다
* 2. stack영역 안에 main 영역(프레임)에 int lv = 500이 선언과 초기화 된다
* 3. stack영역 안에 main 영역(프레임) 위에 System.out.println을 위한 영역(프레임)이 할당되고
* 그 곳에서 파라미터 받아서 실행 뒤 pop
* 4. Test t = new Test(); 를 통해서
* 1) Test 타입의 t 변수가 main 영역(프레임) 내에 할당되고
* 2) new를 만나면서 주소값임을 확인하고
* 3) 힙에 Test를 위한 공간이 할당되면서 main의 t 에 Test의 주소값이 할당된다
* cf. Test t에서 함수 내에서 구현 및 선언된 지역변수는 해당 메소드가 호출이 되었을 때
* stack 영역에서 구현된다. 힙에 올라가는 것은 오직 Test t의 지역변수, 함수명 두 가지이다
* 5. t. 을 통해 주소값을 따라 Test로 들어가게 되고 Test에서 write()가
* stack영역의 main영역(프레임) 위에 t.write()을 위한 영역(프레임)이 발생되고 그 안에서 실행된다
*
* 6. 프로그램 종료되며 모두 pop
*/
ex2)
/* in Fclass..
* public Tv objMethod(){
* Tv t = new Tv();
* t.brandname = "LG";
* return t;
* }
*
* in main..
* Fclass fc = new Fclass();
* Tv t2 = fc.objMethod();
* sysout(t2.brandname);
*
* 모두 메모리 구조 그릴 수 있어야 한다
*/
'Computer language > JAVA' 카테고리의 다른 글
JAVA) 컬렉션 프레임워크(Collection Framework) (0) | 2018.02.09 |
---|---|
JAVA) 메모리 구조 -2 (수정중) (0) | 2018.02.08 |
JAVA) String과 주소값 (0) | 2018.02.08 |
JAVA) 예외처리(throw , throws) (0) | 2018.02.08 |
JAVA) 다운캐스팅과 메모리 (0) | 2018.02.07 |
Comments