이번 챕터는 자바 8, 자바 9에 추가된 새로운 컬렉션 API의 기능을 배운다. 리스트, 집합, 맵 등을 조작하고 쉽게 만드는 방법을 배운다고 생각하면 될 것 같다.자바 9에서는 작은 컬렉션 객체를 쉽게 만들 수 있는 몇가지 방법을 제공한다. 자바에서 적은 요소를 포함
이번 챕터는 Java 8 관점에서 바라본 병렬성에 관한 내용이다. 사실 아직 병렬성이 필요한 코딩을 해보지 않았고, 어떠한 상황에서 쓰이는지 잘 몰라 완전히 와 닿거나 이해되지 않은 것 같다. 그래도 이해한 부분까지 정리를 해보려고 한다. 추후에 병렬성이 필요하다고 생
이전 챕터에서까지 최종 연산 collect에서 toList로 스트림 요소를 항상 리스트로만 변환했다. 이번 장에서는 collect가 다양한 요소 누적 방식을 인수로 받아, 스트림을 최종결과로 도출하는 리듀싱 연산을 수행할 수 있음을 설명한다.다양한 요소 누적 방식은 C
이번 장에서는 스트림 API가 지원하는 다양한 연산들을 살펴본다. 스트림을 어떻게 활용하는지 중점적으로 보자.스트림 인터페이스는 filter 메서드를 지원한다.Predicate(boolean)을 반환하는 함수를 인수로 받음Predicate와 일치하는 모든 요소를 포함하
4장에서는 우리가 많이 들어 보았지만 정확하게 알지 못하는 Java Stream(스트림)에 대해 간단히 소개한다.스트림은 다음과 같은 특징들을 가진다.선언형 : 더 간결하고 가독성이 좋아진다조립할 수 있음 : 유연성이 좋아진다.병렬화 : 성능이 좋아진다.한번 예시를 보
챕터 3은 Java 8에 추가된 기능인 Lambda(람다)에 관한 내용이다. 이전 공부할때 작성한 내용에도 조금 다뤘었지만 오늘은 조금 더 자세하고 깊게 정리해보자. Java 8에 추가된 새로운 기능메서드로 전달할 수 있는 익명 함수를 단순화 한 것간결한 방식으로 코드
챕터 2는 앞서 챕터 1에서 간단히 소개 되었던 동작 파라미터화에 관한 이야기이다. 동작 파라미터란 말 그대로 동작을 파라미터화 하는 것인데, 자세히 설명하면 아직 어떻게 실행할 것인지 결정하지 않은 코드 블록을 의미한다. 이 코드의 실행은 나중에 프로그램에서 호출하여
Java에서 가장 큰 변화를 가지고 오고, 현재까지 가장 많이 사용하는 버전은 버전 8이다. 이 책의 1장에서는 Java 8이 나오게 된 배경과 추가된 기능을 설명하고 있다.Java 8이 등장하게 된 배경부터 알아보자.현재 많은 컴퓨터들이 CPU의 발전으로 인해 멀티코
함수형 인터페이스(Functional Interface) 함수형 인터페이스란? 함수형 인터페이스를 구현하는 클래스는 람다 표현식, 메서드 참조 등의 기능을 활용하여 코드를 간결하게 작성할 수 있다. 함수형 인터페이스란 한개의 추상 메소드(abstract method)
자바를 공부하면서 스트림(Stream)이란 단어는 많이 들어봤다. 하지만 들어보기만 했지 스트림이 어떤건지, 어떻게 사용하는건지 잘 몰라 한번 알아보았다.한번 예시를 들어보자.위와 같은 코드가 있다고 가정할 때, 스트림을 사용하면 다음과 같이 편리하게 사용 할 수 있다
자바에서 Enumeration(열거형)이란 상수 값을 나열하는 Data Type이다. 특별한 상수 집합 클래스라고 보면 될 것 같다.상수를 의미별로 묶어 사용하고 싶을 때 사용한다.예를 들어 월, 화, 수, 목, 금, 토, 일과 같이 요일을 하나로 묶어 관리 할 수 있
지난 스터디 발표에서 효준이가 발표한 JVM에 대해 흥미가 생겨 한번 더 찾아보게 되었다.우선 JVM이란 무엇일까?자바 가상 머신으로 자바 바이트 코드를 실행할 수 있는 주체다. CPU나 운영체제(플랫폼)의 종류와 무관하게 실행이 가능하다. 즉, 운영체제 위
개발을 할 때 가장 많이 발생하는 예외 중 하나가 바로 NPE(NullPointerException)이다. NPE를 피하려면 null 여부를 검사해야 하는데, null 검사를 해야하는 변수가 많은 경우 코드가 복잡해지고 번거롭다. 그래서 널리 사용되는 것이 Option
SpringJava의 웹 프레임워크로 Java 언어를 기반으로 사용한다. Java로 다양한 어플리케이션을 만들기 위한 프로그래밍 틀이라 할 수 있다.Java 기술들을 더 쉽게 사용할 수 있게 해주는 오픈소스 프레임 워크이다.Spring 주요 특징IoC(Inversion