본문 바로가기

☕Java103

Spring WebFlux 핵심 내용 정리: 진짜 비동기, 논블로킹을 위한 설계 조건 WebFlux에 대해 이해가 잘 가지 않았던 점을 조사하고 정리해 보았다. WebFlux는 메서드의 반환을 비동기적으로 처리할 수 있게 해 주며, 메서드들은 Mono 또는 Flux와 같은 비동기 객체를 반환한다. 대부분의 경우, 이 스트림이 완료되었을 때 HTTP 응답을 전송하지만, Flux를 이용한 스트리밍 응답처럼 중간에 데이터를 전송할 수도 있다.이 구조 덕분에 요청마다 스레드를 붙잡아두지 않아도 되기 때문에, 시스템은 훨씬 더 효율적으로 스레드를 활용할 수 있다.즉, WebFlux를 사용하는 가장 큰 이유는 요청 수가 많아질 때도 상대적으로 더 잘 버틸 수 있기 때문이다. 하지만 아무리 비동기 흐름이라도, 중간에 DB I/O나 파일 I/O처럼 블로킹 작업이 포함되면 해당 작업은 별도 스레드에서 대.. 2025. 6. 21.
자바 컴파일 명령어 정리 최근에는 자바 개발자들이 IDE를 통해 자바를 배우는 경우가 많아 실제로 컴파일(javac), 실행(java), 패키징(jar) 명령어를 직접 사용하는 일은 드물다. 대부분의 작업은 IDE나 빌드 도구(예: Maven, Gradle)가 자동으로 처리한다. 그럼에도 불구하고, 기저에서 어떻게 동작하는지 이해하는 것은 개발에 큰 도움이 된다. 기본적인 명령어 사용법을 알고 있으면 문제 해결이나 빌드 도구 및 IDE 설정을 수정할 때 더 수월하기 때문이다. 이러한 이유로 자바의 핵심 명령어를 한 번 정리해 보기로 한다. 자바에서 소스파일을 클래스 파일로 컴파일하고, 컴파일한 파일을 jar 파일로 패키징하거나 실행하는 명령어들을 정리한다. javac- Windows 명령 프롬프트src 디렉터리와 하위 디렉터리의.. 2025. 1. 11.
자바 지네릭 지난번에 enum 설명에 이어서, enum과 마찬가지로 자바 1.5에서 등장한 지네릭에 대해서 이야기해보려고 한다. 지네릭은 클래스나 메서드에서 사용할 데이터 타입을 제한한다. 이렇게 함으로써 타입 안전성을 제공하고, 변수 사용 시에 타입 체크나 타입 캐스팅을 수행하지 않아도 되는 이점이 있다. 사용 방법지네릭 클래스지네릭 클래스는 클래스 이름 뒤에 "타입 변수 T"를 명시해 준다. public class A { T item; public T getItem() { return item; } public void setItem(T item) { this.item = item; }} A a = new A();a.setItem("abc");String s.. 2024. 5. 19.
enum 어떻게 잘 활용할까? 자바 1.5 버전부터 도입된 enum은 여러 상수들을 한 곳에서 정의하기 위해 사용하는 타입이다. 벌써 자바 21 버전이 등장했지만 아직도 enum의 매력을 모르는 이들을 위해 enum을 소개하려고 한다. 먼저, enum의 특징에 대해 간단히 정리하고 활용법을 설명하겠다. Enum의 특징enum은 상수 이름, 멤버 변수, 생성자, 메서드로 구성된다.public enum Sns { // 상수의 이름과 필드에 해당하는 값들 NAVER("naver", "네이버"), KAKAO("kakao", "카카오"), GOOGLE("google", "구글"), APPLE("apple", "애플"), X("x", "트위터"), INSTAGRAM("instagram", "인스타그램"); .. 2024. 5. 8.
728x90