일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
- Flutter TextField
- android architecture component
- Kotlin
- 안드로이드 구글맵
- Django REST
- RxAndroid
- mfc
- dart
- 안드로이드
- kodility
- C
- RxJava
- C++
- 알고리즘
- android push
- livedata
- Rxjava2
- NDK
- Python
- 프로그래머스
- UWP
- Django REST Android
- Android
- C/C++
- Django REST framework
- 코틀린
- FLUTTER
- Java
- flutter firestore
- Android P
- Today
- Total
목록2018/11/20 (3)
개발하는 두더지
[Effective Java 규칙71] 초기화 지연은 신중하게 하라Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 초기화 지연(lazy initialization)은 클래스, 필드 등을 사용하는 시점에 초기화를 하는 기법입니다. 대부분의 경우에는 초기화 지연보다는 일반적으로 클래스를 생성하면서 초기화 하는 것이 좋습니다. 초기화 비용이 크고, 내부적으로 필드 사용 빈도가 적다면 초기화 지연이 적절합니다. 초기화 지연을 위해 안정적인 방법을 사용해야 합니다. 1.초기화 지연 담당 클래스 숙어( lazy initialization holder class = Initialization-on-demand holder idiom ) 는 스레드에 안전하고 동시..
[Effective Java 규칙69] wait이나 notify 대신 병행성 유틸리티를 이용하라Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 자바 1.5부터 고수준 병행성 유틸리티 포함되어있어서 wait과 notify를 사용해서 구현해야될 일들을 대신하게 해준다. 제목처럼 wait과 notify를 정확하게 사용하는 것이 어렵기때문에 고수준 병행성 유틸리티를 반드시 사용해야 한다. java.util.concurrent에 포함된 고수준 병행성 유틸리티들은 실행자 프레임워크(executor framework), 병행 컬렉션(concurrent collection), 동기자(synchronizer) 이다. 이미 사용하고 있는 것일 수도 있지만 이번 규칙에..
[Effective Java 규칙68] 스레드보다는 실행자와 태스크를 이용하라Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 작업을 순차적으로 처리하는 작업 큐가 있다고 하자. 스레드 + 큐 조합으로 만든다면 스레드에 안전하지 않게 만들어질 가능성이 높다. 이를 해결하기 위해 자바 1.5부터 java.util.concurrent 패키지에 Executor Framework라는 유연성이 높은 인터페이스 기반 태스크 실행 프레임워크라는 것이 생겼다. ExecutorService executor = Executors.newSingleThreadExecutor(); 를 만들고 실행자에 Runnable을 넘겨 실행만하면 동기화가 끝난다. executor.exe..