English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java 8 (jdk라고도 합니다 1.8)은 Java 언어 개발의 주요 버전입니다. Oracle 회사는 2014 년 3 일 18 월 8 ، 함수형 프로그래밍을 지원하며, 새로운 JavaScript 엔진, 새로운 날짜 API, 새로운 Stream API 등이 포함됩니다.
Java8 많은 새로운 기능이 추가되었습니다. 우리는 주로 다음과 같은 몇 가지를 논의할 것입니다:
Lambda 표현식 − Lambda는 함수를 메서드의 매개변수로 사용할 수 있게 합니다(함수를 메서드에 전달).
메서드 참조 − 메서드 참조는 매우 유용한 문법을 제공하며, 기존 Java 클래스나 객체(예제)의 메서드나 생성자를 직접 참조할 수 있습니다. Lambda와 함께 사용하면 언어 구조가 더 깊이 있고 간결해지며, 중복 코드를 줄일 수 있습니다.
기본 메서드 − 기본 메서드는 인터페이스에 구현된 메서드입니다.
새로운 도구 − 새로운 컴파일 도구, 예를 들어 Nashorn 엔진 jjs, 클래스 의존성 분석기 jdeps.
Stream API − 새로 추가된 Stream API (java.util.stream)은 실제 함수형 프로그래밍 스타일을 Java에 도입했습니다.
Date Time API − 날짜와 시간 처리를 강화합니다。
Optional 클래스 − Optional 클래스는 Java 8 라이브러리의 일부로, null 포인터 예외를 해결하는 데 사용됩니다.
Nashorn, JavaScript 엔진 − Java 8Nashorn javascript 엔진을 제공하여 JVM에서 특정 javascript 애플리케이션을 실행할 수 있도록 합니다.
더 많은 새로운 기능은 공식 웹사이트에서 참조할 수 있습니다:What's New in JDK 8
에 관해 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)
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("w3codebox "); names1.add("Taobao "); names1.add("Baidu "); names1.add("Sina "); List<String> names2 = new ArrayList<String>(); names2.add("Google "); names2.add("w3codebox "); 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, w]3[Baidu, Google, w] Java 사용 8 문법: [Baidu, Google, w]3[Baidu, Google, w]
다음에 Java를 자세히 소개하겠습니다. 8 의 새로운 기능:
순번 | 특성 |
---|---|
1 | Lambda 표현식 |
2 | 메서드 참조 |
3 | 함수적 인터페이스 |
4 | 기본 메서드 |
5 | Stream |
6 | Optional 클래스 |
7 | Nashorn, JavaScript 엔진 |
8 | 새로운 날짜와 시간 API |
9 | Base64 |