Java内存不足
问题描述:
我的客户端有一个名为CacheDownloader的类,它为我的主jar,客户端下载了一个解压缩更新。我遇到了一个问题,因为它无法解压新客户端并在使用时将其替换,所以我必须创建一个新的jar(名为ClientUpdater),它将解压新客户端以替换旧客户端,然后打开新客户端。Java内存不足
ClientUpdater打开客户端备份没有问题。但是,CacheDownloader无法打开ClientUpdater,它会发生内存不足错误。
CacheDownloader仍下载所有新文件并解压缩文件,所有ClientUpdater都解压缩包含相当小的客户端的小型zip文件。
这里是CacheDownloader负载如何ClientUpdater:
Runtime.getRuntime().exec("java -jar " + getCacheDir() + "/ClientUpdater.jar");
System.exit(0);
以下是完整的错误信息 - http://gyazo.com/8105ffd4c35f5f6d4a68a770fedf8f92
希望这是足够的情况下,没有它是冗长的信息。我现在的问题是,我该如何解决这个问题?错误表示我可以增加保留的代码缓存,这是否有负面影响?我怎么这样做,谷歌并没有真正显示它是如何解释它做了什么。
我对Java很新,所以要记住。
答
我知道这是RSPS。我建议您使用反射来加载客户端,使用Runtime.exec在环境变量配置不正确的系统上不起作用。
对于[示例](http://stackoverflow.com/a/6310284/230513),你的[profiler](http://stackoverflow.com/q/2064427/230513)告诉你什么? – trashgod
我没有这种新的。该错误确实说最大/使用/利用,但如果这就是你需要? – VirtualJunky
您可能已经有jvisualvm,它通常包含在JDK中。 – trashgod