자바 8의 새로운 기능


Java 8(jdk 1.8이라고도 함)은 Java 언어 개발의 주요 버전입니다. Oracle은 함수형 프로그래밍, 새로운 JavaScript 엔진, 새로운 날짜 API, 새로운 Stream API 등을 지원하는 Java 8을 2014년 3월 18일에 출시했습니다.


새로운 기능

Java8에는 새로운 기능이 많이 추가되었습니다. 주로 다음 기능에 대해 논의합니다.

  • Lambda 표현식 − Lambda에서는 함수를 메서드의 매개 변수로 사용할 수 있습니다(함수는 전달됨)

  • 메소드 참조 − 메소드 참조는 기존 Java 클래스 또는 객체(인스턴스)의 메소드나 생성자를 직접 참조할 수 있는 매우 유용한 구문을 제공합니다. 언어 구성을 보다 편리하게 만듭니다.

  • 기본 메서드 − 기본 메서드는 인터페이스에 구현된 메서드입니다.

  • 새 도구 − 새로운 컴파일 Nashorn 엔진 jjs와 같은 도구, 클래스 종속성 분석기 jdeps.

  • Stream API − 새로 추가된 Stream API(java.util.stream)는 Java

  • Date Time API

    에 진정한 기능적 프로그래밍 스타일을 도입합니다. 날짜 및 시간 처리 강화 JVM에서 특정 자바스크립트 애플리케이션을 실행할 수 있게 해주는 새로운 Nashorn 자바스크립트 엔진.

  • 더 많은 새로운 기능을 보려면 공식 웹사이트를 참조하세요.
  • JDK 8의 새로운 기능

    에 관한 기사의 예 Java 8, 우리 둘 다 jdk 1.8 환경을 사용합니다. 다음 명령을 사용하여 현재 jdk 버전을 볼 수 있습니다.

    $ java -version
    java version "1.8.0_31"
    Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
  • Programming style

    Java 8은 고유한 프로그래밍 스타일을 갖고 Java 7과 구별되기를 바랍니다. 예제에서는 Java 7 및 Java 8을 보여줍니다. 프로그래밍 형식:

    import java.util.Collections;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Comparator;
    
    public class Java8Tester {
       public static void main(String args[]){
       
          List<String> names1 = new ArrayList<String>();
          names1.add("Google ");
          names1.add("php ");
          names1.add("Taobao ");
          names1.add("Baidu ");
          names1.add("Sina ");
    		
          List<String> names2 = new ArrayList<String>();
          names2.add("Google ");
          names2.add("php ");
          names2.add("Taobao ");
          names2.add("Baidu ");
          names2.add("Sina ");
    		
          Java8Tester tester = new Java8Tester();
          System.out.println("使用 Java 7 语法: ");
    		
          tester.sortUsingJava7(names1);
          System.out.println(names1);
          System.out.println("使用 Java 8 语法: ");
    		
          tester.sortUsingJava8(names2);
          System.out.println(names2);
       }
       
       // 使用 java 7 排序
       private void sortUsingJava7(List<String> names){   
          Collections.sort(names, new Comparator<String>() {
             @Override
             public int compare(String s1, String s2) {
                return s1.compareTo(s2);
             }
          });
       }
       
       // 使用 java 8 排序
       private void sortUsingJava8(List<String> names){
          Collections.sort(names, (s1, s2) -> s1.compareTo(s2));
       }
    }

    위 스크립트를 실행하면 출력 결과는 다음과 같습니다.
  • $ javac Java8Tester.java
    $ java Java8Tester
    使用 Java 7 语法: 
    [Baidu , Google , php , Sina , Taobao ]
    使用 Java 8 语法: 
    [Baidu , Google , php , Sina , Taobao ]
다음으로 Java 8의 새로운 기능을 자세히 소개합니다.

일련 번호


Features

1

Lambda 표현식 수식

23456 789
메서드 참조
기능적 인터페이스
기본 메서드
Stream
옵션 클래스
Nashorn, JavaScript 엔진
새로운 날짜 및 시간 API
Base64