Seemingly Online
close
프로필 배경
프로필 로고

Seemingly Online

  • 카테고리 (575) N
    • AI (1) N
      • Claude (1) N
    • Language (251) N
      • 알고리즘 (100)
      • Java (145) N
      • python (2)
      • Kotlin (4)
    • WEB (142) N
      • Spring (24)
      • Spring Security (3)
      • Next.js (3)
      • TypeScript (3)
      • JavaScript (45)
      • jQuery (7)
      • CSS (25)
      • XML (3)
      • Maven (1)
      • Gradle (1)
      • JSP (1)
      • Thymeleaf (10)
      • HTML (11)
      • MyBatis (1)
      • JPA (4) N
    • App (45)
      • Flutter (34)
      • Dart (4)
      • Android (2)
      • IOS (3)
      • Firebase (2)
    • Git (6)
      • GitHub (6)
    • AWS (15)
      • SCT (2)
      • Amazon Aurora (1)
      • S3 (2)
      • EventBridge (1)
      • EC2 (7)
      • EFS (1)
    • DataBase (44)
      • MySQL (19)
      • Oracle SQL (19)
      • Postgre-SQL (6)
    • OS (33)
      • Linux (27)
      • Windows (1)
      • Mac (5)
    • Tool (15)
      • DocKer (6)
      • Intellij (7)
      • VScode (2)
    • IT (17)
      • Developer-etc (13)
      • 개발상식 (4)
    • CodePen (2)
      • 캐러셀 (2)
  • 홈
  • 방명록
Java Optional 제대로 사용하는 방법 — 흔한 실수와 올바른 패턴 정리

Java Optional 제대로 사용하는 방법 — 흔한 실수와 올바른 패턴 정리

2026-07-09사진: Unsplash 의 Luca Bravo개요Java 8부터 도입된 Optional은 NullPointerException을 방지하고 null 처리를 명시적으로 표현하기 위한 컨테이너 클래스입니다.그러나 실무에서 잘못 사용하면 오히려 코드가 더 복잡해지거나, null 체크 수준에 머무는 경우가 많습니다. 이번 글에서는 Optional의 올바른 사용 패턴과 피해야 할 안티패턴을 정리합니다.Optional 기본 생성 방법// 값이 있을 때Optional opt1 = Optional.of("hello");// null일 수도 있을 때Optional opt2 = Optional.ofNullable(getValue());// 빈 OptionalOptional opt3 = Optional.em..

  • format_list_bulleted Language/Java
  • · 2026. 7. 9.
  • textsms
Try / Catch 없이 inpustStream close() 호출 방법

Try / Catch 없이 inpustStream close() 호출 방법

