2013-09-26 27 views
8

Tôi đã đọc Java HotSpot VM Options. Tôi đã nhìn thấy một số thiết bị chuyển mạch VM thú vị, chủ yếu liên quan đến Strings - đó là giá trị lớn đối với tôi vì ứng dụng của tôi đang thực hiện một số thao tác String nặng. Đó là:Trạng thái hiện tại của tùy chọn hiệu suất Oracle Java HotSpot VM (+ UseStringCache, + UseCompressedStrings, + OptimizeStringConcat)

  • -XX:+UseStringCache
  • -XX:+UseCompressedStrings
  • -XX:+OptimizeStringConcat

tôi đã tự hỏi - là những công tắc trên theo mặc định? Kinh nghiệm thực tế trong việc sử dụng chúng là gì? Họ có tạo sự khác biệt không?

Trả lời

5

Xét chuỗi biểu diễn, có một cái nhìn tại -XX:+PrintStringTableStatistics-XX:StringTableSize=. Java 7 đi kèm với các tính năng tốt đẹp cho phép điều chỉnh bộ nhớ cache String khi sử dụng các chuỗi ký tự. Bằng cách này bạn có thể tối ưu hóa kích thước bộ nhớ cache String.

Và, một String Performance liên quan Q/A: Java GC tuning for strings

+0

Câu trả lời này là những gì tôi đang tìm kiếm, cảm ơn! – RockyMM

12

Để kiểm tra giá trị mặc định sử dụng

java -XX:+PrintFlagsFinal 

Để tìm chính xác những gì bạn muốn, bạn có thể

java -XX:+PrintFlagsFinal | grep UseCompressedStrings 
+0

Cảm ơn bạn cho điều này, nhưng tôi đã tìm kiếm một câu trả lời hoàn chỉnh hơn. – RockyMM

7

Tôi biết rằng -XX:+UseCompressedStrings đã bị bỏ trong Java 7 trên cơ sở đó là quá khó khăn để hỗ trợ.

Đối với Java 7 update 40

$ java -XX:+PrintFlagsFinal 2>&1 | grep UseStringCache 
    bool UseStringCache       = false   {product}   
$ java -XX:+PrintFlagsFinal 2>&1 | grep OptimizeStringConcat 
    bool OptimizeStringConcat      = true   {C2 product} 
+1

Tôi thấy rằng bạn đã đăng câu hỏi tương tự như tôi có năm ngoái. Điều đó về cơ bản bao gồm những gì tôi cần biết :) – RockyMM

2

Dựa trên kiểm tra của tôi về JDK6u21 và JDK7u21 sử dụng PrintFlagsFinal, chúng tôi có các giá trị sau:

       JDK6u21  JDK7u21 

-XX:+UseStringCache    false   false 
-XX:+UseCompressedStrings  false <unsupported> 
-XX:+OptimizeStringConcat  false   true 
Các vấn đề liên quan