Computer >> Máy Tính >  >> Lập trình >> Java

Project Jigsaw trong Java 9 là gì?


Mục tiêu chính của Ghép hình dự án là giới thiệu mô-đun khái niệm để tạo mô-đun trong Java 9 và sau đó áp dụng tương tự cho JDK .

Dưới đây là một số lợi ích của Tính mô-đun ( Ghép hình )

  • Đóng gói mạnh: Các mô-đun chỉ có thể truy cập những phần có thể sử dụng được. Trừ khi gói được xuất rõ ràng sang module-info.java tệp, các lớp công khai trong một gói không được công khai.
  • Rõ ràng sự phụ thuộc: Một mô-đun phải khai báo về các mô-đun khác mà chúng được sử dụng thông qua mệnh đề bắt buộc. Các mô-đun được kết hợp với nhau để tạo ra thời gian chạy ngắn hơn có thể dễ dàng mở rộng quy mô cho các thiết bị tính toán tương đối nhỏ hơn.
  • Đáng tin cậy: Sau khi loại bỏ o f lỗi thời gian chạy , ứng dụng trở nên đáng tin cậy hơn. Ví dụ:chúng tôi phải nhận thấy rằng các ứng dụng của chúng tôi bị lỗi trong thời gian chạy do thiếu các lớp dẫn đến ClassNotFoundException .


Dưới đây là các JEP khác nhau (Đề xuất cải tiến JDK) để trở thành một phần của Jigsaw dự án

JEP 200 - JDK mô-đun: Nó sử dụng Hệ thống mô-đun nền tảng Java ( JPMS ) để mô-đun hóa JDK thành một tập hợp các mô-đun đã kết hợp tại thời điểm xây dựng, thời gian biên dịch hoặc thời gian chạy.

JEP 201 - mã nguồn mô-đun :Nó mô-đun hóa mã nguồn của JDK thành các mô-đun và nâng cấp các công cụ đã xây dựng để biên dịch các mô-đun.

JEP 220 - hình ảnh thời gian chạy mô-đun :Nó giúp tái cấu trúc hình ảnh thời gian chạy JRE và JDK để chứa các mô-đun nhằm cải thiện bảo mật , hiệu suất khả năng bảo trì .

JEP 260 - đóng gói hầu hết các API nội bộ: Nó cho phép phần lớn các API nội bộ được truy cập trực tiếp hoặc thông qua phản ánh. Việc truy cập vào các API nội bộ có thể thay đổi là khá rủi ro. Để ngăn việc sử dụng điều này, hãy nén thành mô-đun và chỉ những API nội bộ đó mới có sẵn để sử dụng.

JEP 261 - hệ thống mô-đun: Nó chịu trách nhiệm triển khai đặc tả Java của hệ thống mô-đun bằng cách thay đổi JVM, ngôn ngữ lập trình Java và các API tiêu chuẩn khác.

JEP 282 - Jlink, trình liên kết Java: Nó cho phép đóng gói các mô-đun và các phần phụ thuộc của chúng thành thời gian chạy nhỏ hơn.