일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- MethodArea
- Compiler
- 상속관계
- la-piscine
- RDD
- 운영체제
- 도커네트워크
- pg_hba.conf
- 바이트코드
- 자바컴파일러
- 42seoul
- 42서울
- abstract
- JIT
- 참조변수
- JVM
- 이노베이션아카데미
- 라피신
- 포함관계
- classloader
- generics
- SRP
- java
- HeapArea
- LSP
- 제네릭스
- javac
- jdk
- StackArea
- Operating System
- Today
- Total
목록개발서적/모던 자바 인 액션 (4)
while(1) 작심삼일();

스트림은 "데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소"로 자바 8 API에 새로 추가됐고, 멀티스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리할 수 있다. 1. 스트림의 장점 선언형 : 더 간결하고 가독성이 좋아진다. 조립할 수 있음 : 유연성이 좋아진다. 병렬화 : 성능이 좋아진다. 2. 스트림의 특징 연속된 요소 : 컬렉션은 자료구조 이므로 시간, 공관의 복잡성과 요소 저장 및 접근 연산이 주를 이루지만, 스트림은 [filter, sorted, map]처럼 표현 계산식이 주를 이룬다. 컬렉션의 주제는 데이터이고 스트림의 주제는 계산이다. 소스 : 스트림은 컬렉션, 배열, I/O 등과 데이터 제공 소스로 부터 데이터를 소비한다. 정렬된 컬렉션으로 스트림을 만들면 정렬된 채로..

1. 람다란 무엇인가? 람다 표현식은 익명 함수를 단순화한 것이라고 할 수 있다. 이름은 없지만, 파라미터 리스트, 바디, 반환 형식, 발생할 수 있는 예외 리스트는 가질수도 있다. 함수형 인터페이스를 사용하는 곳에서 람다 표현식을 사용할 수 있다. 익명 : 보통 메서드와 달리 이름이 없으므로 익명이라 표현한다. 함수 : 특정 클래스에 종속되지 않으므로 메서드 대신 함수라고 표현한다. 전달 : 람다 표현식을 메서드 인수로 전달하거나 변수로 저장할 수 있다. 간결성 : 익명 클래스처럼 많은 코드를 구현할 필요가 없다. Comparator byWeight = new Comparator() { public int compare(Apple a1, Apple a2) { return a1.getWeight().co..

소비자의 요구사항이 계속 바뀌는 건 소프트웨어 엔지니어링에서 피할 수 없는 문제다. 동작 파라미터화를 이용하면 변하는 요구사항에 효과적으로 대응할 수 있다. 동작 파라미터화란 아직은 어떻게 실행할 건지 결정되지 않은 코드 블록을 의미한다. 이 코드 블록은 나중에 프로그램에서 호출한다. 2.1 변화하는 요구사항에 대응하기 (잘못된 대응) 1) 녹색사과 필터링 public static List filterGreenApples(List inventory) { List result = new ArrayList(); for (Apple apple : inventory) { if (apple.getColor() == Color.GREEN) { result.add(apple); } } return result; } ..

1. 자바의 멀티코어 병렬성 진화과정 빅데이터에 직면하면서, 멀티코어 컴퓨터나 컴퓨팅 클러스터를 이용해서 빅데이터를 효과적으로 처리해야할 필요성이 커졌다. 자바 8 이전의 대부분 프로그램은 멀티코어 환경에서도 하나의 코어만을 지원했다. 나머지 코어를 활용하려면 스레드를 활용하는 것이 일반적인 방법이었다. 하지만 스레드는 관리하기가 어렵고, 많은 문제가 발생할 수 있다는 단점이 있다. 이러한 병렬 실행 환경을 쉽게 관리하고 에러가 덜 발생하는 방향으로 발전하기 위해 자바 1.0 에서는 스레드, 락, 메모리 모델까지 지 자바 5에서는 스레드 풀, 병렬 실행 컬렉션을 도입, 자바 7에서는 병렬 실행에 도움을 주는 포크/조인 프레임워크를 제공했다. 자바 역사를 통틀어 가장 큰 변화가 나타난 자바 8에서는 세가지..