4차산업혁명의 일꾼/웹개발

자바8 , 11, 17 간단 정리

르무엘 2024. 6. 18. 03:34

스프링 5에서 자바8강제하는데

자바 8은 람다, 스트림, 펑션, 옵셔널, 날짜 등이 큰 변화점이고,

        // 람다식 사용 일회 스레드
        new Thread(()-> System.out.println("일회용 스레드 생성")).start();

        // 람다식
        Runnable runnable = () -> {
            System.out.println("test");
        };

        // 삼항식에 람다식 적용
        //(x,y) -> x < y ? x : y;

        // 컬렉션
        List<String> list = Arrays.asList("a", "b", "c");;
        // 스트림
        list.stream()
                .filter(s -> s.equals("a"))
                .map(String::toUpperCase)
                .sorted()
                .forEach(System.out::println);


        String[] arr = new String[]{"a", "b", "c"};
        Stream<String> stream1 =Arrays.stream(arr);
        stream1.forEach(e -> System.out.println(e));
        // 배열의 특정부분만을 이용한 스트림 생성
        Stream<String> stream2 = Arrays.stream(arr, 1, 3);
        stream2.forEach(e -> System.out.println(e));


        // java.time 패키지 ( Joda-Time을 이용한 새로운 날자와 시간 API)
        LocalDate today = LocalDate.now();
        System.out.println("today : " + today);
        System.out.println("year : " + today.getYear());
        System.out.println("month : " + today.getMonth());
        System.out.println("day : " + today.getDayOfMonth());
        LocalDate otherDay = today.withYear(1985);
        System.out.println("otherDay : " + otherDay);

자바11은 String에 isBlank(), repeat(int n), strip() 등이 추가되고 HTTP 1.1, 2버전 지원하며 , 자바17에서 record 클래스가 생겨서 dto 생성이 쉽고 instance of 패턴 매칭이 쉽다.

 

자바21 은 가상 스레드가 특징이고 자바22는 올해 나왔다...

오라클, ‘자바 22’ 발표 (oracle.com)

 

오라클, ‘자바 22’ 발표

자바 언어 개선과 개발 플랫폼의 성능 및 안정성, 보안성 향상을 위한 12개의 JDK 개선 제안 제공

www.oracle.com

 

LIST