먼저 변수에 대한 깊은 이해를 도울 수 있게한 아래 글을 공유한다.
m.blog.naver.com/heartflow89/220954420688
이런 보석같은 글을 발견하게 되어 기분이 참 좋다 :) 👍
자바를 공부할 때 변수에 대한 지식은 어느 정도 익히긴 했지만 내가 이것을 정확하게, 적절하게 사용하고 있는지에 대한 의구심이 있었다.
마침, 사수님이 static에 대한 짧은 발표를 준비하라고 하셔서 이참에 자바 변수에 대한 정확한 이해를 하고 가자 결심하게 됐다.
정리하자면,
- 변수는 선언위치에 따라 클래스변수, 인스턴스변수, 지역변수로 나뉜다.
- 각 변수들은 메모리 내에서 저장되는 위치가 다르다.
- 전역변수는 static에, 기본자료형의 지역변수는 stack에, 참조형 타입 객체 및 배열은 heap에 저장된다.
- new 클래스();로 생성되는 참조형 타입 객체 및 배열의 데이터는 heap영역에 저장되고, 이 저장된 영역의 주소(참조값)는 stack영역에 저장된다
- 개인적으로 이는 Primitive Type과 Refernce Type을 이해하는 데에 있어 중요한 부분인 것 같아 핵심이라 생각함
- static
- 아래 글을 읽고 오면 static에 대한 깊은 이해가 왜 필요한지 알게된다.. 단순히 정의를 안다고 넘어갈 일이 아니다 ^^
아래에는 발표를 위해 내가 준비한 PPT 파일이다.
참조 : 자바 성능 튜닝이야기 (이상민 지음)
'자바' 카테고리의 다른 글
Java Volatile And Atomic - 멀티스레딩 환경에서.. (0) | 2021.05.18 |
---|---|
Java Singleton 의 7가지 패턴 (0) | 2021.05.17 |
From Java 8 to Java 15 in Ten Minutes (0) | 2021.01.27 |
모던자바 데이터 처리와 성능 향상 (JVM메모리/Thread/Stream/병렬스트림/CompletableFuture) (0) | 2020.11.19 |
Java Volatile & Atomic & Synchronized (0) | 2020.05.04 |