• JAVA 8, JAVA 11

    2025. 2. 28.

    by. hyunji1109

    출처: https://www.javatpoint.com

     

    Java 8

    • 출시
      • 2014년 3월
    • 특징
      • 람다 표현식(Lambda Expressions)
      • 스트림 API(Stream API)
      • Optional 클래스
      • 새로운 날짜/시간 API (java.time)

     

    Java 11

    • 출시
      • 2018년 9월
    • 장기 지원(LTS)
      • 최신 장기 지원 버전으로 기업용 프로젝트에서 많이 사용됨.
    • 특징
      • HTTP Client API 표준화
      • String 클래스 개선
      • var를 활용한 지역 변수 타입 추론
      • 모듈화 시스템(JPMS)

     

    주요 기능

    JAVA 8

    • 람다 표현식
      • 간결한 삼수형 프로그래밍 도입
    List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
    numbers.forEach(n -> System.out.println(n));

     

    • 스트림 API
      • 데이터 처리 간소화
    List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
    List<String> filteredNames = names.stream()
        .filter(name -> name.startsWith("A"))
        .collect(Collectors.toList());

     

    • Optional
      • NullPointerException 방지 도구
    Optional<String> name = Optional.ofNullable(null);
    System.out.println(name.orElse("Default Name"));

     

     

    JAVA 11

    • HTTP Client API
      • HTTP/2 및 WebSocket 지원.
    HttpClient client = HttpClient.newHttpClient();
    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("https://example.com"))
        .build();
    HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString());
    System.out.println(response.body());

     

    • String 클래스 개선
    String text = " Java 11 ";
    System.out.println(text.isBlank()); // true
    System.out.println(text.strip());   // "Java 11"
    System.out.println("Java".repeat(3)); // "JavaJavaJava"

     

    • var 키워드
      • 지역 변수 타입 추론 지원
    var list = List.of("Apple", "Banana", "Cherry");
    list.forEach(System.out::println);

     

     

    차이

    • Java 8
      • 모든 라이브러리가 포함된 단일 JDK
    • Java 11
      • 모듈 시스템(JPMS) 도입으로 경량화 가능

     


    JAVA 11

    • 장기 지원(LTS)
      • Java 11은 최신 LTS 버전으로 안정적인 지원이 보장
    • 보안 강화
      • 최신 보안 패치와 개선된 기능 제공
    • 새로운 기능
      • 생산성을 높이는 다양한 API와 언어 기능
    • 모듈화
      • 필요 없는 모듈 제거로 경량화 가능

     

    'CS > JAVA' 카테고리의 다른 글

    오버로딩(Overloading), 오버라이딩(Overriding)  (0) 2025.02.27
    [Java] Math 클래스  (0) 2025.02.13
    JAVA(1)  (0) 2025.01.14

    댓글