[Practical-Java] 15. File NIO (2)-ByteBuffer

ByteBuffer는 Java NIO의 패키지의 핵심 구성 요소 중 하나로 바이트 데이터를 읽고, 쓰고, 조작할 수 있는 버퍼를 제공하는 클래스다. 버퍼는 기본적으로 일련의 데이터 요소를 포함하는 연속된 메모리 블록으로 구성되며, ByteBuffer는 바이트 타입의 데이터를 저장한다. 이 버퍼는 네트워크 통신이나 파일 I/O와 같은 곳에서 데이터를 임시 저장하는 데 사용된다.

Continue reading

[Practical-Java] 14. File NIO (1)

Java NIO (New Input/Output)는 Java 1.4 버전에서 소개된 입력 및 출력의 새로운 방식으로, 기존의 표준 Java I/O를 보완하여 더 높은 성능과 기능을 제공합니다. Java NIO는 논블로킹(non-blocking) 입출력, 버퍼 관리, 채널(channel)을 이용한 데이터 전송 등의 특징을 가지고 있다.

Continue reading

[Practical-Java] 13. Parallel Programming-JAVA 8 : Spliterator

자바의 Spliterator는 Java 8에서 도입된 인터페이스로, IteratorIterable 인터페이스의 확장된 것이다. Spliterator는 “splitable iterator”의 줄임말로, 요소를 순차적으로 탐색하면서 필요에 따라 분할할 수 있는 기능을 제공한다. 이는 주로 병렬 프로그래밍을 위해 설계되었다. Collection 인터페이스를 구현하는 클래스는 spliterator() 메서드를 통해 Spliterator 객체를 제공할 수 있다.

Continue reading

[Practical-Java] 10. Parallel Programming-Interface : Runnable, Callable

Thread, Runnable, Callable, ExecutorService 는 병렬 처리 및 비동기 실행 등 멀티 스레딩에 대해서 지원한다. 해당 포스팅에서는 Runnable과 Callable에 대한 내용이다.
Runnable과 Callable은 Java에서 병렬 또는 비동기 작업을 정의할 때 사용되는 함수형 인터페이스입니다. 함수형 인터페이스이기에 단일 추상 메서드로 Runnable은 run() 메서드를, Callable은 call() 메서드를 정의한다. 람다 표현식과 함께 사용될 수 있어 Java 8 이상에서 함수형 프로그래밍을 지원한다.

Continue reading

Pagination