2011-12-03 55 views
14

我已經使用Eclipse IDE編寫了Java應用程序,現在我需要知道運行該應用程序所需的最低JRE版本!我知道某些方法只適用於以後的JRE,但我想知道最簡單的方法來找出我的應用程序的最高要求是什麼,所以任何建議,將不勝感激...如何確定我的Java應用程序的最低JRE版本和系統要求

同時,當我在需求的話題,我將不勝感激任何意見或決定爲我的軟件一般最低系統要求的方法 - 即RAM最低金額...

在此先感謝

+3

你知道工程師如何弄清楚一座橋可承受多少重量?他們駕駛的越來越重的卡車,直到它崩潰,然後他們重建它。做相反的事情......用JDK 7開始編譯你的應用程序,並使用早期的JDK直到它不能編譯。與記憶一樣...使用越來越少,直到它斷裂。是的,半tongue :) :) – Paul

+2

單靠編譯是不夠的 - 我幾乎也給出了這個答案。因爲以前版本的JDK/JRE可能包含大部分時間不使用的版本中的錯誤,所以編譯並不能保證程序正確執行。您真的需要它來(1)編譯和(2)讓您的整個測試套件針對給定的JRE傳遞。如果你沒有測試套件,支持舊版本的JRE將變得更復雜。 – jefflunt

+0

@保羅我有人懷疑我會從某人那裏得到答案,我想這是有很好的理由的;似乎沒有簡單的方法來計算這些要求。感謝您的回答保羅,但請看看我對normalocity的答案的評論,誰,我認爲這是一個很好的觀點,我同意這可能是我應該勸阻使用舊的JRE – Andy

回答

7
  • 方法1:對於最低JRE版本,這將是艱難的。最簡單的方法就是隻需要與您構建的版本相同的版本,或者稍後JRE 6.x.x或更高版本。
  • 方法2:安裝多個JDK,使它們在Eclipse中可用,只需更改您正在構建的版本,每次運行應用程序的測試套件並確保它們全部通過。允許所有測試通過的最早版本的JDK是可運行的最低JRE。 簡單地讓你的應用成功編譯是不夠的,因爲以前版本的JRE/JDK可能有錯誤,允許編譯成功,但不允許允許正確的程序執行。
  • 方法3:由於Oracle不斷修補安全漏洞,因此始終需要客戶端的最新版本,並且最終,最好是在客戶端需要最新版本(如果您擁有這種類型的控制權) 。

就RAM而言,這很容易。當JVM啓動時,它會設置一個「最大」數量的RAM(我相信默認值可能是128MB),這是一個硬性限制,應用程序不會在不崩潰的情況下超出限制。隨着時間的推移對應用程序進行剖析,調整JVM上的內存設置,找出應用程序運行所需的最小內存量(a)以可接受的性能運行;(b)不拋出OutOfMemoryError ,你就完成了。

價:How to configure JVM options and memory?

對於其他要求,如CPU REQ,事情變得有點模糊。在那裏有很多的CPU,並且給定系統產生的吞吐量可能不僅僅基於CPU速度,而且硬盤驅動器的速度,系統中安裝的RAM的數量,網絡接口的速度(如果你正在編寫網絡應用程序)等等。對於這樣的要求,您只需要在各種系統上進行測試,並在某處繪製線條,並說:「如果您的硬件至少與X,Y一樣強大,您可以期望可以接受的性能,Z「。

您可以做的另一件事是建立在基準測試或某種性能日誌記錄中,並將性能數據發回給您。許多應用程序都這樣做。您知道「我們可以將匿名使用數據發回給母親嗎?」安裝某些軟件時得到的問題?那麼,這些數據之間的共同點是系統特定的細節,如RAM,CPU,硬盤驅動器型號和其他硬件細節(無論您確定的數據與您的應用程序相關)以及性能日誌記錄數據。通過採取這種方法,您可以獲得來自許多不同系統配置的大量性能數據,而無需在內部部署大量不同配置的機器。

您可以對程序崩潰和錯誤執行相同的操作 - 將堆棧跟蹤,系統信息和其他相關數據轉儲回發送給您的日誌文件 - 但當然,僅當您的用戶擁有該文件時纔可以使用說可以將這些數據發回給你。

+0

感謝您的回答normalocity,雖然我不是很確定你對RAM的含義。你的意思是我應該把RAM的最低要求作爲JRE安裝的最低要求 - 實際上,理論上這對每個要求應該是一樣的!?至於JRE,我認爲我會堅持使用JRE 6,但總是推薦最新版本。] – Andy

+0

是的,我認爲你已經知道了RAM問題。當你啓動JVM時,你可以指定「嘿,不要超過32 MB的RAM」,或者你喜歡的任意數量的RAM。因此,使用不同的最小值(我提供了一個鏈接來設置JVM內存設置)多次運行您的應用程序,以及允許(1)您的應用程序以可接受的性能運行的最小值,以及(2)不會發生崩潰耗盡內存,成爲您的最低RAM要求。 – jefflunt

+0

感謝您的提問,這是一個有趣且信息豐富的見解。我認爲我已經得出結論,最低JRE版本應該是JRE 6,最低內存需求爲128MB,看起來好像這是安裝Java所必需的,而且我相信Java將在Windows 200及更高版本上運行!如果無論如何需要安裝Java,我都無法進一步調查我的應用程序的這些需求,尤其是因爲我沒有合適的測試工具。 – Andy

相關問題