프로그래밍/Java

Static의 이중성!

seungdols 2015. 1. 3. 11:28

java program에서 성능을 향상 시키는 방법은 여러가지가 있다.

그 중에서 한 가지는 Static을 사용하는 것이다. 하지만 알고 사용하면 득이 되지만, 모르고 사용한다면 독이 된다. 시스템의 오류, 시스템 성능의 부하등등

Static의 특징

static이란 단어는 ‘정적인, 움직이지 않는’이라는 의미이다. 자바에서 static이라고 지정했다면, 해당 메서드, 변수는 정적이다.

static으로 변수를 지정하게 되면 클래스 변수라고 한다.

그 변수는 객체의 변수가 아니라 클래스의 변수가 되기때문이다.

이유를 살짝 말하자면 Static으로 선언된 변수, 메소드는 컴파일시점에서도 여러 종류가 있는데 그 시점중 하나가 static정보를 먼저 가져가서 메모리에 적재한다.
static의 경우 전역변수처럼 생명주기(life-time)이 프로그램 종료시까지이므로 먼저 메모리에 로드된다. 그리고 GC대상에서 제외된다.

Static 잘 활용하기

  1. 자주 사용하고 절대 변하지 않는 변수는 final static으로 선언하자.

  2. 설정 파일 정보도 Static으로 관리하자

  3. 코드성 데이터는 DB에서 한 번만 읽자.

반응형

'프로그래밍 > Java' 카테고리의 다른 글

Java Generic Erasure  (0) 2015.08.01
상속에서 다형성 이야기  (0) 2015.07.28
for loop를 빠르게 사용하는 방법은???  (0) 2015.01.03
String을 쓰면 안 되는 이유!  (0) 2015.01.03
NetBeans 설치  (0) 2014.11.11