프로그래밍 언어/Java
[Java 성능개선] for 루프와 String 연산, 입출력
DevPing9_
2022. 1. 26. 17:24
# For 문 성능개선
Java 에는 for 문이 여러개 있지만, 가장 기초적인 for문(C언어와 유사)를 쓸때 주의할 점에 대해 기록하고자 한다.
// 1번 방법
for(int i=0; i<list.size(); i++){
//...
}
// 2번 방법
int size = list.size();
for(int i=0; i<size; i++){
//...
}
가끔 저러한 for문을 사용할 때, 변수할당하기 귀찮아 그냥 1번방법으로 작성한 적이 많았는데
1번방법에서는 for문을 돌때마다 list.size()를 호출하는 쓸데없는 오버헤드가 생긴다.
만약 저러한 반복문을 사용한다면 2번방법으로 작성하는 습관을 기르자.
# String 연산 및 입출력
코딩테스트 문제를 많이 풀다보면 알게되는 당연한 건데,
그래도 기록하여 내가 만든 어플리케이션의 성능을 튜닝할 때 체크리스트로 만들어두자!
// String 연산
"abc"+"cd";
// StringBuilder
sb.append("abc");
sb.append("cd");
StringBuilder 가 훨씬 빠르다.
I/O 작업도 System 라이브러리보다 StreamReader 들이 훨씬 빠르다.
728x90