티스토리 뷰
Switch-Case 문
Switch-Case문은 작은 숫자부터 큰 숫자 순서대로 비교하는 것이 제일 빠르다.
조건문
조건문자체는 속도에 미치는 영향이 미미하다. 가독성에 더 신경쓰자.
do-while문
public void test(List<Integer> list){
int i=0;
do{
if(list.get(i) == 10) break;
}while(true);
}
만약 list의 0번째가 10이라면 정상적인 동작을 하겠지만, 아닐 경우 무한루프를 돌며
CPU의 코어 한개를 잡아먹으므로 프로그램을 재시작해야할 수 있다. 조심하자
List를 대상으로 반복
for(int i=0; i<list.size(); i++)
//연산
이와 같이 하면 루프를 돌때마다 list.size()메소드를 호출해 성능에 영향을 주게된다.
int size = list.size();
for(int i=0; i<size; i++)
//연산
이와 같이 사용하자
필요없는 메소드 호출
String str = "abcdefg";
List<Charactor> list = new ArrayList<Charactor>();
int size = list.size();
for(int i=0; i<size; i++)
list.add(str.toCharArray()[i]);
위와 같이 하면 루프를 돌 때마다 쓸데없이 toCharArray() 메소드를 호출하게 된다.
이전의 예와 마찬가지로 미리 호출하여 변수에 담아두고 쓰도록하자.
'JAVA' 카테고리의 다른 글
[자바 성능튜닝] 클래스 정보를 확인할 때 주의할 점 (0) | 2015.04.14 |
---|---|
[자바 성능튜닝] static의 올바른 사용 (0) | 2015.04.13 |
[자바 성능튜닝] 사용할 Collection(자료구조)을 선택할 때 고려할 점 (0) | 2015.04.13 |
[자바 성능튜닝] 문자열 결합(String 연산)에 대하여 (0) | 2015.04.13 |
[실험] 병렬연산과 직렬연산의 속도차이 (0) | 2015.04.13 |
- Total
- Today
- Yesterday
- 날짜
- 자바 성능
- gitlab
- 코어
- Stream
- 클로저
- 리액트
- 자료구조
- rambda
- javascript
- 시간
- Java8
- opensource
- Clojure
- 성능개선
- RAMDA
- 메모리
- Java
- 컴퓨터 시간
- Docker
- react
- 자바
- 람다
- json
- 알람
- 성능
- Swift 2.0
- 프로세서
- 퍼포먼스
- Jackson
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |