Queue, Stack
1 minute read
2020-08-18 TLI
Internationalization(국제화) vs Localization(지역화)
- 약자 : i18n, l10n
- 한국어를 영어로 바꾸는 것이 국제화, 영어를 한국어로 바꾸는 것을 지역화라고 한다.
Queue
First In First Out(FIFO)
- offer() 로 삽입한 값은 poll()을 통해 추출한다.
- 맨 처음 넣은 것이 가장 먼저 나오는 선입선출을 따른다.(긴 통에 한쪽 끝에선 공을 넣고 다른 쪽 끝에선 공을 꺼내는 형상)
- peek()은 조회만 하고 poll()은 조회를 한 값을 지운다.
Stack
First In Last out(FILO) 혹은 Last In First Out(LIFO)
- push()로 삽입한 값은 pop()을 통해 추출한다.
- 맨 나중에 넣은 것이 가장 먼저 나오는 후입선출을 따른다.(입구와 출구가 한곳밖에 없다. 통 안에 판을 하나씩 넣었다가 꺼내는 형상)
HashSet
HashMap
클래스 관계 (주어 가 목적어 를 사용/포함한다.) - 의존 관계
- 01) 상속
- 02) 연관(Association)
- 지속성이 있다.
- 사용체에서 피사용체로 화살표를 그린다.
- 목적어를 사용하기 때문에 목적어 없이는 주어가 성립하지 않는다.
- 03) 집합(Aggregation)
- 사용체(빈 마름모)에서 피사용체로 화살표를 그린다.
- lifecycle이 다르다.
- 예) 컴퓨터와 모니터, 마우스, 키보드.
- 예) 사람과 핸드폰.
- 컨테이너가 사라질 때 아이템은 남는다.
- 포함관계 (주어 가 목적어 를 포함한다. 능동목적어 쪽으로 화살표가 간다.)
- 04) 합성(Compositon)
- 사용체(채워진 마름모)에서 피사용체로 화살표를 그린다.
- lifecycle이 같다.
- 예) 컴퓨터와 메인보드, 파워서플라이.
- 예) 사람과 심장.
- 링크드리스트 -> 노드
- 컨테이너가 사라질 때 아이템도 사라진다.
- 포함관계 (주어 가 목적어 를 포함한다. 능동목적어 쪽으로 화살표가 간다.)
- 05) 의존(Dependency)
- 사용체에서 피사용체로 실선으로 화살표를 그린다.
- 특정 메소드에서만 사용되는 관계(기능을 사용하려면 일시적으로 의존하는 수 밖에 없다.)
의존객체(쓰임을 당하는 객체)
- 의존 관계에서 사용을 당하는 객체를 의존객체(Dependency Object)라고 한다.
동기화와 비동기화
- 동기화가 되어 있으면 하나의 스레드가 특정 코드에 접속할 때 락으로 잠근다.
- 작업을 끝내고 락을 풀면 다른 스레드가 접속할 수 있다.
- StringBuilder는 동기화가 되어 있지만 No guarantee이다.(다른 스레드가 접속해서 문자열을 추가하는 것을 막지 않는다.)
- 로컬 변수일 경우는 여러 스레드가 접속할 수 없기 때문에 StringBuffer(락을 걸고 개런티가 있음)가 아니라 StringBuilder로 충분하다.
You may also enjoy
less than 1 minute read
TIL
less than 1 minute read
TIL
less than 1 minute read
TIL