2012-03-06 54 views
0

我已經繼承了一些廣泛使用設置Java系統屬性的代碼。我很好奇它存儲在文件系統中的什麼位置,以及是否有以純文本方式讀取它的方法。我使用的是Mac OS X Snow Leopard,我發現一些idx文件是二進制文件,但我對Java系統屬性的內部知識並不熟悉。 JVM是否存儲了一個包含其系統屬性的文件?Mac上的哪些地方存儲Java系統屬性?

編輯:我錯了,我很抱歉。代碼是使用首選項,而不是屬性。在Mac OS X Snow Leopard [至少]中,這些首選項存儲在〜/ Library/Preferences中。

回答

1

Java Preferences的實現依賴於平臺。在Linux上,它存儲在用戶主目錄中。在Windows上,它存儲在註冊表中。您應該使用Java API來訪問它們。我甚至不確定不同的JVM不能在同一個平臺上選擇不同的實現。

2

回答您的原始問題,Java系統屬性不存儲在任何地方。相反,當JVM基於諸如用戶名和主目錄,當前目錄和語言環境以及有關JVM本身的「硬連線」信息啓動時,它們會被彙編。這增加了-D<prop>=<value>命令行選項指定的屬性名稱/值對。