본문 바로가기

프로그래밍(TA, AA)/JVM 언어

(117)
[Java] 개선된 자바 동시성(2) - CompletableFuture - Thread, Future, 자바가 풍부한 동시성 API를 제공하도록 강요하는 진화의 힘 - 비동기 API - 동시 컴퓨팅의 박스와 채널 뷰 - CompletableFuture 콤비네이터로 박스를 동적으로 연결 이런 애플리케이션을 구현하려면 인터넷으로 여러 웹서비스에 접근해야 한다. 하지만 이들 서비스의 응답을 기다리는 동안 연산이 블록되거나 귀중한 CPU 클록 사이클 자원을 낭비하고 싶진 않다. 예를 들어 페이스북의 데이터를 기다리는 동안 트위터 데이터를 처리하지 말란 법은 없다. 이 상황은 멀티태스크 프로그래밍의 양면성을 보여준다. 포크/조인 프레임워크와 병렬 스트림은 병렬성의 귀중한 도구다. 이들은 한 태스크를 여러 하위 태스크로 나눠서 CPU의 다른 코어 또는 다른 머신에서 이들 하위 태스크를..
[Java] 개선된 자바 동시성(1) - 병렬 데이터 처리와 성능 1. 병렬 데이터 처리와 성능 - 병렬 스트림으로 데이터를 병렬 처리하기 - 병렬 스트림의 성능 분석 - 포크/조인 프레임워크 - Spliterator로 스트림 데이터 쪼개기 자바 개발자는 컬렉션 데이터 처리 속도를 높이려고 따로 고민할 필요가 없다. - 자바 스트림 인터페이스를 이용해서 데이터 컬렉션을 선언형으로 제어할 수 있다. - 외부 반복을 내부 반복으로 바꾸면 네이티브 자바 라이브러리가 스트림 요소의 처리를 제어할 수 있다. - 컴퓨터의 멀티코어를 활용해서 파이프라인 연산을 실행할 수 있다. 자바7이 등장하기 전에는 데이터 컬렉션을 병렬로 처리하기가 아래처럼 어려웠다. 자바7은 더 쉽게 병렬화를 수행하면서 에러를 최소화할 수 있도록 fork/join framework 기능을 제공한다. 1. 데이..
[Java] 자바 병렬 프로그래밍(2) - 고급주제 보호되어 있는 글입니다.
[Java] 자바 병렬 프로그래밍(1) - 기본 원리 보호되어 있는 글입니다.
[Netty] 네티 인 액션(1) - 네티 개념과 아키텍처 보호되어 있는 글입니다.