我目前正試圖確定在異常平臺上運行的Java應用程序中高內存使用情況的原因,因爲我知道沒有安裝JVM。如何在沒有安裝JVM的情況下分析Java內存使用情況(Java 1.1.8)
我擁有應用程序的源代碼,並且可以對測試目的進行更改。
如何在這些條件下調試內存使用情況?
如果需要更多信息,我會很樂意提供。我只是有點失落,試圖使用這樣一個老jvm沒有太多的工具來說。
我目前正試圖確定在異常平臺上運行的Java應用程序中高內存使用情況的原因,因爲我知道沒有安裝JVM。如何在沒有安裝JVM的情況下分析Java內存使用情況(Java 1.1.8)
我擁有應用程序的源代碼,並且可以對測試目的進行更改。
如何在這些條件下調試內存使用情況?
如果需要更多信息,我會很樂意提供。我只是有點失落,試圖使用這樣一個老jvm沒有太多的工具來說。
如果我是你的話我會來解決:
對於Java 5及更高版本,可以使用Java代理完成此操作。對於早期版本(包括1.1.8),您必須加載本地代理才能執行此操作。如果你不能測試你的代碼,你必須自己完成所需的工作。
獲得最佳方法的一種方法是使用log4j的Java 1.1兼容版本,它允許您基本上寫出帶有時間戳記的字符串。隨後可以對其進行按摩以提取任何你想知道的答案。
如果您需要內存分析 - 我建議不要這樣做 - 您可以開始將對象序列化到磁盤,然後測量磁盤大小作爲內存大小的粗略估計。
如果您真的想深入瞭解您通常不應該在的位置,請嘗試使用sun.misc程序包,但我不知道1.1.x程序中包含多少程序。