본문 바로가기

java26

[Spring Boot] 로깅 설정 가이드 [Spring Boot] 로깅 설정 가이드기본 로깅 설정로그 레벨 설정# application.ymllogging: level: root: INFO com.example.myapp: DEBUG org.springframework.web: WARN org.hibernate: ERROR로그 출력 형식 설정logging: pattern: console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n" file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"파일 로깅 설정기본 파일 로깅logging: file: name: logs.. 2024. 12. 4.
[JAVA] ThreadLocal 제대로 사용하기 [JAVA] ThreadLocal 제대로 사용하기ThreadLocal은 각 스레드가 독립적인 변수 복사본을 가질 수 있게 해주는 Java의 강력한 기능이다. 이를 통해 멀티스레드 환경에서 발생할 수 있는 동시성 문제를 해결할 수 있다.ThreadLocal 기본 개념ThreadLocal은 각 스레드마다 별도의 저장소를 제공하여 스레드 안전성을 보장한다.public class UserContext { private static final ThreadLocal userHolder = new ThreadLocal(); public static void setUser(User user) { userHolder.set(user); } public static User getUser.. 2024. 11. 17.
[JAVA] 효과적인 예외 처리 전략 [JAVA] 효과적인 예외 처리 전략Java에서 예외 처리는 프로그램의 안정성과 유지보수성에 큰 영향을 미친다.이 글에서는 효과적인 예외 처리 전략과 실제 적용 방법에 대해 알아본다.   체크 예외 vs 언체크 예외 체크 예외 (Checked Exception)컴파일 시점에 처리가 강제되는 예외복구가 가능한 상황에서 사용예: IOException, SQLExceptionpublic void readFile(String path) throws IOException { try (FileReader reader = new FileReader(path)) { // 파일 읽기 로직 } catch (IOException e) { // 구체적인 에러 처리 throw n.. 2024. 11. 16.
[JAVA] Java의 String Pool과 문자열 최적화 [JAVA] Java의 String Pool과 문자열 최적화  String Pool의 이해String Pool은 Java가 문자열을 저장하고 재사용하는 특별한 메모리 영역이다. 리터럴로 생성된 문자열은 자동으로 이 풀에 저장된다.String str1 = "hello"; // String Pool에 저장String str2 = "hello"; // 풀에서 재사용String str3 = new String("hello"); // 새로운 객체 생성System.out.println(str1 == str2); // trueSystem.out.println(str1 == str3); // false intern() 메서드 활용intern() 메서드를 사용하면 문자열을 명시적으로 String Pool에 저장.. 2024. 11. 15.