Part 03. 라이브러리 활용

자바 표준 라이브러리의 고급 기능인 멀티 스레드, 스트림, 그리고 데이터 입출력을 심도 있게 다룹니다.

학습목표

  1. 멀티 스레드: 스레드의 생성과 제어, 동기화 처리를 통해 멀티 태스킹 애플리케이션을 구현합니다.
  2. 스트림: 컬렉션 데이터를 람다식과 스트림 API를 사용하여 함수형 스타일로 효율적으로 처리합니다.
  3. 데이터 입출력: 바이트 및 문자 스트림을 사용하여 파일, 네트워크 등 다양한 소스로부터 데이터를 입출력합니다.

20. 멀티 스레드

운영체제는 실행 중인 프로그램을 프로세스(Process)로 관리하며, 멀티 태스킹을 위해 프로세스 내에서 멀티 스레드(Thread)를 사용합니다. 이 장에서는 자바에서 스레드를 생성하고 실행하는 방법, 스레드의 상태 제어, 그리고 공유 객체 동기화 문제를 해결하는 방법을 학습합니다.

목차


21. 스트림과 병렬 처리

자바 8부터 도입된 스트림(Stream)은 컬렉션 및 배열의 요소를 반복 처리하기 위한 강력한 기능을 제공합니다. 람다식을 사용하여 요소 처리 코드를 간결하게 작성할 수 있으며, 내부 반복자를 통해 병렬 처리를 쉽게 구현할 수 있습니다. 필터링, 매핑, 집계, 수집 등 다양한 중간 및 최종 처리 기능을 학습합니다.

목차


22. 데이터 입출력

데이터 입출력(I/O)은 프로그램의 필수적인 기능입니다. 자바는 java.io 패키지를 통해 바이트 기반 스트림(InputStream, OutputStream)과 문자 기반 스트림(Reader, Writer)을 제공합니다. 파일 입출력, 보조 스트림을 이용한 성능 향상, 객체 직렬화, 그리고 java.nioFile 클래스 활용법을 상세히 학습합니다.

목차


23. 네트워크

자바의 최신 언어 기능과 네트워크 프로그래밍에 대해 학습합니다.

TCP/IP 기초 및 서버

NIO 기반

서브목차