반응형

Java 22

Java Exception 처리 전략과 커스텀 예외 설계

1. Exception 처리 기본 전략Checked vs Unchecked Exception 선택 기준Checked Exception: 복구 가능한 예외 (파일 없음, 네트워크 연결 실패)Unchecked Exception: 프로그래밍 오류 (NPE, IllegalArgument)실무 권장: 대부분 RuntimeException 상속 사용Exception 처리 레벨 구분// Controller 레벨: HTTP 상태코드 변환// Service 레벨: 비즈니스 로직 예외 처리// Repository 레벨: 데이터 접근 예외 변환2. 커스텀 예외 설계 원칙예외 계층 구조 설계// 최상위 비즈니스 예외public abstract class BusinessException extends RuntimeExcepti..

Java 2025.06.08

Java 코드 성능/메모리 사용량 최적화

■ 코드 성능 최적화 해보기 1. 프로파일링을 통한 병목 지점 파악시간 측정 코드long startTime = System.nanoTime();myMethod();long endTime = System.nanoTime();System.out.println("실행 시간: " + (endTime - startTime) / 1000000 + "ms");전문 프로파일링 도구: VisualVM, JProfiler, YourKit 활용핵심: 전체 코드의 10%가 90%의 성능 문제를 일으키는 경우가 많음2. 반복문 최적화// 최적화 전for (int i = 0; i 3. 계산 결과 캐싱public class CachedCalculator { private Map cache = new HashMap(); ..

Java 2025.05.07

boolean이랑 Boolean 뭐가 다를까? — Swagger 쓰다가 궁금해서 정리함

Swagger DTO 만들다가 boolean이랑 Boolean 차이 때문에 해맨적이 있다. 당연히 비슷한 줄 알았는데, 막상 써보니까 엄청 달랐다.null 포함 여부가 엄청 중요함!✅ booleanprimitive 타입.무조건 true / false.null 불가.Swagger에서 nullable=false로 뜸.값 안 주면 false가 기본값.단순한 상태 표현할 땐 이걸로 충분함.✅ BooleanWrapper 타입.true / false / null 가능.Swagger에서 nullable=true 설정됨.값이 있을 수도 없을 수도 있을 때 유용함.null 체크 안 하면 NPE 터짐.그래서 Boolean.TRUE.equals(값) 이런 식으로 체크하는 게 안전.실제 사용 예public class User..

Java 2025.04.21

sts3 설치 시 압축풀기 오류

STS 설치시 다운받은 zip 파일을 풀다보면 sts3 설치시 0x80010135 ~ 압축파일이/경로 너무 길다 대강 이런 에러 창을 마주할 때가 있다. 처음엔 파일의 길이 문제라고 생각했는데 경로의 문제였다. 경로 + 압축풀때 파일명을 합친 길이가 너무 길어서 압축풀기가 제대로 안되는 것이라고 한다. 압축을 풀때 그냥 C: 로 지정을 해주고 풀면 된다. 그럼 이렇게 C폴더가 조금은 더러워 지지만 ^^ 잘 설치가 된다. STS.exe를 실행하면 아주 잘 된다.

Java 2024.03.03
반응형