-
자바 성능 튜닝 이야기 정리 2편카테고리 없음 2020. 8. 6. 13:00
story06 : static 제대로 한번 써 보자.
HTTP 상태 코드 종류 (TIP)
200번대 상태 코드 : 정상적인 경우
300번대 상태 코드 : 리다이렉션이 필요한 경우
400번대 상태 코드 클라이언트 오류가 있을 경우
500번대 상태 코드 : 서버에 오류가 있을 경우
static의 특징
- 단어는 '정적인, 움직이지 않는' 의미이다.
- static으로 선언한 변수는 클래스 변수라고 한다.
- 해당 클래스의 100개의 인스턴스를 생성하더라도 모든 객체가 static 변수에 대해서 동일한 주소값을 참조
- 멀티 스레드 환경에서 주의.
- GC가 되지 않아 Collection 객체를 static으로 선언해 사용하면 OutOfMemory 가 발생할 수 있다
자주 사용하고 절대 변하지 않는 변수는 final static으로 선언하자.
static 초기화 블록
클래스가 최초 로딩될 때 수행됌, static 블록은 여러개 사용할 수 있고 순차적으로 실행됌
멀티 스레드 환경에서 주의해야하는 코드. Thread safe하지 않은 코드이다.
public class Shop { private static int totalAmount = 0; public static sell(Vegetable vegetable) { totalAmount += vegetable.getAmount(); } }