본문 바로가기

Java

(44)
[Java] 스트림(Stream) 익히기 스트림이란 스트림은 컬렉션에 저장된 요소를 하나식 꺼내서 람다식으로 처리하는 반복자이다. 스트림을 사용하기 위해서는 람다식에 대한 지식이 필요하며 컬렉션, 스레드에 대한 이해도 필요하다. java 에서 반복자 대표주자는 Iterator(java.util) 이다. 스트림은 java.util.stream 패키지에 속한 인터페이스이다. 스트림과 컬렉션은 집합에 대한 클래스이다. 컬렉션이 요소를 할당하고 관리하는데 목적이 있다면, 스트림은 요소를 검색하거나 값을 처리하는데 목적이 있다. 스트림의 특징 람다식으로 처리 -> 코드가 간결해짐 내부 반복자 사용 -> 병렬처리가 쉽다 중간처리 및 최종처리(집계) 결과 관리가 쉽다 참고1) 외부반복자 vs 내부반복자 구분 내용 외부반복자(external iterator)..
[Java] 람다식(Lambda) 익히기 수정이력 2022.04.16. 글 표현 다듬기. 불필요한 내용 삭제 람다식이란 람다식은 익명함수(anonymous function)로 구동된다. 자바 8버전부터 적용 가능하다. 람다식은 마치 함수처럼 작성하지만, 실행시 익명구현 객체를 생성하는 방식으로 구동된다. 람다식은 병렬처리, 이벤트 처리 등 함수적 프로그래밍에서 유용하게 쓰인다. 람다식을 쓰는 이유 람다식을 쓰지 않을 때보다 코드가 간결해진다 (기호 및 약속된 표현을 쓰기 때문에) 필터링 및 매핑시 집계결과를 쉽게 가져올 수 있다 (내장된 메서드를 사용할 수 있음) 함수적 인터페이스 함수적 인터페이스(functional interface)는 추상메서드가 1개만 정의된 인터페이스이다. 람다식은 함수적 인터페이스에 사용할 수 있다. 람다식을 실행하면..
[Java] 스레드(Thread) 활용하기 - 데몬스레드, 스레드 그룹, 스레드 풀 데몬(daemon) 스레드 데몬 스레드는 주 스레드의 작업을 돕는 보조 스레드이다. 보통 사용자가 직접 제어하지 않고 백그라운드에서 실행된다. 주 스레드가 종료되면 데몬 스레드는 자동으로 종료된다. 코딩 방법 주 스레드에서 setDaemon() 메서드를 호출하여 데몬을 설정한다. start() 호출하여 스레드가 실행되기 전에 setDaemon()을 호출해야 정상적으로 설정된다. isDaemoni() 메서드로 데몬여부를 확인할 수 있다. 아래 코드를 보자. public class DaemonTh extends Thread{ void whileDaemonRunning(){ System.out.println("데몬스레드 실행중"); } void ifInterrupted(){ System.out.println(..
[Java] 스레드(Thread) 제어하기 - 우선순위 설정, 동기화, 메서드 사용하기 스레드 우선순위 스레드는 우선순위를 할당할 수 있다. 스레드가 여러개인 경우 우선순위가 높은 스레드가 제어권을 가질 기회가 많아진다. 우선순위는 1~10까지 int 값으로 할당된다. 기본 우선순위는 5이다. 우선순위가 높은 스레드는 실행기회를 많이 갖는다. 우선순위가 높다고 해서 자원을 모두 가져가거나 항상 먼저 실행된다는 의미가 아니다. 프로세스가 스레드를 번갈아 수행하는데 코드를 좀더 자주 실행한다는 의미이다. public static final int MAX_PRIORITY 가장 높은 순위. 상수 10 public static final int NORM_PRIORITY 일반적인 순위. 상수 5 public static final int MIN_PRIORITY 가장 낮은 순위. 상수 1 프로세서는 한..