[자료 구조/알고리즘] 논블로킹 자료 구조와 CAS
스레드 안전성과 동기화
스레드 안전성과 동기화
엘라스틱서치에서 데이터를 저장하는 단위는 도큐먼트(document)이며, 도큐먼트는 인덱스(index)라는 논리적 단위에 저장된다. 일반적으로 데이터의 성격 별로 서로 다른 인덱스를 생성하여 데이터를 저장한다.
투 포인터(two pointers) 기법이란 배열과 리스트 같은 선형(linear) 자료 구조에서 데이터를 순차적으로 탐색하는데 사용되는 방법 중 하나이다. 투 포인터 기법은 간단한 방법으로 알고리즘의 성능을 높이는데 주로 사용된다. 문제 해결 시 브루트 포스(brute-force...
```kotlin class Node( var key: Int, var left: Node? = null, var right: Node? = null ) { fun find(value: Int): Node? = when { value &l...
자바에서 기본적으로 래퍼(wrapper) 클래스는 불변(immutable)이다. 래퍼 클래스를 한 번 인스턴스화 한 이후에는 값을 변경할 수 없다. 래퍼 클래스를 메서드의 파라미터나 메서드 블록의 로컬 변수로 선언하여 사용하는 경우 불변성에 대해서만 주의하면 사용에 큰 문제가 되지...