2010-05-26 19 views
1

我已經創建了一個java swing應用程序。
運行完美的應用程序在我的電腦上運行完美。
但它不能在客戶端PC上完美運行。
我在我的電腦上增加了我的虛擬內存。
所以我的問題是......內存是否增加了java應用程序的輸出或行爲方面的差異?

正在改變內存限制,影響或改變應用程序的行爲?
有沒有什麼改變java應用程序的行爲? bcz相同的應用程序在我的電腦上完美運行,同一應用程序不能在客戶端PC上完美運行? 並且在代碼中沒有問題,我已經檢查了三次。

編輯:
這是我的應用程序之一screen shot,如果你看到的屏幕截圖有一個表,其中有在它的許多圖像。

現在在我的電腦上我沒有看到該表中的任何雙重圖像。

但在客戶端電腦上,我在該表格中看到了雙重圖像,但如果您點擊其中一個圖像,然後點擊之後,之前顯示的圖像已更改。

現在我拿數據庫和客戶端電腦的所有圖像,然後我試圖在我的電腦上運行相同的應用程序與同樣的數據,這也是他們的客戶端機器上。

但是現在在我的電腦上沒有雙重圖像。


我「增加我的虛擬內存」是指通過將改變JVM的虛擬內存的堆大小...

java -Xmx512m 
+4

它究竟是如何「不能完美運行」? – 2010-05-26 08:12:14

+0

你是什麼意思,「增加我的虛擬內存」? – 2010-05-26 08:14:04

回答

3
+0

有關我的問題的更多信息,請參閱我的可編輯問題。 – Nitz 2010-05-26 08:55:57

+0

@Nitz:你所描述的錯誤可能表明我的第三點要點存在問題。嘗試在擴展顯示設置中停用硬件加速。或者它可能是由你的代碼中的錯誤被另一個Java版本公開的。嘗試在兩臺機器上運行完全相同的Java版本。 – 2010-05-27 08:20:46

+0

是的,我同意,這個問題可能與圖形.. ,但我們不能在客戶端機器, 他們不會喜歡那樣的事情。 那麼他們的任何解決方案呢? – Nitz 2010-05-28 06:50:02

2

有可能更多的內存來幫忙。要優化任何內容以獲得更好的性能/縮放/大小,您首先需要了解問題。

檢查您的應用程序使用了多少內存 - 如果您使用的是Windows,則可以先使用任務瀏覽器查看它。如果使用的內存量是您電腦內存容量的重要部分,那麼添加更多的內存可能會加快速度。其他事情可能會影響性能,如硬盤速度和CPU數量。您可以添加更多的內存,但發現問題在於硬盤速度。

你的程序做了什麼樣的事情。它是否適用於文件或大型數據集?

你還沒有說過它不能在客戶端的PC上完美運行。它是緩慢的,還是崩潰?

+0

第二句話+1。 – 2010-05-26 08:18:42

+0

現在看我編輯的問題... – Nitz 2010-05-26 08:51:23

2

爲所有應用程序提供內存所需的內存量以及可能的交換量可能會改變程序的時間。如果你的程序容易受到時序變化的影響(也就是說,如果它是依賴於時序的,或者只能在「最佳」時序下工作),那麼這些時序變化會影響你的應用程序的行爲。

另外限制內存的限制可能會導致更頻繁的垃圾收集也改變時間,如果你使用任何類型的弱或軟引用的應用程序中可以有額外的影響。

+0

請參閱我的可編輯問題以獲取有關我的問題的更多信息。 – Nitz 2010-05-26 08:51:58

0

您必須檢查問題是否與內存有關。使用ProcessManager或其他類似程序來檢查程序如何從操作系統的角度使用內存。您可以使用jconsole來檢查它從Java角度看起來的樣子。

運行帶有JDK您的應用程序,並添加到它的調用:

-Dcom.sun.management.jmxremote.port=9876 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false 

然後運行jconsole,看你的應用程序。

相關問題