>  기사  >  Java  >  jdk8의 새로운 기능은 무엇입니까

jdk8의 새로운 기능은 무엇입니까

清浅
清浅원래의
2019-04-24 17:40:3534060검색

JDK 8의 새로운 기능에는 Lambda 표현식 도입, 스트림 API 제공, 클라이언트 TLS 1.2 활성화, AEAD 알고리즘 지원, 더 높은 보안, 새로운 Modena 테마, 새로운 패키지 등이 포함됩니다.

jdk8의 새로운 기능은 무엇입니까

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로 설정합니다.

  • /jre/lib/charsets.jar 파일의 크기를 줄입니다

  • 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
  • #🎜🎜 #

    하드웨어 AES를 비활성화하려면 다음 플래그를 사용하십시오.

-XX:-UseAES -XX:-UseAESIntrinsics# 🎜 🎜#

  • PermGen이 제거되었습니다.

  • 메서드 호출에 대한 바이트코드 지침은 Java 프로그래밍 언어의 기본 메서드를 지원합니다.

  • Java Mission Control 5.3 릴리스 노트

  • JDK 8에는 Java Mission Control 5.3이 포함되어 있습니다.

위 내용은 jdk8의 새로운 기능은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.