본문 바로가기
[Java8 In Action] #7 병렬 데이터 처리와 성능 [Java8 In Action] #7 병렬 데이터 처리와 성능 Java8 In Action 내용을 보며 정리한 내용입니다.정리자는 기존에 Java8 을 한차례 rough 하게 공부한 적이 있고, Kotlin 역시 공부한 적이 있습니다.위의 prerequisite 가 있는 상태에서 추가적인 내용만 정리한 내용이므로, 제대로 공부를 하고 싶다면 책을 구매해서 보길 권장합니다! 7.1. 병렬 스트림 -병렬 스트림이란 각각의 스레드에서 처리할 수 있도록 스트림 요소를 여러 청크로 분할한 스트림이다. 7.1.1. 순차 스트림을 병렬 스트림으로 변환하기 -순차 스트림에 parallel 메서드를 호출하면 병렬로 처리된다.parallelStream 에 sequential 을 호출하면 순차 스트림이 된다. -병렬 스트림.. 2018. 12. 27.
[Java Concurrency] 구성 단위 #1 [Java Concurrency] 구성 단위 #1 5.1. 동기화된 컬렉션 클래스 - 동기화되어 있는 컬렉션 클래스의 대표 주자는 Vector 와 Hashtable 이다. - JDK 1.2 부터는 Collections.synchronizedXxx 메소드를 사용해 이와 비슷하게 동기화되어 있는 몇 가지 클래스를 만들어 사용할 수 있게 됐다. 이와 같은 클래스는 모두 public 으로 선언된 모든 메소드를 클래스 내부에 캡슐화해 내부의 값을 한 번에 한 스레드만 사용할 수 있도록 제어하면서 스레드 안전성을 확보하고 있다. - 동기화된 컬렉션 클래스는 스레드 안전성을 확보하고 있기는 하다. 하지만 여러 개의 연산을 묶어 하나의 단일 연산처럼 활용해야 할 필요성이 항상 발생한다. - 동기화된 컬렉션 클래스는 대.. 2017. 4. 20.
[android] ContentProviderOperation 에 대한 짧은 이야기 [android] ContentProviderOperation 에 대한 짧은 이야기 https://www.grokkingandroid.com/better-performance-with-contentprovideroperation/http://stackoverflow.com/questions/4655291/semantics-of-withvaluebackreferencehttps://developer.android.com/reference/android/content/ContentProviderOperation.Builder.html -여러 개의 data 에 대하 Create, Delete, Update 를 수행하려면 ContentProviderOperation 을 사용하여 batch 를 돌리는 것이 추천된.. 2017. 4. 15.
[Effective Java] Chap 3. 모든 객체에 공통적인 메소드. [Effective Java] Chap 3. 모든 객체에 공통적인 메소드. - Object 는 실체 클래스( concrete class ) 지만 원래 상속을 목적으로 설계되었다. equals, hashCode, toString, clone, finalize 는 다른 모든 자바 클래스에서 전체적으로 준수해야 하는 보편적 계약을 내포하고 있다. Object 의 모든 서브 클래스에서 그메소드들을 오버라이드 하도록 설계되었기 때문이다. - 어떤 클래스에서 보편적 계약 준수에 실패하면 그 계약에 준하는 HashMap 이나 HashSet, ArrayList 등과 같은 다른 클래스들과 함께 사용할 때 올바르게 동작하지 않는다. [Effective Java] equals 메소드를 오버라이드 할 때는 hashCode 메.. 2015. 12. 23.
Android 놓치기 쉬운 안드로이드 성능 향상 팁 Android 놓치기 쉬운 안드로이드 성능 향상 팁 출처 : http://developer.android.com/training/articles/perf-tips.html 아래 두가지 규칙이 모든 성능 향상의 기본 법칙이다. 1. 필요 없는 일은 하지 말아라. 2. 피할 수 있다면 memory 를 잡는 일을 하지 말아라. 참고로 micro-optimization 을 한다고 해도 모든 단말에서 똑같은 성능향상이 있는 것이 아니다.VM 의 종류, Processor 의 종류에 따라서도 조금씩 다르고, JIT 의 유무에 따라서도 다르다. 아래 항목들은 대부분의 환경에서 최적화시킬 수 있는 micro-optimization 기술을 소개한다. 쓸 데 없이 객체를 생성하지 말자. GC 를 유발하며, GC 는 conc.. 2014. 4. 3.
[Java] ArrayList 와 Vector 의 차이. 자바, ArrayList 와 Vector 의 차이 ArrayList 는 synchronized 되어있지 않고, Vector 는 synchronized 되어 있다. 즉 ArrayList 는 thread-not-safe 이고, Vector 는 thread-safe 하다. 즉 multi-thread 에서 사용하지 않는 경우에는그냥 ArrayList 가 성능에 유리하다. ArrayList, Java, java arraylist, java arraylist synchronized, java arraylist thread safe, java multi thread arraylist, java vector, java vector multi thread, java vector synchronized, java vect.. 2013. 10. 8.
[Java] 언제 ArrayList 써야 하고 언제 LinkedList 를 써야 하나? 자바, 언제 ArrayList 써야 하고 언제 LinkedList 를 써야 하나? ArrayList 이야기 ArrayList 는 일반 Array 와 비슷한 구조로 되어 있다.따라서 예를 들어 총 5개의 원소가 있는 ArrayList 가 있는 경우, 첫번째 있는 element 를 제거할 경우 뒤에 있는 4개의 원소를 한칸씩 앞으로 복사해야 하는 문제가 발생한다. 반면 맨 뒤쪽에 element 를 추가 삭제하는 경우에는 성능이슈가 발생하지 않는다. element 에 접속할 때는 일반 array 와 같이 일관성 있게 memory 에 접근할 수 있어 특정 element에 바로 접근할 수 있다. LinkedList 이야기 반면 LinkedList 의 경우는 한 element 간의 관계가 사슬처럼 이어져 있는 형태.. 2013. 9. 20.
[Java] HashMap 과 HashTable 의 차이는? 자바, HashMap 과 HashTable 의 차이는? Map Interface 를 구현한 녀석 중 대표적인 녀석들은 HashMap 과 HashTable 이다.이 둘의 관계는 ArrayList 와 Vector 의 관계와 비슷하다. ArrayList 와 Vector 의 관계가 궁금하면 여기를 클릭. HashMap 은 thread-not-safe 하고, HashTable 은 thread-safe 하다.즉 multi-thread 환경이 아닌 경우에는 HashMap 을 사용하는 것이 성능상 이롭다. ArrayList, HashMap, hashmap hashtable, hashmap thread-not-safe, Hashtable, hashtable thread-safe, java hashmap, java has.. 2013. 8. 20.
반응형