
ArrayList 와 LinkedList 의 차이점
2023. 5. 12. 00:46
Language/Java
빈번한 객체 삭제와 삽입이 일어나는 곳에서는 ArrayList보단 LinkedList를 사용하는것이 좋다. 그러나 인덱스 검색이나, 맨 마지막에 객체를 추가하는 경우에는 arrayList가 더 좋은 성능을 발휘한다. ArrayList에 객체를 추가하면 인덱스 0부터 차례대로 저장된다, 또한 특정 인덱스의 객체를 제거하면 바로 뒤 인덱스부터 마지막 인덱스까지 모두 앞으로 1씩 밀려난다. ArrayList를 생성하고 런타임 시 필요에 의해 객체들을 추가하는 것이 일반적이지만, 고정된 객체들로 구성된 List를 생성할때도 있다. 이런 경우에는 Arrays.asList(T...a)메소드를 사용하는 것이 간편하다. √ List list = Arrays.asList(T...a) T타입 파라미터에 맞게 asList(..

자바에서 병렬(parallel) 처리란?
2023. 5. 10. 23:23
Language/Java
병렬(parallel) 처리란 한가지 작업을 서브 작업으로 나누고, 서브 작업들을 분리된 스레드에서 병렬적으로 처리하는 것을 말한다. 병렬 처리 스트림을 이용하면 런타임 시 하나의 작업을 서브 작업으로 자동으로 나누고, 서브 작업의 결과를 자동으로 결합해서 최종 결과물을 생성한다. 예를 들어 컬렉션의 요소 총합을 구할 때 순차 처리 스트림은 하나의 스레드가 요소들을 순차적으로 읽어 합을 구하지만, 병렬 처리 스트림을 이용하면 여러 개의 스레드가 요소들을 부분적으로 합하고 이 부분합을 최종 결합해서 전체 합을 생성합니다. 다음 예제를 보시면 순차 처리 스트림과 병렬 처리 스트림을 이용하여 사용된 스레드의 이름이 무엇인지 콘솔에 출력하여 보여드리겠습니다. public class parallel { publi..