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
- 추가납입
- Java
- 프론트엔드
- 자바스크립트
- 웹개발
- 교보생명
- Vue.js
- 인출수수료
- 뇌출혈
- 사망
- 중도인출
- python
- 문자열
- PythonProgramming
- 프로그래밍
- 교보
- 변환
- 가입
- 코딩
- 보험
- 심장질환
- jQuery
- 특약
- 파이썬
- 수수료
- 보험료
- 리스트
- javascript
- 납입
- 급성심근경색증
Archives
- Today
- Total
SeouliteLab
[Java] static(정적) 변수와 메모리 관리 본문
Java에서 static(정적) 변수는 클래스에 속하는 변수로서, 모든 인스턴스가 공유하는 공통된 값이며 프로그램 실행 중에 한 번만 메모리에 할당된다. 이러한 특성은 다음과 같은 메모리 관리 측면에서 중요한 역할을 한다.
- 메모리 할당:
- static 변수는 프로그램이 시작될 때 클래스가 로딩되면서 메모리에 할당된다. 클래스 내부에 선언되어 있으므로 클래스의 인스턴스화와는 무관하게 사용할 수 있다.
- 공유된 값:
- static 변수는 모든 인스턴스가 공유하는 값으로서, 한 번의 수정으로 모든 인스턴스에 영향을 미친다. 이를 통해 데이터의 일관성을 유지할 수 있다.
- 메모리 누수 방지:
- static 변수는 프로그램이 종료될 때까지 메모리에 남아있기 때문에, 필요 이상으로 메모리를 소비할 수 있다. 이를 방지하기 위해 static 변수에는 약한 참조(Weak Reference)를 사용하여 메모리 누수를 최소화해야 한다.
아래는 static 변수의 예제 코드이다.
public class Counter {
private static int count = 0;
public static void increment() {
count++;
}
public static int getCount() {
return count;
}
}
위의 코드에서 count 변수는 static으로 선언되어 있으며, 모든 Counter 클래스의 인스턴스가 이 변수를 공유한다.
static 변수는 적절하게 활용함으로써 메모리 관리와 데이터 공유에 효율적으로 사용될 수 있다.
'프로그래밍' 카테고리의 다른 글
[Java] 가비지 컬렉션(Garbage Collection) (0) | 2024.02.27 |
---|---|
[Java] 람다 표현식(Lambda Expression) (0) | 2024.02.27 |
[JPA] 낙관적 락(Optimistic Lock)과 비관적 락(Pessimistic Lock) (0) | 2024.02.27 |
[JS/JavaScript] 뒤로가기 버튼에서 발생하는 캐시: BF캐시 (BFCache)에 대해 알아보기 (0) | 2024.02.27 |
[JS/JavaScript] 따옴표와 백틱: 문자열 표기의 다양성 (0) | 2024.02.27 |