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; } ..
MVC 모델
·
JAVA
사용자가 controller를 조작하면 controller는 model을 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 View를 제어해서 사용자에게 전달하게 된다. 모델, Model애플리케이션의 정보, 데이터를 나타낸다. 데이타베이스, 처음의 정의하는 상수, 초기화값, 변수 등을 뜻한다. 또한 이러한 정보들의 가공을 책임지는 컴포넌트를 의미 하기도 한다. 뷰, Viewinput 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타낸다. 다시 말해 데이터 및 객체의 입력과 출력을 담당한다. 데이터를 기반으로 사용자들이 볼 수 있는 화면을 그리는 것이다. 컨트롤러,Controller데이터와 사용자인터페이스 요소들을 잇는 다리역할을 한다. 사용자가 데이터를 클릭하고, 수정하..
StringBuilder 사용법과 메서드 정리
·
JAVA
저번에 한번 포스팅 한 Java Lang Package 의 한 종류인 StringBuilder의 사용법과 메서드를 다시 정리 해보려고 한다. [String] StringBuilder를 알기 전에 String에 대하여 알아야 한다. 흔히 문자열을 생각하면 자연스럽게 떠오르는게 String 이다. String str1 = "Hello "; String str2 = "world"; str1 += str2; System.out.println(str1); //"Hello world" 이렇게 String 두개의 객체를 연산하게 되면 새로운 String을 생성하게 된다. String은 불변객체이기 때문에 한번 생성 되면 변경할 수 없다. 위와 같이 + 연산자를 사용하여 문자열을 연결하면 연결할 때마다 새로운 문자열 ..
해니01_15
'JAVA' 카테고리의 글 목록