-
[Java 성능개선] for 루프와 String 연산, 입출력프로그래밍 언어/Java 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'프로그래밍 언어 > Java' 카테고리의 다른 글
[Java/OS] 세마포어(Semaphore)에 관하여 (2) 2022.03.18 [Java] ThreadLocal 이 필요할 때 (feat. Thread, Thread-Safe, OS, Spring Security) (0) 2022.03.15 [Java] Swap 함수 구현 (Call-by-value) (0) 2021.10.15 JAVA) 백준으로 공부하는 자바일기 (Dynamic Programming) (0) 2021.10.08 [Java] 프로그래머스로 다시 공부하는 자바일기 (프로그래머스 레벨2) (0) 2021.10.05