Thứ Sáu, 23 tháng 2, 2018

Tất tần tật những điều bạn cần biết về Java 9

20:31 Posted by Unknown No comments

 


Sau hơn 3 năm kể từ Java 8, rốt cục Java đã công bố phiên bản tiếp theo vào tháng 9 năm 2017 vừa qua. 

Java 9 được đánh giá là một bước ngoặt đối với chính bản thân Java. Bài này chúng ta sẽ luận bàn các tính năng mới của Java 9. Từ ý kiến hoạt động, những thay đổi và cải tiến trong hiệu suất và bảo mật.


Mô đun (Modularity)

Hãy bắt đầu với tính năng quan trọng nhất của Java 9 – Hệ thống Java Platform Module System. Vấn đề lớn nhất với Java là runtime library. Hai mươi năm phát triển trên một nền móng lớn đã tạo ra nhiều đống lung tung với các classes bị chồng chéo vào nhau. Thậm chí còn không có cách nào tối ưu để khai triển các classes trong JDK. Điều đó dẫn đến việc phải dùng tới các thư viện phụ bên ngoài, khiến cho việc phát triển của nền móng Java bị ngăn cản.

Với Java 9, JDK cũng chính là mô đun cũng như là đi kèm với 90 mô-đun riêng biệt khác. Chỉ các package được xuất ra một cách rõ ràng từ mô-đun mới có thể truy cập được tới các mô-đun khác. chung cuộc, các classes thực hiện nội bộ giờ đây có thể được thực thụ đóng gói. ngoại giả, các mô-đun có thể express các dependencies vào các mô-đun khác. Những dependencies luôn được soát bởi hệ thống mô-đun cả trong quá trình compile và thực hiện.

Các module cũng có thể được sử dụng để mô đun hóa các áp dụng chứ không chỉ là JDK. Thay vì dùng các đường dẫn (classpath) mỏng mảnh, giờ bạn có thể tạo ra các mô-đun riêng của mình.

Các mô-đun cung cấp một đường dẫn đến các áp dụng có cấu trúc rõ ràng và đáng tin cậy hơn. Tuy nhiên, hệ thống mô-đun mới này sẽ không thay đổi Java trong một sớm một chiều. Sẽ mất một thời gian trước khi hệ thống mô đun được vận dụng rộng rãi. May mắn thay là cộng đồng đã chào đón sự đổi thay này rất tích cực.

Năng suất

Ngoài hệ thống mô-đun, Java 9 còn có các tính năng nhỏ để cải thiện năng suất. thí dụ, các phương pháp collection factory cho phép bạn tạo các collection bất biến với các phần tử được xác định trước trong một câu lệnh. Nhờ đó mà Không cần phải giải quyết thêm nhiều phiền phức để tạo các collection nhỏ, được xác định trước.

Một tính năng giúp tăng tốc năng suất chính khác là JShell, một mã Read-Eval-Print-Loop cho Java. Thay vì compile và chạy các classes nhỏ để rà soát code, bạn có thể tương tác nhập và đánh giá các đoạn mã Java trong JShell với khả năng phản hồi ngay thức thì. JShell đã được tích hợp với các IDE như IntelliJ IDEA, cho phép bạn mở một môi trường tương tác với quyền truy cập vào mã ứng dụng của bạn.

Hiệu suất

Khi chạy một phiên bản Java mới thường có tức là bạn sẽ nhận được cải tiến về hiệu suất mà không cần thay đổi code. Java 9 cũng không ngoại lệ. Một Ví dụ về sự cải tiến như vậy là tính năng Compact Strings. Bất kỳ chuỗi nào có thể được thấy rõ đầy đủ chỉ với bộ ký tự ASCII sẽ được lưu trữ với chỉ một byte cho mỗi ký tự. Các chuỗi có các ký tự nằm ngoài phạm vi ASCII sẽ lấy hai byte cho mỗi ký tự. Nếu chúng là các chuỗi đơn giản, điều này sẽ giúp làm giảm lượng bộ nhớ được dùng.

Một thay đổi quan trọng khác trong Java 9 là việc để Garbage Collector G1 (Garbage First) ở chế độ mặc định. Được thiết kế để dùng với qui mô lớn, bạn sẽ nhận được độ trễ thấp hơn khi code được thực hiện. Đổi lại, G1GC sử dụng tài nguyên CPU nhiều hơn để đạt được điều này.

Bảo mật

Bản thân nền tảng cũng đã có được nhiều tính năng mới được cập nhật để tăng cường bảo mật. hồ hết các cải tiến về bảo mật trong Java 9 can hệ đến networking. Các phiên bản mới nhất của (D) TLS hiện được tương trợ cho các kết nối HTTPS an toàn.

Các tăng cường bảo mật khác bao gồm khả năng lọc dữ liệu lần lượt. Việc xếp đặt theo thứ tự vốn là điều mà Java luôn bỏ qua, dẫn đến nhiều cuộc tấn công an ninh trong những năm gần đây. Giờ đây, bạn có thể lọc các luồng dữ liệu tuần tự, giúp giảm thiểu chừng độ tiến công của Java serialization.

Chu kỳ phát hành

Cho đến nay, chúng tôi đã tụ tập vào các tính năng của Java 9. Nhưng có một lý do khác chứng minh việc Java 9 là một phiên bản quan yếu: Nó đánh dấu sự kết thúc của kỷ nguyên của các phiên bản Java chỉ tụ hợp vào “tính năng”. Trong quá khứ, một số tính năng quan yếu đã được chọn, và khi đã sẵn sàng, một phiên bản mới của Java mới được tạo ra. Trong thực tiễn, điều này đã dẫn đến khoảng cách ít ra ba năm giữa các phiên bản chính. Điều này vốn là không thể bằng lòng được đối với thời đại hiện tại. Do đó, Oracle và OpenJDK đang chuyển sang việc phát hành các phiên bản dựa trên mốc thời kì.

hiện, cứ mỗi 6 tháng, một phiên bản mới của Java sẽ được phát hành. Nó sẽ chứa tuốt luốt các tính năng đã sẵn sàng tại thời điểm đó. Giữa những bản phát hành 6 tháng này, hãng cung sẽ tung ra bản cập nhật với các bản sửa lỗi quan trọng nếu cần. lộ trình phát hành mới này có một số ý nghĩa. Hiện tại Java sẽ tung ra các bản cập nhật lớn vào tháng 3 và tháng 9 hàng năm. Có nghĩa là phiên bản tiếp theo vào tháng 3 năm 2018 sẽ là Java 10. Tuy nhiên, công ty vẫn chưa đưa ra thông tin chính thức xác nhận mốc thời khắc trên.

Tuy vậy, việc update liền tù tù Java cũng không phải là tin vui với nhiều công ty. Do đó, sẽ có các phiên bản dài hạn (LTSs) được chỉ định ba năm một lần. Phiên bản trước tiên của LTS sẽ được phát hành tháng 9 năm 2018. Điều này cũng có tức thị Java 9 sẽ không có trong các phiên bản dài hạn được hỗ trợ.

Lời kết

Những chiến lược mới này làm cho Java trở thành linh hoạt hơn bao giờ hết. Các tính năng chính sẽ được chia thành các bước nhỏ và cập nhật mỗi 6 tháng một lần. Như vậy là ngay cả sau hơn 20 năm, Java vẫn đấu phát triển với tốc độ sôi động và chóng vánh.

0 nhận xét:

Đăng nhận xét