본문으로 건너뛰기
홈
기술
기술 전체
프로그래밍68
컴퓨터 과학63
AI48
웹 개발36
인프라33
데이터31
소프트웨어 공학18
소개

최신 글

기술과 일상을 함께 기록합니다.

NIO TCP blocking channel 소켓서버 & 클라이언트

블로킹 SocketChannel로 TCP 에코 서버·클라이언트를 만들고 길이 프레임, 부분 읽기·쓰기, 메시지 크기 검증을 구현한다.

· 1분 읽기

비동기 파일채널

AsynchronousFileChannel의 Future와 CompletionHandler로 파일 읽기·쓰기 완료를 처리하고 부분 I/O와 채널 종료 시점을 살펴본다.

· 2분 읽기

NIO

Java NIO의 Channel과 ByteBuffer의 position·limit·capacity를 설명하고 다이렉트 버퍼와 Selector의 선택 기준을 살펴본다.

· 3분 읽기

[JAVA NIO] WatchService(와치서비스)

Java WatchService로 디렉터리 생성·수정·삭제 이벤트를 감시하고 키 재등록, 중복·누락 이벤트 및 파일 기록 완료 시점을 다룬다.

· 2분 읽기

규칙 2. 생성자 인자가 많을 때는 Builder 패턴 적용을 고려하라

선택 인자가 많은 Java 객체를 Builder로 구성하고 필수값 검증, 중간 상태 차단, 빌더 재사용 시 주의점을 예제로 살펴본다.

· 2분 읽기

규칙 1. 생성자대신 정적 팩터리 메서드를 사용할 수 없는지 생각해 보라

Java 정적 팩터리 메서드의 이름·반환 타입·객체 재사용 이점을 생성자와 비교하고 선택 시 고려할 제약을 예제로 설명한다.

· 2분 읽기

[병렬처리]2. 스레드의 안전성

공유 가변 상태가 스레드 안전성에 미치는 영향을 살펴보고 동기화·캡슐화·불변 객체로 클래스의 정확성을 지키는 방법을 정리한다.

· 8분 읽기

String 보다는 StringBuilder, StringBuffer를 사용해야하는 이유.

문자열 누적 상황에서 String과 StringBuilder의 생성 비용을 비교하고 StringBuffer의 동기화가 필요한 범위를 예제로 설명한다.

· 2분 읽기

[링크]셧다운 후크를 사용한 어플리케이션의 안전한 종료 처리

JVM 셧다운 훅으로 Executor 작업을 제한된 시간에 정리하는 방법과 훅이 실행되지 않는 종료 상황, 훅 사이 순서 제약을 살펴본다.

· 1분 읽기

Java static 키워드

Java static 필드·메서드가 인스턴스와 달리 공유되는 방식, 정적 중첩 클래스와 초기화 시점 및 공유 상태의 주의점을 설명한다.

· 2분 읽기

java final 키워드

Java final이 클래스 상속, 메서드 재정의, 변수 재할당에 각각 미치는 영향을 예제로 구분하고 참조 불변성과의 차이를 짚는다.

· 2분 읽기

스레드

Java 스레드의 동시성과 병렬성, 공유 상태의 경쟁 조건, synchronized로 임계 영역을 보호하는 방법을 정리한다.

· 2분 읽기