ssddo-story
close
프로필 사진

ssddo-story

github: @denev6

  • 분류 전체보기 (54)
    • SpringBoot (9)
    • webFlux (6)
    • DB (8)
      • MySQL (3)
      • Mongo (3)
      • Docker (1)
      • Postgres (1)
    • JAVA (5)
    • ORM & DSL (6)
      • JPA (3)
      • JOOQ (3)
    • React (12)
      • 설치 및 환경 구축 (1)
      • 기본 (4)
      • 활용 (7)
    • CS (1)
    • 공통 (6)
    • 프로젝트 (1)
  • 홈
  • 태그
  • 방명록
[JAVA] Java AIO

[JAVA] Java AIO

지난 포스팅에서 다뤘던 NIO에 이어서 이번에는 AIO에 대해 이야기해보려고 합니다. Java 1.7부터 기존 NIO의 발전판인 NIO2 (New I/O 2)가 추가되었습니다.이를 통해 AsynchronousChannel 기반의 완전한 비동기 I/O가 지원이 됩니다. 아래에서 더 자세히 알아가보겠습니다. 😋 1️⃣ AIO 란?기존의 NIO는 configureBlocking(false) 로 논블로킹 처리가 가능했지만여전히 애플리케이션 스레드가 직접 I/O 상태를 확인(polling) 해야 했습니다.(이전 글 >> 5️⃣ NIO 논블러킹 TCP 소켓 구현해보기 참고) AIO(Asynchronous I/O)는 이보다 더 발전한 구조로 I/O 작업을 운영체제에게 맡기고,작업이 끝나면 OS가 직접 알림..

  • format_list_bulleted JAVA
  • · 2025. 10. 26.
[JAVA] Java NIO - ByteBuffer와 NIO논블러킹 TCP소켓 구현

[JAVA] Java NIO - ByteBuffer와 NIO논블러킹 TCP소켓 구현

지난 포스팅에 이어서 Java NIO의 ByteBuffer에 대한 내용을 추가로 포스팅해보고자 합니다. 👀 1️⃣ ByteBuffer의 종류와 특징Java NIO에서 데이터는 모두 Buffer를 통해 읽고 쓰여집니다.그중에서도 많이 사용되는 ByteBuffer에 대해 조금 더 알아보고자 합니다. ByteBuffer는 크게 두 가지로 나뉩니다.① DirectByteBuffer내용JVM Heap이 아닌 운영체제의 네이티브 메모리 공간을 사용합니다.커널 메모리 복사 과정이 없기 때문에 데이터를 읽고 쓰는 속도가 빠릅니다.단, allocate / deallocate 시 system call을 사용하므로 상대적으로 비용이 크고, 메모리 할당·해제가 느립니다.요약구분내용저장 위치네이티브 메모리 (off-..

  • format_list_bulleted JAVA
  • · 2025. 10. 7.
[JAVA] Java NIO - Channel과 Buffer

[JAVA] Java NIO - Channel과 Buffer

이번에는 Java NIO의 Channel과 Buffer의 개념을 다루면서NIO가 기존 IO와 어떤 차이를 가지는에 대한 내용을 포스팅해보고자 합니다. ☘️ 1️⃣ Java NIO란?Java New Input/Output의 약자로, Java 1.4에서 처음 도입되었습니다.기존 IO와 달리 버퍼(Buffer) 기반 구조를 사용하고, 논블로킹(Non-blocking) 입출력을 지원합니다.Channel, Selector, Buffer라는 새로운 개념을 통해 파일과 네트워크 입출력을 효율적으로 처리할 수 있습니다.⭐️ 핵심 특징양방향 데이터 흐름 지원Non-blocking API 제공 (필요 시 Blocking API도 사용 가능)대규모 네트워크 서버 개발에 적합 (성능 최적화) 2️⃣ Ja..

  • format_list_bulleted JAVA
  • · 2025. 9. 27.
[JAVA] Timezone과 Offset

[JAVA] Timezone과 Offset

🌏 Timezone과 Offset종류표기설명UTC+00:00세계 기준 시간. 런던, 그리니치KST+09:00한국 시간 (Korea Standard Time)Offset+09:00UTC에서 얼마나 차이 나는지TimezoneAsia/Seoul지명으로 표현한 규칙 Offset의 시간은 고정이 되는 반면, Timezone은 지역에 따라서 바뀝니다. 각 종류별로 시간이 어떻게 나타나는지 로그를 통해 확인해보겠습니다. 🌏 InstantInstant는 UTC 기준 1970년 1월 1일 00:00:00Z부터의 경과 시간을 나타냅니다. 이는 Java에서 '시점(Point in Time)' 그 자체를 표현할 때 사용됩니다.Instant now = Instant.now(); System.out.println(no..

  • format_list_bulleted JAVA
  • · 2025. 7. 5.
[JAVA] 기본타입 과 Wrapper Class

[JAVA] 기본타입 과 Wrapper Class

0    시작하기 앞서...  ' int 형으로 선언할 때와 Integer 로 선언할 때 무엇이 다를까! '어느날 문득! 매개변수에 변수를 선언하던 도중 이런 생각을 해보았다.    int, float, double, char, boolean 과 같은 것을 기본타입이라고 하고 Integer, Float, Double, Character, Boolean와 같은 것을 Wrapper Class 라고 합니다.     기본타입과 Wrapper Class 의 육안적으로 보이는 가장 큰 차이점은 Wrapper Class 가 대문자로 시작한다는 것입니다. 대문자를 사용하는 것에는 클래스가 있습니다. Integer, Float, Double, Character, Boolean 등 이러한 것들은 클래스 타입이라고 부를 수..

  • format_list_bulleted JAVA
  • · 2023. 10. 11.
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (54)
    • SpringBoot (9)
    • webFlux (6)
    • DB (8)
      • MySQL (3)
      • Mongo (3)
      • Docker (1)
      • Postgres (1)
    • JAVA (5)
    • ORM & DSL (6)
      • JPA (3)
      • JOOQ (3)
    • React (12)
      • 설치 및 환경 구축 (1)
      • 기본 (4)
      • 활용 (7)
    • CS (1)
    • 공통 (6)
    • 프로젝트 (1)
인기 글
전체 방문자
오늘
어제
Copyright © ssddo 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바