Mvitimin / Microservices_study

Study for MSA
0 stars 0 forks source link

Java8 #12

Open Mvitimin opened 8 months ago

Mvitimin commented 8 months ago

https://www.manning.com/books/modern-java-in-action

Chapter1

Predicate

 public static List<Apple> filterApples(List<Apple> inventory, Predicate<Apple> p) {
    List<Apple> result = new ArrayList<>();
    for (Apple apple : inventory) {
      if (p.test(apple)) {
        result.add(apple);
      }
    }
    return result;
  }

  public static boolean isGreenApple(Apple apple) {
    return "green".equals(apple.getColor());
  }

  public static boolean isHeavyApple(Apple apple) {
    return apple.getWeight() > 150;
  }

filterApples(inventory, Apple::isGreenApple);
filterApples(inventory, Apple::isHeavyApple);

Chapter2

Lambda

filterApples(inventory, (Apple a) -> GREEN.equals(a.getColor()));
filterApples(inventory, (Apple a) -> a.getWeight() > 150);

Callable

https://www.callicoder.com/java-callable-and-future-tutorial/

Runnable 과 다르게 비동기 블락킹 (결과를 받아볼수있다)

Future<String> threadName = executorService.submit( () -> Thread.currentThread().getName());

Chapter3

    Comparator<Apple> c = (Apple a1, Apple a2) -> a1.getWeight() - a2.getWeight();

FunctionalInterface

https://developer-talk.tistory.com/460

함수를 객체로 사용하기위해서 이용..

Mvitimin commented 8 months ago

https://github.com/ckddn9496/modern-java-in-action/blob/main/contents/Chapter%2017%20-%20%EB%A6%AC%EC%95%A1%ED%8B%B0%EB%B8%8C%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D.md

Mvitimin commented 8 months ago

JDK17 특징

https://techblog.gccompany.co.kr/%EC%9A%B0%EB%A6%AC%ED%8C%80%EC%9D%B4-jdk-17%EC%9D%84-%EB%8F%84%EC%9E%85%ED%95%9C-%EC%9D%B4%EC%9C%A0-ced2b754cd7