2012-06-08 107 views
4

我目前正在爲學校完成一項任務,而且我已完成編程,但遇到了一個重大問題。Netbeans應用程序運行速度很慢

當我在netbeans IDE中運行程序時,一切都會按照它的方式運行,並且非常平滑。

但是當我嘗試運行Jar文件時,它滯後,我的計時器每秒需要3-5秒。

在導出Jar文件之前我應該​​檢查一下,還是我以錯誤的方式運行它?

它在我的Windows 7 64位系統,Ubuntu 12 64位,Ubuntu 11 64位和Windows 7 32位上做同樣的事情。所以它不是一個操作系統問題。我有新的Java運行時間

回答

1

我的第一個想法是,也許Netbeans運行jvm爲您的程序與更多的內存。嘗試使用增加的jvm內存設置運行jar。當您在命令行運行java -jar -Xmx512m yourjar.jar時,您知道它是諸如-Xmx512m之類的java選項之一。

在這裏的另一個猜測,Netbeans可能執行您的純.class文件,而不是一個打包的jar文件。如果你可以打印出類路徑,你可以嘗試像netbeans一樣執行它。它可能最終會導致您必須部署多個jar文件才能避免此問題。你在代碼中使用了很多其他的jar文件嗎?

這是基於我使用eclipse的經驗,並讓它在IDE中對導出的jar文件執行不同的操作。

+0

我試過你給我的增加的jvm內存提示。但是,如果將它設置爲4096中的256,那沒關係。完全沒有區別:S – Bram

+0

當程序啓動時,在您的代碼中打印出您的類路徑。查看在Netbeans中運行它時與在類路徑中的命令行運行時是否有區別。也許它使用的NetBeans之外的舊版本或較慢的另一個jar。 jar文件有多大?我也想知道出口是否太大,需要很長時間才能運行。也許試着用.class文件而不是用jar來運行它。 Netbeans可能不是以jar的形式運行它,而是單獨的類。 classpath很好地幫助識別這個。 – Logan

+0

除了Logan的建議之外,您可能還想考慮自己製作jar而不是讓NetBeans爲您生成它。這可能是因爲它在過程中包裝了外來的東西,或者以其他方式搞亂了你的入口點/主要方法。 –

0

如果你有eclipse INDIGO版本,只需右鍵單擊項目節點並單擊導出,然後選擇「Runnable JAR文件」下的java部分單擊下一步,然後完成並完成! :)

1

JAR可能使用默認壓縮方式構建。手動構建您的JAR並指定0選項(無ZIP壓縮)。值得一試。有關創建JAR時可用選項的更多詳細信息,請參閱here