2024-11-201. 방법 import com.amazonaws.util.IOUtils; public void fileToInputStream(File file) { FileInputStream fileInputStream = null; try { fileInputStream = new FileInputStream(file); // ... } catch (FileNotFoundException e) { throw new RuntimeException(e); }finally { if(fileInputStream != null){//스트림 객체 안전하게 제거 IO..

  • format_list_bulleted Language/Java
  • · 2024. 11. 20.
  • textsms
자바 이미지 리사이징 및 비율 변경 하는 방법 알아보기

자바 이미지 리사이징 및 비율 변경 하는 방법 알아보기

2024-03-29 1. 방법 import java.awt.*; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; public class ImageResizer { public static final int MAX_WIDTH = 1920; public static final int MAX_HEIGHT = 1080; // 이미지 크기 조정 private BufferedImage resizeImage(BufferedImage originalImage) { int width = originalImage.getWidth(); int height = originalImage.getHeight(); // 이미지 크기가 최대 크기보다..

  • format_list_bulleted Language/Java
  • · 2024. 3. 29.
  • textsms
-jar resources folder 접근 java.nio.file.NoSuchFileException 해결

-jar resources folder 접근 java.nio.file.NoSuchFileException 해결

2024-02-16 1. 문제 발생 IDE에서는 src/main/.../test.properties 이런 식으로 사용해도 문제없이 동작을 했지만 -jar 파일로 생성 후 해당 부분을 그대로 쓰면 java.nio.file.NoSuchFileException 가 발생하게 된다. 2. 원인 배포시에 src/main/resources의 루트 경로가 target/classes 또는 build/classes로 변경되게 된다. 이를 위해 리소스 파일을 읽어 올 때는 동적으로 root를 잡을 수 있게 코드를 수정해야 한다. 3. 해결 방법 getClass.getClassLoader().getResourceAsStream('자신의 정적파일 위치')를 통해 자신이 위치시킬 파일의 정보를 읽어올 수 있다. private I..

  • format_list_bulleted Language/Java
  • · 2024. 2. 16.
  • textsms
자바 오토박싱(autoBoxing) 알아보기

자바 오토박싱(autoBoxing) 알아보기

2024-01-22 1. 정의 오토박싱은 Java 컴파일러가 기본 유형(원시타입)과 해당 객체 래퍼 클래스 간에 수행하는 자동 변환이다. 예를 들어 int를 Integer로, double을 Double로 변환하는 등의 작업을 뜻한다. 변환이 반대 방향으로 진행되는 경우 이를 언박싱(Unboxing)이라고 한다. 2. 예제 나머지(%) 및 단항 더하기(+=) 연산자는 Integer 객체에 적용되지 않으나, Java 컴파일러가 오류를 발생시키지 않고 메서드를 컴파일하는 이유는 런타임에 Integer를 int로 변환하기 위해 intValue 메서드를 호출하기 때문에 오류를 생성하지 않는다. 때문에 아래 예제에서는 오류 없이 동일한 값을 리턴한다. import org.junit.jupiter.api.Test; ..

  • format_list_bulleted Language/Java
  • · 2024. 1. 22.
  • textsms
자바 싱글톤 패턴과 이중 체크락(Double-Checked Locking) + volatile

자바 싱글톤 패턴과 이중 체크락(Double-Checked Locking) + volatile

2024-01-19 1. 예제 아래와 같이 싱글톤 패턴이 있다고 할 때 몇 가지 문제점이 발생할 수 있다. class SampleSingleton { private static SampleSingleton instance; public static synchronized SampleSingleton getInstance() { if (instance == null) { instance = new SampleSingleton(); } return instance; } } 2. volatile private static SampleSingleton instance; 위의 변수는 volatile 로 선언되어 있지 않아 멀티스레드의 환경에서의 안정성이 떨어질 수 있다. 멀티 스레드 환경에서는 각 스레드가 자체 ..

  • format_list_bulleted Language/Java
  • · 2024. 1. 19.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 42
  • navigate_next
공지사항
전체 카테고리
  • 카테고리 (575) N
    • AI (1) N
      • Claude (1) N
    • Language (251) N
      • 알고리즘 (100)
      • Java (145) N
      • python (2)
      • Kotlin (4)
    • WEB (142) N
      • Spring (24)
      • Spring Security (3)
      • Next.js (3)
      • TypeScript (3)
      • JavaScript (45)
      • jQuery (7)
      • CSS (25)
      • XML (3)
      • Maven (1)
      • Gradle (1)
      • JSP (1)
      • Thymeleaf (10)
      • HTML (11)
      • MyBatis (1)
      • JPA (4) N
    • App (45)
      • Flutter (34)
      • Dart (4)
      • Android (2)
      • IOS (3)
      • Firebase (2)
    • Git (6)
      • GitHub (6)
    • AWS (15)
      • SCT (2)
      • Amazon Aurora (1)
      • S3 (2)
      • EventBridge (1)
      • EC2 (7)
      • EFS (1)
    • DataBase (44)
      • MySQL (19)
      • Oracle SQL (19)
      • Postgre-SQL (6)
    • OS (33)
      • Linux (27)
      • Windows (1)
      • Mac (5)
    • Tool (15)
      • DocKer (6)
      • Intellij (7)
      • VScode (2)
    • IT (17)
      • Developer-etc (13)
      • 개발상식 (4)
    • CodePen (2)
      • 캐러셀 (2)
최근 글
인기 글
최근 댓글
태그
  • #Java8
  • #BOJ
  • #백준알고리즘
  • #자바기초
  • #자바공부
  • #Java
  • #자바알고리즘
  • #백준
  • #backjoon
  • #자바
전체 방문자
오늘
어제
전체
Copyright © seemingljy All rights reserved.

티스토리툴바