목록java (2)
뉴질랜드 다이어리(NZ Diary) 라빠
Java 에서 가장 빈번하게 사용되는 Collections Class 는 바로, ArrayList, Vector 그리고 LinkedList 일것이다. 세 클래스 모두 데이터를 저장하는 목적으로 사용되지만,아주 약간의 차이가 있다.그 차이를 아느냐가 프로그램의 질과 프로그래머의 능력을 가늠하는 척도가 되는 경우가 많으므로,한번 알아보자.. 기본적으로 ArrayList 와 Vector 는 대부분의 경우 교차사용이 가능하다.둘의 차이점은 아래와 같다.- SynchronizationVector 가 Thread Safe 하고, ArrayList 는 그렇지 않다. 즉, 여러 스레드에서 공통적으로 사용해야 할 경우를 제외하고는 ArrayList 를 사용하는것이 빠르다. - Data GrowthArray 와 달리, A..
본 글은 http://kwanseob.blogspot.kr/2012/08/java-volatile.html 에서 가지고 온 내용입니다. volatile이란 단어의 뜻은 "변덕스러운"이다. 다시 말하자면 "자주 변할 수 있다"로 생각할 수 있다. 프로그래밍 언어에서는 정의는 언어와 버전마다 다르지만, 대충은 "자주 변할 수 있는 놈이니 있는 그대로 잘 가져다써"정도로 생각을 하면 되겠다. 조금 더 엄밀히 정의를 하자면, (1) 특정 최적화에 주의해라, (2) 멀티 쓰레드 환경에서 주의해라, 정도의 의미를 준다고 보면 된다. Java에서는 어떤 의미를 가질까? volatile을 사용한 것과 하지 않은것의 차이는 뭘까? volatile의 버전마다의 차이는 뭘까? synchronization과 volatile의..