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

Sự khác biệt giữa chuỗi nén và chuỗi nén trong Java 9?


Chuỗi nhỏ gọn đã giới thiệu trong Java 9 để thay thế Đã nén của Java 6 Chuỗi . Việc triển khai nó sử dụng byte [] mảng thay vì char [] mảng và một bộ mã hóa trường mới đã được giới thiệu để xác định xem đó có phải là LATIN1 hoặc UTF16 định dạng trong khi Được nén Chuỗi đã giới thiệu trong Java 6 có thể được sử dụng byte [] mảng cho một byte cho mỗi ký tự và tiếp tục sử dụng char [] mảng cho hai byte mỗi ký tự, trước đây nó có thể được bật bằng cách sử dụng -XX:+ UseCompressedStrings .

Không giống như Chuỗi nén, Chuỗi nhỏ gọn không yêu cầu bỏ đóng gói hoặc đóng gói lại . Do đó, Chuỗi nhỏ gọn mang lại hiệu suất tốt hơn trong thời gian chạy.

Đã nén Chuỗi không được bật theo mặc định trong Java 6 và cần được đặt rõ ràng bằng lệnh dưới đây

XX:+UseCompressedStrings


Chuỗi nhỏ gọn được bật theo mặc định trong Java 9 bằng cách sử dụng lệnh dưới đây

+XX:-CompactStrings