CompletableFuture 에서 명시적인 값을 지정하기
·
JAVA
api 통신을 효율적으로 함으로써 화면을 부드럽게 그릴 수 있을까 하고 알아보다 자바에서 제공하는 인터페이스인 CompletableFuture라는 것을 알게 되었다.  내가 마주한 api 통신의 문제는 1. 많은 데이터 양이 통신 될 때 모든 통신을 기다려야 함. 2. 기다리는 동안 화면을 스크롤 할 시 버벅거림 같은 현상이었고 이를 해결하기 위해 사용하였다.  CompletableFuture 이전에는 Future 라는 게 있었지만, 1) 블로킹 호출 : 'Future.get()' 메서드를 호출하여 사용하면 해당 호출이 완료될 때까지 스레드가 블로킹되어 api 호출을 동시에 처리할 때 문제가 되었다. 2) 콜백 지원 부족 : Future는 완료 시 실행할 수 있는 콜백을 지원하지 않았다. 그래서 비동기작..
자바의 <T> 제네릭 타입 (Generic Type)
·
JAVA
제네릭(Generic)?자바 제네릭은 generic 타입 및 메소드를 정의하고 사용 할 수 있는 언어적 특성이다. List list = new ArrayList();Map map = new HashMap(); 위와같이 꺽쇠()안에 클래스 타입이 명시된 패턴을 자주 발견할 수 있다. 이걸 제네릭(Generic) 이라고 부르며, 제네릭 파라미터는 꺽쇠안에 포함하여 전달한다.파라미터 타입이나 리턴 타입에 대한 정의를 외부로 미룬다.타입에 대해 유연성과 안정성을 확보한다.런타임 환경에 아무런 영향이 없는 컴파일 시점의 전처리 기술 예시 public class Box { private T value; public Box(T value) { this.value = value; } ..
[JAVA] LocalDate 날짜 비교하기 .isBefore() / .isAfter() / .isEqual()
·
JAVA
나는 프로젝트를 하다가 날짜를 비교하고 싶어서 " >= " 이런 걸 사용하려고 했는데 오류가 나는 것이다. 알고 보니 자바에서는 로컬데이트를 이용하여 날짜를 비교하는 방법이 존재한다. 그래서 알아 본 방법들! [ compareTo() ] compareTo() 메서드는 두개의 LocalDate 객체를 비교하여 순서를 확인하는 데 사용된다. 비교 대상 날짜(A)가 인자로 전달된 날짜(B) 보다 이전인지, 이후인지 혹은 같은지를 판단한다. 또한 비교 결과에 따라 다른 반환값들을 가진다. ▷ 음수 : 비교 대상(A)이 인자로 전달 된 날짜(B) 보다 이전인 경우 LocalDate A = LocalDate.of(2023, 8, 11); LocalDate B = LocalDate.of(2023, 8, 15); in..
[Java] LocalDate에날짜 더하기고 빼기 (plusMonth, minusWeeks)
·
JAVA
프로젝트를 진행하던 중 현재 날짜에서 4개월 더하기 혹은 2개월 빼기 등과 같은 메서드를 짜야했다. 개월 수는 int이고 현재 날짜는 Date인데 어떻게 하면 될까? 해서 찾아보았다. 날짜 더하기 plusYears() - 이 메서드를 호출한 LocalDate 객체에 년도(year)가 더해진 LocalDate 객체를 반환한다. plusMonths() - 이 메서드를 호출한 LocalDate 객체에 월(month)이 더해진 LocalDate 객체를 반환한다. plusWeeks() - 이 메서드를 호출한 LocalDate 객체에 주(week)가 더해진 LocalDate 객체를 반환한다. plusDays() - 이 메서드를 호출한 LocalDate 객체에 일(day)이 더해진 LocalDate 객체를 반환한다...
해니01_15
'자바' 태그의 글 목록