분류 전체보기 889

자바 람다식 java Consumer , Supplier, Function 함수적 인터페이스

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 표준 API에서 한 개의 추상 메소드를 가진 인터페이스들은 모두 다 람다식을 이용해 익명 구현 객체로 표현 가능합니다.스레드 작업을 정의하는 Runnable 인터페이스는 매개 변수와 리턴값이 없는run()메소드만 존재하기 때문에 람다식을 이용할 수 있습니다.ex)public class Example { public static void main(String[] args) { Runnable r = () -> { System.out.print("a"); }; Thread t = new Thread(r); t.start(); // ..

자바 2017.03.19

자바 람다식의 종류 -> 리턴값 있음, 매개변수 있음, 리턴값 매개변수 있음 / 클래스 멤버와 로컬 변수 사용

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 함수적 인터페이스에 대해 공부하시려면 아래 링크를 클릭하시면 됩니다.2017/03/19 - [자바] - java 자바 람다식 기본 문법과 함수적 인터페이스 이번 포스팅에서는 람다식의 세 가지 종류에 대해 공부하겠습니다. 1. 매개 변수, 리턴값 없는 람다식 @FunctionalInterfacepublic interface NoInterface { public void method();}위 인터페이스를 타겟타입으로 갖는 람다식=> NoInterface ni = () -> { ... }람다식이 대입된 인터페이스의 참조 변수는 met..

자바 2017.03.19

자바 람다식 java 기본 문법과 함수적 인터페이스

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅부터는 람다식에 대해 공부하겠습니다. 자바8로 바뀌면서부터 함수적 프로그래밍을 위해서 람다식을 지원했습니다.따라서 코드 패턴이 많이 달라졌는데요.람다식을 함수지향 언어에 가깝고 익명 함수 생성을 위한 식입니다.자바 코드가 간결해지고, 컬렉션의 요소 필터링 or 매핑해서 원하는 결과 집계를 쉽게 할 수 있어서자바에서 람다식을 수용했습니다. 예제를 보겠습니다.Runnable runnable = new Runnable() { public void run() { ... }} ;이러한 익명 구현 객체를 람디식을 사용하면==> ..

자바 2017.03.19

안드로이드 리스트 뷰 뷰 홀더 android listView ViewHolder

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 리스트 뷰 뷰홀더 ListView ViewHolder 패턴의 사용 이유와 사용방법에 대해 알아보겠습니다. 뷰홀더(ViewHolder)는 리스트 뷰의 유연한 동작을 위해서 나왔습니다.예를 들어보면 리스트가 10000개가 있다고 할 때한 리스트에 TextView가 2개씩 있다고 하면TextView 생성을 위해 매번 findViewById()를 호출해야하고10000번 호출된다고 하면 엄청난 오버해드를 불러오고 스크롤을 내릴 때마다반응 속도가 느려지겠죠? 이런 오버 해드와 느린 반응 속도의 해결을 위해 뷰홀더(View..

안드로이드 2017.03.18

자바 제네릭Java generic - <T extends 최상위타입> 제한된 파라미터 타입 / 와일드 카드 타입 / 제네릭 타입 상속

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 지난 포스팅에 이어 제네릭에 대해 공부하겠습니다.지난 포스팅이 궁금하시다면 아래 링크를 클릭하시면 됩니다~2017/03/18 - [자바] - Java generic 자바 제네릭 - 제네릭 타입 class 와 interface / 멀티타입 파라미터 class, interface / 메소드 R method( T t) 타입 파라미터에 지정되는 구체적인 타입을 종종 제한할 필요가 있는데요.예를 들어서 숫자를 연산하는 제네릭 메소드는 매개값으로 Number 타입이나하위 클래스 타입의 인스턴스(Byte, Short, Integer, Lon..

자바 2017.03.18

자바 제네릭Java generic - 제네릭 타입 class<T> 와 interface<T> / 멀티타입 파라미터 class<K,V>, interface<K,V> / 메소드 <T, R> R method( T t)

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 자바 제네릭에 대해 공부하겠습니다. 먼저 제네릭을 사용하는 이유는 잘못된 타입이 사용될 수 있는 문제를 컴파일 과정에서 제거할 수 있도록 하기 위해서 입니다. 제네릭을 사용한 코드가 사용하지 않은 코드보다 좋은 점이 있는데요. => 컴파일 시에 강한 타입 체크를 할 수 있고, 타입 변환(Casting)을 제거합니다.제네릭을 사용하지 않은 코드의 경우 불필요한 타입 변환을 하므로 프로그램 성능에 좋지 않은 영향을 미칩니다.ex)List list = new ArrayList();list.add("tistory");..

자바 2017.03.18

JAVA 자바 ThreadPool 자바 스레드 풀 : 콜백 방식 작업 완료 통보 CallBack

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 콜백이란 => 애플리케이션이 스레드에게 작업 처리 요청 후 스레드가 요청받은 작업을 완료하면특정한 메소드를 자동 실행하는 기법을 말합니다.이 때에 자동으로 실행되는 메소드를 콜백 메소드라고 하는 것입니다.블로킹 방식과 콜백 방식 비교 블로킹방식은 작업 처리 요청 후 작업이 완료될 때까지 블로킹 됨. 콜백 방식은 작업 처리 요청 후 결과를 기다릴 필요없이 다른 기능 수행 가능.=> 작업 처리가 왼료되면 콜백 메서드가 실행되어 자동적으로 결과를 알 수있기 때문입니다. ExecutorService에서는 별도로 콜백을 위한 메소드를 제..

자바 2017.03.17

자바 스레드풀 ThreadPool : 블로킹 방식 작업 완료 통보 => 작업 처리 결과 외부에 저장, 작업 완료 순 통보

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅은 지난 포스팅과 이어집니다.http://altongmon.tistory.com/237 외부 객체에 작업 처리 결과 저장 : 스레드가 작업한 결과를 외부 객체에 저장할 경우도 생기는데요.ex) 작업 처리를 완료 후 외부 Result 객체에 작업 결과를 저장하면애플리케이션이 Result 객체를 사용해서 어떤 작업을 진행할 수 있음.=> Result 객체는 공유 객체가 되고, 두 개 이상의 스레드 작업을 취할 목적. 이러한 작업을 위해서 ExecutorService의 submit(Runnable r, V Result) 를..

자바 2017.03.17

자바 스레드풀 ThreadPool : 블로킹 방식 작업 완료 통보 => 리턴값이 없는 작업 완료 통보 및 리턴값이 있는 작업 완료 통보

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 블로킹 방식 작업 완료 통보 : Future 객체는 작업 완료 시까지 기다렸다가 최종 결과를 얻는데 사용.=> Future는 지연 완료 객체라고 함. Future()의 get()을 호출하면 스레드가 작업 시까지 블로킹 되었다가 작업 완료 후 처리 결과 리턴==> 블로킹을 사용하는 작업 완료 통보 방식임.리턴타입 메서드명(매개변수) 설명V get() 작업이 완료 시까지 블로킹되었다가 처리 결과 V리턴V get(long timeout, TimeUnit unit) timeout 시간 전에 작업이 완료되면 결과 V를 리턴, 작업이 완료..

자바 2017.03.17

자바 스레드풀 ThreadPool : 스레드 풀 작업 생성과 작업 처리 요청

안녕하세요 알통몬입니다.공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 스레드 풀 작업 생성 : Runnable 이나 Callable 구현 클래스로 하나의 작업을 표현합니닷 위 두 가지의 차이는 작업 처리를 완료한 후 리턴값이 있나 없나의 차이입니다. Runnable 구현 클래스는 리턴값이 없습니다.Runnable task = new Runnable() { @Override public void run() { //실행 코드 }} Callable 구현 클래스는 리턴값이 있습니다.Callable task = new Callable { @Override public T call() throws Excep..

자바 2017.03.17