Tính năng thú vị của Java 9 mà bạn không nên bỏ qua

Tính năng thú vị của Java 9 mà bạn không nên bỏ qua

Với sự phát triển của Java thì Java 9 đánh dấu mốc lớn nhất trong công cuộc đổi mới phần mềm. Vậy những thay đổi đó đem lại những tính năng thú vị của Java 9 như thế nào? Hãy cùng iSchoolvietnam tìm hiểu qua bài viết dưới đây nhé!

1. Những tính năng thú vị của Java 9: Mô-đun

Hãy bắt đầu với tính năng quan trọng nhất của Java 9 – Java Platform Module System (Hệ thống Mô-đun nền tảng Java).

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 tảng lớn đã tạo ra nhiều lộn xộn với các classes chồng chéo nhau. Thậm chí, không có cách tối ưu nào để triển khai các classes trong JDK. Điều đó dẫn đến việc phải dùng tới các thư viện bên ngoài, phụ thuộc vào các chi tiết bên trong, khiến cho việc phát triển nền tảng Java bị cản trở.

Tính năng thú vị của Java 9 mà bạn không nên bỏ qua hình 1

Tính năng thú vị của Java 9 mà bạn không nên bỏ qua

Với Java 9, bản thân JDK chính là mô-đun và đ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. Cuối cùng, các classes thực hiện nội bộ giờ có thể đóng gói thông tin của người dùng bằng các trường thông tin phụ, để thực hiện chức năng truyền tin trên mạng. Ngoài ra, các mô-đun có thể thể hiện sự phụ thuộc rõ ràng vào các mô-đun khác. Sự phụ thuộc luôn được kiểm tra bởi hệ thống mô-đun cả trong quá trình biên dịch và thực hiện.

Các mô-đun cũng có thể được sử dụng để mô đun hóa các ứng dụng, không chỉ là JDK. Thay vì sử dụng các đường dẫn (classpath) mong manh, bây giờ bạn có thể tạo ra các mô-đun riêng của mình với các package và thuộc tính rõ ràng.

Các mô-đun cung cấp một đường dẫn đến các ứng 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. Các mô-đun ảnh hưởng đến việc thiết kế ứng dụng của bạn và tự biểu hiện trong các giai đoạn phát triển: phát triển, biên dịch, đóng gói và thực hiện. Sẽ mất một thời gian trước khi hệ thống mô-đun được áp dụng rộng rãi. May mắn thay, cộng đồng chào đón sự thay đổi này rất tích cực.

2. 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 của các nhà phát triển. Ví 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ờ đó không cần phải giải quyết thêm nhiều phiền toái để 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ì biên dịch và chạy các classes nhỏ để kiểm tra 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 tứ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.

3. Hiệu suất

Chạy một phiên bản Java mới nghĩa là bạn sẽ nhận được những 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ũng có thể được thấy rõ chỉ với bộ ký tự ASCII, lưu trữ 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ự. Hầu hết các ứng dụng đều có một lượng tốt các đối tượng String trong công việc. Nếu chúng là các chuỗi đơn giản thì điều này sẽ giúp giảm lượng bộ nhớ được dùng.

Một thay đổi quan trọng khác trong Java 9 là di chuyển đến Garbage Collector G1 (Garbage First) như bộ garbage collector theo mặc định. Được thiết kế để sử dụng với quy mô lớn, nó cung cấp các mục tiêu thời gian nghỉ có thể điều chỉnh và thực hiện bộ sưu tập gia tăng. Tác động của thay đổi này phụ thuộc vào đặc điểm ứng dụng của bạn.

Tính năng thú vị của Java 9 mà bạn không nên bỏ qua hình 2

Tính năng thú vị của Java 9 mà bạn không nên bỏ qua

Nói chung, bạn sẽ nhận được độ trễ thấp hơn khi thực hiện code. Đổi lại, G1GC sử dụng tài nguyên CPU nhiều hơn để đạt được điều này. Dù sao, điều quan trọng là phải kiểm tra hành vi của garbage collector trên các ứng dụng cụ thể khi chuyển sang Java 9. Trong một số trường hợp, các mẫu phân bổ không phù hợp với cách tiếp cận G1GC và việc chuyển sang GC khác (hoặc G1GC) là cần thiết.

4. Bảo mật

Những tính năng năng suất của các nhà phát triển không phải là lý do duy nhất để áp dụng Java 9. Bản thân nền tảng đã được cập nhật nhiều tính năng mới để tăng cường bảo mật. Hầu hết các cải tiến về bảo mật trong Java 9 liên quan đến mạng lưới bảo mật. Các phiên bản mới nhất của (D) TLS hiện được hỗ 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 tuần tự. Việc sắp xếp 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. Hiện giờ, bạn có thể lọc các luồng dữ liệu tuần tự giúp giảm thiểu mức độ tấn công của Java serialization.

5. Chu kỳ phát hành

Ở phần trên, chúng ta chỉ tập trung 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 trọng: Nó đánh dấu sự kết thúc kỷ nguyên của các phiên bản Java chỉ tập trung vào “tính năng”. Trong quá khứ, một số tính năng quan trọng đã đượ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. Trên thực tế, điều này dẫn đến khoảng cách ít nhất ba năm giữa các phiên bản chính. Điều này vốn không thể chấp nhận được đối với thời đại công nghệ ngày nay. 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 gian.

Hầu hết các chiến lược thay đổi cho Java đều chưa bao giờ hết hot. Chính vì vậy mà những tính năng thú vị của Java 9 đã đem đến cho người sử dụng những trải nghiệm mới thú vị hơn và tiếp tục phát triển mạnh mẽ hơn nữa.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *