In tất cả cờ JVM


96

Đã tìm thấy một Cờ JVM thú vị:

java -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version

Nó in ra hàng trăm tùy chọn khác nhau, tôi chưa từng nghe đến trước đây. Nó cũng in các giá trị mặc định, giúp chẩn đoán các hành vi JVM tốt hơn. Một lá cờ thú vị khác là:

-XX:+UnlockExperimentalVMOptions

Có ai biết về bất kỳ tài liệu nào giải thích từng cái trong số chúng không?



Lý do mà dòng lệnh không được liệt kê trong tài liệu là vì như tên đã nói, nó ở đó để chẩn đoán máy ảo. Có thể giả định rằng những người đang gỡ lỗi điểm phát sóng có thể biết họ;)
Voo

1
liên kết này giải thích các tùy chọn này một cách ngắn gọn và khá tốt.
sactiw

Câu trả lời:


35

Đừng bỏ lỡ -XX:+JVMCIPrintPropertiescác tùy chọn Graal JIT.

Trước khi đi sâu vào các nguồn, bạn có thể lướt qua các phần trích dẫn sau và tìm tùy chọn phù hợp nhanh hơn:

https://chriswhocodes.com/ (OracleJDK 6/7/8/9/10/11/12, OpenJDK 8/9/10/11, Graal CE / EE, OpenJ9, Zing)

http://jvm-options.tech.xebia.fr/

http://www.pingtimeout.fr/2012/05/jvm-options-complete-reference.html

http://stas-blogspot.blogspot.com/2011/07/most-complete-list-of-xx-options-for.html


15

Tài liệu tốt nhất mà tôi tìm thấy là nguồn .

Tôi đã sử dụng SO Q&A này để tạo bản dựng gỡ lỗi. Với bản dựng gỡ lỗi này, bạn có thể chạy java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal -XX:+PrintFlagsWithComments -version.

Từ thư mục chứa các nguồn, bạn có thể thực thi (giả sử bạn đang sử dụng Linux, Cygwin hoặc tương tự):

grep -FR 'UnlockExperimentalVMOptions' hotspot/

Hoặc, phần sau (chỉ xem *.cpp*.hpptệp):

find hotspot/ -name '*.[ch]pp' -exec grep -F 'UnlockExperimentalVMOptions' {} +

Sau đó, hãy xem các tệp nguồn. Có lẽ lý do tốt nhất tại sao không có một tài liệu nào mô tả tất cả các tùy chọn là vì một số tùy chọn này tốt hơn nên dành cho những người thực sự hiểu JVM và cách tốt nhất để làm điều đó là làm quen với mã nguồn.

Vì vậy, theo lời (gần như) của một vĩ đại bậc thầy , use the source!


1
Theo định nghĩa, nguồn là tài liệu hoàn hảo của chương trình. Cũng xem codinghorror.com/blog/2012/04/…
Pyrolistical

@Pyrolistical Cảm ơn vì liên kết; đọc tốt và tôi không biết Jeff Atwood gần đây đã viết blog về read the source.
Dan Cruz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.