Java Array에서 Set 변환
1. List를 Set으로 변환 1) 일반 자바 사용 일반 Java를 사용하여 Array를 Set으로 바꾸는 방법이다. @Test public void givenUsingCoreJavaV1_whenArrayConvertedToSet_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };...
1. List를 Set으로 변환 1) 일반 자바 사용 일반 Java를 사용하여 Array를 Set으로 바꾸는 방법이다. @Test public void givenUsingCoreJavaV1_whenArrayConvertedToSet_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };...
1. List를 Array로 변환 1) 일반 자바 사용 일반 Java를 사용하여 List에서 Array로 변환한다. @Test public void givenUsingCoreJava_whenListConvertedToArray_thenCorrect() { List<Integer> sourceList = Arrays.asList(0...
1. Entity에서 DTO로 변환 Spring 애플리케이션의 내부 엔터티와 클라이언트에 다시 게시되는 외부 DTO (데이터 전송 개체) 간에 발생해야 하는 변환을 처리한다. 2. Model Mapper pom.xml에 dependency를 추가한다. <dependency> <groupId>org.modelmapper&...
1. Kafka란 Apache Kafka는 빠르고 확장 가능한 작업을 위한 데이터 피드의 분산 스트리밍, 파이프라이닝 및 재생을 위한 실시간 스트리밍 데이터를 처리하도록 특별히 제작된 오픈 소스 분산 게시-구독 메시징 플랫폼이다. Kafka는 서버 클러스터 내에서 데이터 스트림을 레코드로 유지 관리하여 작동하는 브로커 기반 솔루션이다. Kafka 서...
1. Blocking vs Non-Blocking 대기열 다중 스레드 애플리케이션에서 대기열은 여러 동시 생산자-소비자 시나리오를 처리해야 한다. 동시 대기열의 올바른 선택은 알고리즘에서 우수한 성능을 달성하는 데 중요할 수 있다. 2. Blocking vs Non-Blocking 대기열 BlockingQueue는 간단한 스레드 안전 메커니즘을 제공...
1. 대기열 시각화 Java의 대기열은 Queue를 선언한 후 뒤에 새 요소를 추가하고 앞에서 제거할 수 있다. 실제로 Java에서 접하게 될 대부분의 대기열은 선입 선출 방식으로 작동하며 종종 FIFO로 약칭된다. 2. 핵심 방법 Queue는 모든 구현 클래스에서 코딩해야 하는 여러 메서드를 선언한다. offer() - Queue...
1. API 개요 각 작업에는 기본적으로 두 가지 옵션이 있다. 첫 번째 그룹은 작업이 실패하면 예외를 throw하는 메서드로 구성된다. 다른 그룹은 상태 또는 값을 반환한다. Operation Method Method throwing Exception Inse...
1. DelayQueue의 요소에 대해 지연 구현 DelayQueue에 넣고자 하는 각 요소는 Delayed 인터페이스를 구현해야 한다. DelayObject 클래스를 생성하려고 하면, 해당 클래스의 인스턴스는 DelayQueue에 저장된다. 문자열 데이터와 delayInMilliseconds를 생성자에 인수로 전달한다. public class D...
1. One 생산자 - Zero 소비자 TransferQueue에서 transfer() 메서드를 테스트한다. 예상되는 동작은 소비자가 take() 메서드를 사용하여 대기열에서 메시지를 받을 때까지 생산자가 차단된다는 것이다. 이를 달성하기 위해 생산자는 하나지만 소비자는 없는 프로그램을 만든다. 대기열에서 해당 요소를 가져올 소비자가 없기 때문에 생...
1. API 개요 SynchronousQueue에는 take() 및 put() 이라는 두 가지 작업만 지원되며 둘 다 차단된다. 예를 들어 큐에 요소를 추가하려면 put() 메서드를 호출해야 한다. 해당 메서드는 다른 스레드가 요소를 가져올 준비가 되었음을 알리는 take() 메서드를 호출할 때까지 차단된다. SynchronousQueue에는 대기...