Mengakses Argumen VM dalam Aplikasi Java
Masalah:
Bagaimana anda boleh menentukan sama ada pilihan yang dihantar kepada Mesin Maya Java (JVM) ditetapkan secara eksplisit atau mempunyai nilai lalainya? Dalam kes ini, objektifnya adalah untuk mencipta benang dengan saiz tindanan asli yang lebih tinggi berbanding dengan lalai. Walau bagaimanapun, jika pengguna menentukan pilihan -Xss, saiz tindanan lalai harus digunakan.
Penyelesaian:
Untuk mendapatkan maklumat tentang hujah VM dalam aplikasi Java anda, anda boleh menggunakan kaedah System.getProperty(). Kaedah ini membolehkan anda mengakses sifat sistem, termasuk yang ditetapkan sebagai argumen apabila memulakan JVM.
Begini cara untuk melaksanakan ini menggunakan -Dname=value:
Nyatakan hujah VM yang dikehendaki semasa permulaan seperti berikut:
java -Dstack.size=1024k ...
Dalam kod Java anda, dapatkan semula hujah ini menggunakan kaedah System.getProperty():
String stackSize = System.getProperty("stack.size");
Anda kemudiannya boleh menggunakan nilai stackSize yang diambil untuk menentukan sama ada hujah -Xss telah ditetapkan secara eksplisit atau tidak. Jika ia ditetapkan, buat benang dengan saiz tindanan yang ditentukan; jika tidak, gunakan saiz tindanan lalai.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan sama ada Argumen JVM Ditetapkan Secara Eksplisit atau Menggunakan Nilai Lalainya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!