Java 5

UtilClass

장점상태가 없고, 행위만 가진 클래스이다.상태가 없기 때문에 인스턴스화가 필요없어 기본 생성자를 private 로 선언한다.공통적으로 사용되는 메서드를 모아서 클래스로 만듦중복된 코드를 방지할 수 있다.단점객체지향적 프로그래밍이 아닌 절차지향적 프로그래밍에 가깝다.단위테스트를 어렵게 한다.다른 클래스와 점점 강결합이 되려고 한다.추상화를 진행하지 않았기에 유틸 클래스 수정 시 사용 객체에 많은 영향을 받게된다.예시 ) QuerydslPredicateUtilimport ...public class QuerydslPredicateUtil { /** * 값이 null 이 아니면 조건을 생성 * * @param expression 조건 생성 함수 객체 * @param value..

Java 2024.09.05

volatile

Volatile- 자바에서 변수의 값을 메인 메모리에 저장하고, 다른 스레드가 읽을 때 항상 최신 값을 읽도록 보장하는데 사용주로 스레드 간의 변수 일관성을 유지하기 위해 사용된다. 스레드 동시성 문제- 스레드가 동시에 공유 자원에 접근하고 수정할 때 발생 이러한 문제는 스레드 간의 변수 값이 일치하지 않거나, 예상치 못한 결과를 초래할 수 있다.- 스레드 스택 : 각 스레드마다 스택이 존재하며 지역 변수와 함수 호출이 저장된다. Volatile 키워드를 사용하면, 변수의 값이 메인 메모리에 바로 쓰여지고 다른 스레드가 이 값을 읽을 때 최신 값을 읽도록 보장된다. public class VolatileExample { private volatile boolean flag = false; pu..

Java 2024.08.02

javax.validation.constraints 밸리데이션 속성

어노테이션설명자료형@NotNullnull 비허용ALL@Nullnull만 허용ALL@NotEmptynull, "" 비허용CharSequence, Collection, Map, Array@NotBlanknull, "", " " 비허용CharSequence@Size(min, max)min 이상 max 이하 문자열 허용CharSequence, Collection, Map, Array@Pattern(regex, flag)정규표현식 검증CharSequence@Max(value)value 이하 값 허용BigDecimal, BigInteger, byte, short, int, long, 숫자 자료형 Wrapper@Min(value)value 이상 값 허용BigDecimal, BigInteger, byte, short,..

Java 2024.07.11