Java/study29 스트림과 병렬처리 병렬(parallel)처리 : 한 가지 작업을 서브 작업으로 나누고, 서브 작업들을 분리된 스레드에서 병렬적으로 처리하는 것 스트림(Stream) 자바8부터 추가된 컬렉션(배열 포함)의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자 Stream의 foreach() 메서드는 Consumer 함수적 인터페이스 타입의 매개값을 가지므로 컬렉션 요소를 소비할 코드를 람다식으로 가술할 수 있다. 1234567891011121314151617import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.function.Predicate;import java.util.stream.Stream; .. 2019. 4. 20. 컬렉션 프레임워크(Collection Framework) S*프레임워크[ Framework ]소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경을 말한다.소프트웨어 프레임워크는 지원 프로그램, 컴파일러, 코드 라이브러리, 도구 세트, API 등과 같이 프로젝트나 솔루션 개발을 가능하게 하는 여러 가지 서로 다른 컴포넌트들을 포함한다. 사용방법을 미리 정해놓은 라이브러리. 컬렉션(Collection) java.util 패키지에 컬렌션과 관련된 인터페이스와 클래스들이 포함돼있다. List 인터페이스 구현 클래스 : ArrayList / Vector / LinkedList Set 인터페이스 구현 클래스 : HashSet / TreeSet .. 2019. 4. 19. 로컬 객체의 로컬 변수, 매개 변수 사용 로컬객체(로컬 클래스, 익명 객체, 람다식)의 로컬변수, 매개변수 사용 로컬 객체는 메서드 실행이 끝나고 힙 메모리에 존재해서 계속 사용될 수 있다. 매개변수나 로컬변수는 메서드 실행이 끝나면 스택 메모리에서 사라지기 때문에 로컬 객체에서 사용할 경우 문제가 발생한다.자바는 이 문제를 해결하기 위해 컴파일 시 로컬 객체 내에서 사용하는 매개변수나 로컬변수의 값을 로컬 객체 내부에 복사해두고 사용한다.매개변수나 로컬변수의 값이 변경되면 로컬객체에 복사해 둔 값과 달라지는 문제가 발생하므로 매개변수나 로컬변수를 final로 선언하여 수정을 막는다.(자바 8부터는 매개변수, 로컬변수에 final 선언을 하지 않아도 로컬 객체에 쓰는 순간 자동으로 final 특성을 갖게 한다. )final 특성(초기화 한번만 .. 2019. 4. 19. 람다식(Lambda Expression) 람다식(Lambda Expression) 익명함수를 생성하기 위한 식, 객체 지향보다는 함수지향객체지향언어인 자바에서 람다식 수용한 이유 : 컬렉션의 요소를 필터링하거나 매핑해서 원하는 결과를 쉽게 집계할 수 있다.형태는 매개변수를 가진 코드 블록이며, 인터페이스 변수에 대입된다. (=인터페이스의 익명구현객체를 생성한다.) Runnable runnable = ()-> {}; // 람다식 자체로 객체 생성이 되기때문에 new 키워드 쓸 필요 X람다식은 단순히 메소드를 선언하는 것이 아니라 이 메소드를 가지고 있는 객체를 생성해 낸다.(익명구현객체처럼 바이트 코드파일로 생성되는지 확인해보기) Runnable runnable = ()-> {}; // 람다식 자체로 객체 생성이 되기때문에 new 키워드 쓸 필요.. 2019. 4. 18. 이전 1 2 3 4 5 6 ··· 8 다음