Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ความแตกต่างระหว่าง Compact Strings และ Compressed Strings ใน Java 9?


สตริงที่กะทัดรัด ได้แนะนำใน Java 9 เพื่อแทนที่ บีบอัด . ของ Java 6 สตริง . การใช้งานนั้นใช้ byte[] array แทน char[] array และ field coder ใหม่ได้นำมาใช้เพื่อระบุว่าเป็น LATIN1 หรือ UTF16 รูปแบบในขณะที่ บีบอัด สตริง ได้แนะนำใน Java 6 ที่สามารถใช้ได้ ไบต์[] อาร์เรย์หนึ่งไบต์ต่ออักขระ และใช้ ถ่าน[] . ต่อไป อาร์เรย์สองไบต์ต่ออักขระ ก่อนหน้านี้สามารถเปิดใช้งานได้โดยใช้ -XX:+ UseCompressedStrings .

ไม่เหมือนกับสตริงที่บีบอัด สตริงแบบย่อไม่ต้องการ ยกเลิกการแพ็ค หรือ บรรจุใหม่ . ดังนั้น Compact String จึงให้ประสิทธิภาพที่ดีขึ้นในขณะใช้งานจริง

บีบอัด สตริง ไม่ได้เปิดใช้งานโดยค่าเริ่มต้นใน Java 6 และต้องตั้งค่าอย่างชัดเจนโดยใช้คำสั่งด้านล่าง

XX:+UseCompressedStrings


สตริงที่กะทัดรัด ถูกเปิดใช้งานโดยค่าเริ่มต้นใน Java 9 โดยใช้คำสั่งด้านล่าง

+XX:-CompactStrings