JDK 8의 새로운 기능에는 Lambda 표현식 도입, 스트림 API 제공, 클라이언트 TLS 1.2 활성화, AEAD 알고리즘 지원, 더 높은 보안, 새로운 Modena 테마, 새로운 패키지 등이 포함됩니다.
JDK 8의 새로운 기능
Java Platform, Standard Edition 8은 기능이 풍부한 주요 버전입니다. 이 문서에는 Java SE 8, JDK 8 및 Oracle의 Java SE 8 구현의 기능과 향상된 기능이 요약되어 있습니다. 구성 요소의 향상된 기능에 대한 자세한 설명을 보려면 구성 요소 이름을 클릭하십시오.
Java 프로그래밍 언어
Lambda 표현식은 이 버전에 도입된 새로운 언어 기능입니다. 이 기능을 사용하면 함수를 메서드 매개변수로 처리하거나 코드를 데이터로 처리할 수 있습니다. 람다 식을 사용하면 단일 메서드 인터페이스(기능 인터페이스라고 함)의 인스턴스를 더 간결하게 표현할 수 있습니다.
메서드 참조는 이미 이름이 있는 메서드에 대해 이해하기 쉬운 람다 식을 제공합니다.
기본 메서드를 사용하면 라이브러리 인터페이스에 새로운 기능을 추가할 수 있으며 이러한 인터페이스의 이전 버전용으로 작성된 코드와의 바이너리 호환성을 보장할 수 있습니다.
중복 주석은 동일한 문이나 유형 사용법에 동일한 주석 유형을 여러 번 적용하는 것을 지원합니다.
유형 주석은 선언뿐만 아니라 유형이 사용되는 모든 위치에 주석 적용을 지원합니다. 플러그형 유형 시스템과 결합하면 이 기능을 통해 코드 유형 검사가 향상됩니다.
향상된 유형 추론.
메서드 매개변수 반영.
Collections
java.util.stream 패키지의 새로운 클래스는 요소 스트림에 대한 기능적 작업을 지원하는 Stream API를 제공합니다. Stream API는 Collections API에 통합되어 순차적 또는 병렬 맵 축소 변환과 같은 컬렉션에 대한 일괄 작업을 수행할 수 있습니다.
키 충돌이 있는 HashMap의 성능 개선
컴팩트한 프로필
Java SE 플랫폼의 사전 정의된 하위 집합을 포함하고 전체 플랫폼을 소형 장치에 배포하고 실행할 필요가 없는 응용 프로그램을 지원합니다.
Security
클라이언트 측 TLS 1.2가 기본적으로 활성화됨
AccessController.doPrivileged의 새로운 변형은 추가 권한을 확인하기 위해 스택 전체를 순회하는 것을 방지하지 않고 해당 권한의 하위 집합을 주장하는 코드를 지원합니다.
더 강력한 비밀번호 기반 암호화 알고리즘
SSL/TLS 서버 이름 표시(SNI) 확장에 대한 JSSE 서버측 지원
AEAD 알고리즘 지원: SunJCE 공급자가 AES/GCM/NoPadding 암호화 구현을 지원하도록 향상되었습니다. 및 GCM 알고리즘 매개변수. SunJSSE 공급자도 AEAD 모드 기반 암호화 제품군을 지원하도록 향상되었습니다. Oracle 공급자 설명서, JEP 115를 참조하십시오.
새로운 도메인 키 저장소 유형 java.security.DomainLoadStoreParameter 및 keytool 유틸리티에 대한 새로운 명령 옵션 -importpassword를 포함한 키 저장소 개선
SHA-224 메시지 다이제스트
향상된 NSA Suite B 암호화 지원
더 좋음 고엔트로피 난수 생성 지원
X.509 인증서 해지 확인 구성을 위한 java.security.cert.PKIXRevocationChecker 클래스 추가
Windows용 적용 가능한 64비트 PKCS11
Kerberos에 새로운 rcache 유형 추가 5 재생 캐시
Kerberos 5 프로토콜 변환 및 제한된 위임 지원
Kerberos 5 약한 암호화 유형은 기본적으로 비활성화됨
GSS-API/Kerberos 5 메커니즘을 통해 적용 가능한 언바운드 SASL
여러 사용자를 위한 SASL 서비스 호스트 이름
Mac OS X에서 기본 JGSS에 대한 JNI 브리지
SunJSSE 제공자에서 더 강력한 지원 임시 DH 키
JSSE에서 서버측 암호 제품군 기본 설정 사용자 정의 지원
JavaFX
이번 릴리스에서는 새로운 Modena 테마가 구현되었습니다.
새로운 SwingNode 클래스를 사용하면 개발자가 Swing 콘텐츠를 JavaFX 애플리케이션에 포함할 수 있습니다. SwingNode javadoc 및 JavaFX 애플리케이션에 Swing 컨텐츠 삽입을 참조하세요.
새 UI 컨트롤에는 DatePicker 및 TreeTableView 컨트롤이 포함됩니다.
javafx.print 패키지는 JavaFX 인쇄 API에 대한 공개 클래스를 제공합니다. 자세한 내용은 javadoc을 참조하세요.
3D 그래픽 기능에는 이제 3D 모양, 카메라, 조명, 하위 장면, 재료, 선택 및 앤티앨리어싱이 포함됩니다. 새로운 Shape3D(Box, Silicon, MeshView 및 Sphere 하위 클래스), SubScene, Material, PickResult, LightBase(AmbientLight 및 PointLight 하위 클래스) 및 SceneAntialiasing API 클래스가 JavaFX 3D 그래픽 라이브러리에 추가되었습니다. 이번 릴리스에서는 Camera API 클래스도 업데이트되었습니다. javafx.scene.shape.Shape3D, javafx.scene.SubScene, javafx.scene.paint.Material, javafx.scene.input.PickResult 및 javafx.scene.SceneAntialiasing 클래스와 JavaFX 3D 그래픽에 대한 관련 javadoc를 참조하세요. 시작하기 문서.
WebView 클래스에는 새로운 기능과 개선 사항이 포함되어 있습니다. 웹 소켓, 웹 작업자 및 웹 글꼴을 포함한 기타 HTML5 기능에 대한 자세한 내용은 HTML5 지원 기능을 참조하세요.
양방향 텍스트, 복잡한 텍스트 스크립트(예: 태국어 및 힌디어 컨트롤), 텍스트 노드의 여러 줄, 여러 스타일 텍스트를 포함한 향상된 텍스트 지원.
이 버전에는 Hi-DPI 디스플레이에 대한 지원이 추가되었습니다.
CSS Styleable* 클래스가 공개 API가 되었습니다. 자세한 내용은 Javafx.css javadoc을 참조하세요.
새로운 ScheduledService 클래스를 사용하면 서비스를 자동으로 다시 시작할 수 있습니다.
JavaFX는 이제 ARM 플랫폼에서 사용할 수 있습니다. ARM용 JDK에는 JavaFX의 기본, 그래픽 및 제어 구성 요소가 포함되어 있습니다.
Tools
에서는 jjs 명령을 통해 Nashorn 엔진을 호출할 수 있습니다.
java 명령은 JavaFX 응용 프로그램을 시작하는 데 사용됩니다.
Java 매뉴얼 페이지를 다시 작성했습니다.
Class 파일은 jdeps 명령줄 도구를 통해 분석할 수 있습니다.
JMX(Java Management Extensions)는 진단 명령에 대한 원격 액세스를 지원합니다.
jarsigner 도구는 TSA(타임스탬프 기관)에 서명된 타임스탬프를 요청하는 옵션을 제공합니다.
Javac 도구
javac 명령의 -parameters 옵션을 사용하여 형식 매개변수 이름을 저장하고 리플렉션 API를 활성화하여 형식 매개변수 이름을 검색할 수 있습니다.
javac 명령은 이제 JLS(Java 언어 사양) 섹션 15.21의 동등 연산자에 대한 유형 규칙을 올바르게 구현합니다.
javac 도구는 이제 javadoc 주석 내용 확인을 지원하므로 잘못된 HTML 또는 접근성 문제 등 javadoc 실행 시 생성된 파일의 다양한 문제를 방지할 수 있습니다. 이 기능은 새로운 Xdoclint 옵션을 통해 활성화할 수 있습니다. 자세한 내용은 "javac -X" 실행 시 출력을 참조하세요. 이 기능은 javadoc 도구에서도 사용할 수 있으며 기본적으로 활성화되어 있습니다.
javac 도구는 이제 요청 시 기본 헤더 생성을 지원합니다. 이렇게 하면 빌드 파이프라인에서 javah 도구를 별도로 실행할 필요가 없습니다. 이 기능은 헤더 파일이 기록되는 디렉터리를 지정하는 새로운 -h 옵션을 사용하여 javac에서 활성화할 수 있습니다. 기본 메소드가 있거나 java.lang.annotation.Native 유형의 새 주석을 사용하는 모든 클래스의 주석이 달린 상수 필드에 대해 헤더 파일이 생성됩니다.
Javadoc 도구
javadoc 도구는 새로운 DocTree API를 지원하므로 Javadoc 주석을 추상 구문 트리로 탐색할 수 있습니다.
javadoc 도구는 새로운 Javadoc Access API를 지원하므로 새 프로세스를 실행하지 않고도 Java 애플리케이션에서 직접 Javadoc 도구를 호출할 수 있습니다. 자세한 내용은 javadoc의 새로운 기능 페이지를 참조하세요.
javadoc 도구는 이제 javadoc 주석 내용 확인을 지원하므로 잘못된 HTML 또는 접근성 문제와 같이 javadoc 실행 시 생성된 파일의 다양한 문제를 피할 수 있습니다. 이 기능은 기본적으로 활성화되어 있으며 새로운 -Xdoclint 옵션을 통해 제어할 수 있습니다. 자세한 내용은 "javadoc -X" 실행 시 출력을 참조하세요. javac 도구도 이 기능을 지원하지만 기본적으로 활성화되어 있지 않습니다.
국제화
유니코드 6.2.0 지원을 포함한 유니코드 향상
유니코드 CLDR 데이터 및 java.locale.providers 시스템 속성 사용
새로운 달력 및 로케일 API
확장으로 사용자 정의 리소스 팩 설치 지원
배포
이제 URLPermission을 사용하여 샌드박스 애플릿 및 Java Web Start 앱이 이를 실행한 서버에 다시 연결할 수 있습니다. SocketPermission이 더 이상 부여되지 않습니다.
모든 보안 수준에서 기본 JAR 파일의 JAR 파일 매니페스트에 권한 속성이 필요합니다.
날짜-시간 패키지
포괄적인 날짜-시간 모델을 제공하는 새로운 패키지 세트입니다.
Scripting
Rhino Javascript 엔진이 Nashorn JavaScript 엔진으로 대체되었습니다.
Pack200
Pack200은 JSR 292에서 도입된 새로운 바이트 코드와 상수 풀 항목을 지원합니다.
JDK8은 J를 지원합니다. SR-292, JSR- 308 및 JSR-335 지정 클래스 파일 변경
IO 및 NIO
Solaris 이벤트 포트 메커니즘을 기반으로 하는 새로운 Solaris 지향 SelectorProvider 구현입니다. 이를 사용하려면 시스템 속성 java.nio.channels.spi.Selector의 값을 sun.nio.ch.EventPortSelectorProvider로 설정합니다.
java.lang.String(byte[], *) 생성자 및 java.lang.String.getBytes() 메서드의 성능이 향상되었습니다.
java.lang 및 java.util 패키지
병렬 배열 정렬### ## ## #####표준 인코딩 및 디코딩베이스 64### ## ####서명되지 않은 산술 지원#🎜🎜 ## 🎜🎜 jdbc- ODBC 브리지가 제거되었습니다.
JDBC 4.2에는 새로운 기능이 도입되었습니다. JDK 8에는 Java DB 10.10이 포함되어 있습니다. java.net.URLPermission 클래스가 추가되었습니다.
java.net.HttpURLConnection 클래스에 보안 관리자가 설치된 경우 연결 열기를 요청하는 호출에는 권한이 필요합니다.
Concurrency
java.util.concurrent 패키지 일부 새로운 클래스 및 인터페이스가 추가되었습니다.
java.util.concurrent.ConcurrentHashMap 클래스에는 새로운 스트림 도구 및 람다 표현식을 기반으로 집계 작업을 지원하는 몇 가지 새로운 메서드가 추가되었습니다.
java.util.concurrent.atomic 확장 가능하고 업데이트 가능한 변수를 지원하기 위해 일부 새로운 클래스가 패키지에 추가되었습니다.
java.util.concurrent.ForkJoinPool 클래스에 범용 풀을 지원하는 몇 가지 새로운 메서드가 추가되었습니다.
새로운 java.util.concurrent.locks.StampedLock 클래스는 세 가지 모드를 통해 읽기/쓰기 액세스를 제어할 수 있는 기능 기반 잠금을 제공합니다. #🎜🎜 ##### 🎜🎜 ## 🎜🎜 ## 🎜🎜#java xml-jaxp#🎜🎜 ## 🎜🎜 ## 🎜🎜#HOTSPOT#🎜🎜 ## 🎜🎜 ## 🎜🎜## 🎜 🎜#
AES(고급 암호화 표준)를 사용하는 새로운 하드웨어 내장 기능입니다. UseAES 및 UseAESIntrinsics 플래그는 Intel 하드웨어에 대한 하드웨어 기반 AES 내장 기능을 활성화합니다. 하드웨어는 2010년 이후의 Westmere 하드웨어여야 합니다. 예를 들어 하드웨어 AES를 활성화하려면 다음 플래그를 사용합니다.-XX:-UseAES -XX:-UseAESIntrinsics# 🎜 🎜#
Java Mission Control 5.3 릴리스 노트
위 내용은 jdk8의 새로운 기능은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!