모던 자바 인 액션 - Chapter 6 <스트림으로 데이터 수집> 1
지금까지 배운것으로 스트림을 한 마디로 요약하면 데이터 집합을 효율적이고 Lazy하게 처리하는 반복자라고 알 수 있습니다.또한 스트림의 연산들은 filter 또는 map 같은 중간 연산과 count,findFirst,forEach,reduce 등의 최종 연산으로 구분할 수
지금까지 배운것으로 스트림을 한 마디로 요약하면 데이터 집합을 효율적이고 Lazy하게 처리하는 반복자라고 알 수 있습니다.또한 스트림의 연산들은 filter 또는 map 같은 중간 연산과 count,findFirst,forEach,reduce 등의 최종 연산으로 구분할 수
이번 장에서는 본격적으로 Streamd을 활용하는 방법에 대해 배워보겠습니다. 필터링 스트림 객체는 filter() 메서드를 지원합니다.filter 메서드는 Predicate를 인자로 받아 해당 Predicate와 일치하는 스트림 내부의 요소를 포함하는 스트림 객체를 반환합니다.또 다른 필터링은 지원하는
스트림이란 무엇인가? 스트림은 자바8에서 새롭게 추가된 기능입니다. 스트림을 이용하면 선언형으로 컬렉션 데이터를 처리할 수 있습니다.또한 이를 활용하면 멀티스레드 코드를 구현하지 않아도 병렬 처리가 가능합니다.아래 예제를 통해 스트림을 사용하는 예를 알아봅시다.예제는
앞선 챕터에서 동작 파라미터화를 통해 요구 사항을 효율적으로 반영할 수 있는 코드를 구현해보았습니다.특히 익명 클래스를 활용하여 다양한 동작을 구현했습니다.하지만 이는 람다 표현식에 비하면 코드가 깔끔하지는 않았습니다.이번 장에서는 람다를 활용해 좀
동작 파라미터화 코드 전달하기 책에서 해당 챕터의 서론으로 얘기하는것은 어떻게 시시각각 변하는 사용자 요구 사항에 효율적으로 대응할 수 있을까이다.효율적이다라는 것은 크게 두가지로 나뉜다.우선 엔지니어링적인 비용이 최소인점이고 나머지는 새로 추가할 기능의 구현과
* 커밋 : 내가 현재 작업하고 있는 작업물의 진행상황의 체크포인트라고 비유할 수 있다.다만 이러한 체크포인트에 아래와 같은 메시지를 함께 넣어 쉽게 식별하도록 한다. * 커밋은 사실 다단계로 이루어진 절차이다.git add -> git commit
이번 챕터에서는 특정 파일과 연결된 페이지인 file-backed page를 할당하고 해제하는 mmap과 munmap 시스템 콜을 구현합니다.아마 앞선 챕터를 구현하면 anonymous와 file-backed의 차이점에 대해서는 알게 될것이라고 생각합니다.다만 제가 생각하기에 위 두 가지 종류의
이번 포스팅에서는 project3의 3번째 과제 Stack Growth를 다루겠습니다.기본적으로 이번 챕터의 제목과 같이 Stack 영역에 페이지를 새롭게 할당하는 기능을 구현합니다. 우선 깃북을 따라가며 구현을 해보겠습니다. //vm.c bool vm_try_handle_fault (struct
저번 포스팅에 이어 두번째 과제인 Anonymous Page에 대한 포스팅 진행하겠습니다. 이번 과제에서는 Lazy-Loading을 구현해야합니다.본격적으로 구현을 하기 앞서 필수적으로 알아야할 지식들을 먼저 소개하고 가겠습니다. 1. VM과제에서 페이지의 종류는 3가지입니다.UNINIT,File-Backed,ANON입니다.Lazy-Loading을
해당 포스팅은 핀토스 프로젝트를 구현하는것에 도움을 주기위한 포스팅입니다.이 글을 읽으시는 분들은 VM 과제의 흐름이 어떻게 흘러가는지도 알아야 아래의 구현이 조금 더 쉬워진다고 생각합니다.전 개인적으로 구현을 하고 나서 흐름을 파악하는 방법으로 해당