맛있는 개발자의 기록 일기
  • 홈
  • 관리창
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기 (84)
      • Java (74)
      • Food (2)
      • Java 기초 (0)
      • Java 심화 (0)
      • Language (4)
        • Java (4)
      • Framework (2)
        • Spring (2)
      • DevOps (1)
        • Git (1)
      • Cloud (1)
        • Amazon Cloud (1)
  • 홈
  • 태그
  • 방명록
Language/Java

[Java] CountDownLatch

CountDownLatch는 어떤 쓰레드가 다른 쓰레드에서 작업이 완료될 때 까지 기다릴 수 있도록 해주는 클래스입니다. 예를 들어, 우리는 5개의 요청이 모두 끝날때 까지 기다려야 하므로, CountDownLatch를 사용할 것이다. Main thread에서 5개의 쓰레드를 생성하여 어떤 작업을 병렬로 처리되도록 할 수 있습니다. 이 때 Main thread는 다른 쓰레드가 종료되는 것을 기다리지 않고 다음 코드(statements)를 수행합니다. 여기서 CountDownLatch를 사용하면 다음 코드(statements)를 실행하지 않고 기다리도록 만들 수 있습니다. CountDownLatch 사용 방법 CountDownLatch는 다음과 같이 생성할 수 있습니다. 인자로 Latch의 숫자를 전달합니..

2023. 8. 1. 14:25
Language/Java

[Java] Executors / ExecutorService 사용법

자바 Thread 관리의 어려움 자바로 스레드를 생성할 경우에는 아주 기본적으로는 아래와 같이 Thread 클래스와 Runnable 함수형 인터페이스를 구현해 Thread를 생성합니다. 간단한 소스 같은 경우에는 쉽게 관리할 수 있지만 복잡해지는 경우에는 스레드를 사용자가 직접 관리하는 것은 매우 어렵습니다. ex) 인터럽트 관리 이러한 관리의 어려운 문제를 해결하기 위해 스레드를 만들고 관리하는 작업을 위임을 하기 위해 Executors가 등장하게 됩니다. // 람다로 스레드 만들기 Thread thread = new Thread(() -> { System.out.println("Thread Test " + Thread.currentThread().getName()); }); thread.start()..

2023. 8. 1. 14:12
Language/Java

Enum(EnumMap, EnumSet)

자바 1.5 버전부터 새롭게 추가된 열거형 상수로 서로 연관된 상수들의 집합을 의미한다. Enum이란? 연관된 상수들의 집합을 의미합니다. 다시 말해 상수 목록을 담을 수 있는 데이터 타입을 의미한다. 우리가 class로 선언하는 부분에 enum이라고 선언하게 되면, 해당 객체는 상수의 집합이라는 의미를 명시적으로 나타냅니다. java.lang.Enum 클래스 Enum 클래스는 모든 자바 열거체의 조상 클래스입니다. Enum 클래스에는 열거체 조작을 위한 다양한 메서드가 포함되어 있습니다. 1. values() 해당 열거체의 모든 상수를 지정한 배열을 생성해서 반환합니다. 특정 Enum 타입이 가질 수 있는 모든 값을 순회하면서 출력하려면 아래와 같이 하면 됩니다. enum Rainbow {RED, OR..

2023. 7. 6. 12:09
Java

Window 환경에 SDKMAN 설치하여 사용하기 (gitbash)

개요 SDK Manager 자체가 리눅스 환경에 맞추어져 있어 Window는 다른 설정이 필요해 보임 ✔ SDKMAN Java 기반의 개발도구 설치 및 관리를 도와주는 커맨드라인 유틸리티. 1. SDKMAN 설치 $ curl -s "https://get.sdkman.io" | bash 설치 실패 gitbash를 통해서 sdkman을 설치하면, 위와 같은 error 발생 해당 error는 zip 파일이 없어서 발생하는 오류라고 합니다. 아래의 사이트에서 파일을 다운로드 받은 후, git 경로(c:\program files\Git\usr\bin)에 복사해서 붙혀 주시면 됩니다. GnuWin - Browse /zip/3.0 at SourceForge.net Whether you’re building a sin..

2023. 2. 14. 10:32
Java

Stream 생성하기 - 배열/난수/정수/람다식/파일/empty

스트림 만들기 스트림 생성 중간연산(0~N) 최종연산(0~1) 스트림 생성 ✔ Collection 인터페이스의 Stream()으로 컬렉션을 스트림으로 변환 Stream stream() //Collection 인터페이스의 메서드 List list = Arrays.asList(1,2,3,4,5); Stream intStream = list.stream(); //List를 스트림으로 변환 //스트림의 모든 요소를 출력 intStream.forEach(System.out::Print); //forEach() - 최종연산 //12345 intStream.forEach(System.out::Print); //error. 스트림이 이미 위에서 닫혔음.(stream은 1회용) 참고 : 최종 연산은 한번 수행하고 나면 ..

2023. 2. 6. 15:19
Java

스트림(Stream)과 스트림의 특징

💡 스트림(Stream) 데이터의 연속적인 흐름을 뜻한다. 다양한 데이터 소스(Collection - List, Set, Map / Array 등)를 표준화된 방법으로 다루기 위한 것이다. 데이터 소스(List, Set, Map, 배열) → Stream(스트림 만들기) → 중간연산s...(N번) → 최종연산(1번) 스트림으로 변환하는 방법 List list = Arrays.asList(1,2,3,4,5); Stream intStream = list.stream(); //컬렉션 Stream strStream = Stream.of(new String[]{"a","b","c"}); //배열 Stream evenStream = Stream iterate(0, n->n+2); //0,2,4,6,... Stream..

2023. 2. 3. 16:52
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • ···
  • 14
  • »
Powered by Privatenote Copyright © 맛있는 개발자의 기록 일기 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바