일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Infra
- Live Template
- System Design
- goroutine
- Buffered channel
- 컴포짓패턴
- 대규모 시스템 설계
- Bastion Server
- tenneling
- Logrus
- Golines
- Helm V3
- Kubernetes
- AWS
- go
- UnBuffered channel
- argocd
- golang
- 시스템 설계
- AWS Infra
- notification system
- Lambda@Edge
- 디자인패턴
- image resizing
- gitops
- GoF
- GoF 디자인패턴
- 알림 시스템
- 클래스 관계
- 컴포지트패턴
Archives
- Today
- Total
Fall in IT.
static 잘 활용하기 본문
오늘은 static 을 잘 활용하는 방법에 대해서 알아보겠습니다.
- 자주 사용하고 절대 변하지 않는 변수는 final static 으로 선언합니다.
- 템플릿 성격의 객체도 static으로 선언하는 것이 성능 향상에 도움이 됩니다. - config 파일 정보도 static으로 관리합니다.
- 자바 개발을 할때, 무수히 많은 config 정보들이 있는데 매번 객체를 생성할때 호출 하는 것은 매우 비효율적 입니다.
static으로 선언하여 클래스가 로딩될때 한번만 값을 가져오도록 해야합니다. - 값이 동시에 변경되는 변수의 경우 static 변수로 사용하면 안됩니다.
- 동시에 QuerySample의 query변수를 접근할 경우, 데이터가 꼬이는 현상이 발생할 수 있습니다.
<sample code>
public class QuerySample
{
private static String query = null;
public QuerySample(String query)
{
this.query = query;
}
...(생략)...
} - Collection 객체의 경우 static으로 선언하지 않는 것이 좋습니다.
- static으로 선언할 경우 가비지컬렉터가 되지 않기 때문에, 시스템에 OutOfMemory를 발생 시킬 수 있습니다.
※ static은 잘쓰면 시스템 성능을 높일 수 있지만, 잘못 쓰게된다면 심각한 문제를 발생할 수 있습니다.
모두 즐거운 코딩하세요~모
'프로그래밍언어 > Java' 카테고리의 다른 글
Map 객체, key 또는 value를 사용한 정렬 (2) | 2016.04.08 |
---|---|
JAVA 디렉터리 또는 파일생성 (0) | 2016.03.10 |
StringBuffer와 StringBuilder의 차이점 (0) | 2016.03.03 |
타입에 안전한 열거형 enum (0) | 2016.03.03 |
for문(반복문) 사용시 조심해야할 점 (0) | 2016.03.02 |
Comments