Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9에서 Project Jigsaw란 무엇입니까?


직소 퍼즐 의 주요 목표 프로젝트 모듈화 를 도입하는 것입니다. Java 9에서 모듈을 만든 다음 이를 JDK에 적용하는 개념 .

다음은 모듈식의 이점 중 일부입니다. (직소 퍼즐 )

  • 강력한 캡슐화: 모듈은 사용할 수 있는 부품에만 액세스할 수 있습니다. 패키지를 module-info.java로 명시적으로 내보내지 않는 한 파일, 패키지의 공개 클래스는 공개할 수 없습니다.
  • 종속성 지우기: 모듈은 필수 절을 통해 사용되는 다른 모듈에 대해 선언해야 합니다. 모듈은 비교적 작은 컴퓨팅 장치로 쉽게 확장할 수 있는 더 짧은 런타임을 만들기 위해 결합됩니다.
  • 신뢰성: 런타임 오류 제거 후 , 응용 프로그램의 안정성이 높아집니다. 예를 들어, ClassNotFoundException을 발생시키는 누락된 클래스로 인해 런타임 중에 애플리케이션이 실패한다는 사실을 알아차려야 합니다. .


아래는 다양한 JEP입니다. (JDK 향상 제안) Jigsaw 의 일부가 됨 프로젝트

JEP 200모듈식 JDK: Java Platform Module System(JPMS ) JDK를 빌드 타임, 컴파일 타임 또는 런타임에 결합된 모듈 세트로 모듈화합니다.

JEP 201 모듈식 소스 코드 :JDK의 소스코드를 모듈로 모듈화하고 빌드된 툴을 업그레이드하여 모듈을 컴파일한다.

JEP 220모듈식 런타임 이미지 :보안 개선을 위한 모듈을 수용하도록 JRE 및 JDK 런타임 이미지를 재구성하는 데 도움이 됩니다. , 실적유지보수성 .

JEP 260 – 대부분의 내부 API 캡슐화: 대부분의 내부 API에 직접 액세스하거나 리플렉션을 통해 액세스할 수 있습니다. 변경해야 하는 내부 API에 액세스하는 것은 매우 위험합니다. 이를 사용하지 못하도록 모듈 로 압축 이러한 내부 API만 사용할 수 있습니다.

JEP 261 – 모듈 시스템: JVM, Java 프로그래밍 언어 및 기타 표준 API를 변경하여 모듈 시스템 Java 사양을 구현하는 역할을 합니다.

JEP 282 - Jlink, Java 링커: 모듈과 종속성을 더 작은 런타임으로 패킹할 수 있습니다.