thread safe(2)
-
String, StringBuffer, StringBuilder::자바
자바에서 문자열을 다루는 대표적인 클래스로 String, StringBuffer, StringBuilder가 있습니다. 연산 횟수가 많아지거나 멀티스레드, Race Condition 등의 상황이 자주 발생한다면 각 클래스의 특징을 이해하고, 상황에 맞는 적절한 클래스를 사용해야 합니다(Race Condition이란? -> https://junboom.tistory.com/29). 1. String 불변의 속성을 가집니다. String str = "Hello"; str += " world"; 위 상황에서 str 변수가 "Hello"에서 "Hello world"로 변환된다고 생각할 수도 있지만, 실제로는 "Hello" 객체에서 "Hello world"라는 새로운 객체를 참조하게 되어 "Hello" 객체는 G..
2020.07.03 -
Vector와 ArrayList 비교::자바
자바에서 크기를 동적으로 할당할 수 있는 배열은 Vector와 ArrayList가 있습니다. 1. Vector - Collections 프레임워크가 포함되어 있지 않던 초기 자바 버전부터 제공한 레거시 클래스입니다. - 필요에 따라 크기를 동적으로 조절할 수 있는 동적 배열을 구현할 수 있습니다. - 배열과 마찬가지로 정수 인덱스를 이용해 배열에 액세스 할 수 있습니다. - 스레드 안전(Thread Safe)한 배열로 한 번에 하나의 스레드만 벡터의 메소드를 호출할 수 있습니다. 2. ArrayList - Collections 프레임워크의 일부이며 java.util 패키지 내에 존재합니다. - 필요에 따라 크기를 동적으로 조절할 수 있는 동적 배열을 구현할 수 있습니다. - 자바 표준 배열보다 약간 느릴..
2020.07.03