자바
-
Spring Boot 애플리케이션 종료 시 안전하게 파일 백업 처리하기Tech/SpringBoot 2025. 6. 8. 21:55
Spring Boot 애플리케이션을 개발할 때, 서비스 종료 시 파일 백업이나 리소스 정리 같은 작업이 필요한 경우가 많습니다. 이 글에서는 애플리케이션 종료 시 안전하게 파일을 백업하는 방법을 두 가지 방식으로 소개합니다.@PreDestroy를 이용한 Spring Bean 종료 훅JVM 레벨에서 작동하는 Shutdown Hook✅ 환경 설정 (Gradle)// build.gradle.ktsplugins { id("org.springframework.boot") version "3.2.5" id("io.spring.dependency-management") version "1.1.4" kotlin("jvm") version "1.9.23" kotlin("plugin.spring") ..
-
Blocking IO 와 Non-Blocking IOTech/SpringBoot 2023. 10. 29. 13:46
Blocking I/O Blocking I/O는 I/O 작업이 완료될 때까지 해당 스레드가 대기하는 방식입니다. 예를 들어, 파일에서 데이터를 읽는 작업을 수행하는 경우, 데이터 읽기가 완료될 때까지 스레드는 블록되어 다른 작업을 수행할 수 없게 됩니다. 스레드의 상태 Blocking I/O 작업 중에는 스레드가 "Blocked" 상태가 되며, 이 상태에서는 CPU가 해당 스레드를 실행하지 않습니다. 스레드는 I/O 작업이 완료될 때까지 대기합니다. CPU의 상태 스레드가 블록된 동안 CPU는 다른 스레드나 프로세스의 작업을 실행할 수 있습니다. 만약 다른 실행 가능한 스레드가 없다면, CPU는 유휴 상태가 될 수 있습니다. CPU 유휴 상태 방지 CPU의 유휴 상태를 방지하기 위해서는 Non-Block..
-
Java RAF (RandomAccessFile) - 사용법카테고리 없음 2015. 10. 9. 17:07
자바 7 에서도 C언어의 fseek 와 lseek같은 기능을 제공한다.C 언어에서 fseek 같은 경우 파일 포인터를 사용하여 파일의 위치로 접근할수있다.자바에서도 동일한 기능을 할수있는 RandomAccessFile 클래스를 사용하면 가능하다. public class RandomAccessFileDemo { public static void main(String[] args) { try { // create a new RandomAccessFile with filename test RandomAccessFile raf = new RandomAccessFile("test.txt", "r");// 모드 값은 rw,w,r 과 같이 다양하게 선택 가능. raf.seek(0);// 0 이면 처음부터 // pri..