java – 为什么我的.jar文件比eclipse中的程序运行得慢?
发布时间:2020-12-14 05:45:42 所属栏目:Java 来源:网络整理
导读:我有一个 java程序,它从数据库中读取大量输入数据,对其进行操作,然后将数据写回另一个数据库(使用ODBC驱动程序,excel和访问数据库,在新的 Windows 7机器上).该程序从eclipse运行大约需要17分钟,但是当我创建一个可执行的.jar文件时,它需要额外的10分钟才能运
我有一个
java程序,它从数据库中读取大量输入数据,对其进行操作,然后将数据写回另一个数据库(使用ODBC驱动程序,excel和访问数据库,在新的
Windows 7机器上).该程序从eclipse运行大约需要17分钟,但是当我创建一个可执行的.jar文件时,它需要额外的10分钟才能运行(总共27分钟).
到目前为止,我发现慢速jar文件(通过搜索SO和谷歌)的两个原因是它们被压缩,并且写入命令提示符(或错误日志)比在eclipse中的控制台需要更长的时间.我尝试创建一个未压缩的jar文件,它只加速了大约10秒钟(这可能是完全随机的,因为运行时间大约相差30秒).我在程序中只有大约10个System.out.println()命令,因此不应该减慢它的速度. 关于是什么导致它运行得如此之慢的任何想法,如果有任何方法我可以再次加速?如果有任何其他可能相关的细节我应该包括在内,请告诉我.谢谢! 解决方法
使用
JAMon.
它是一个监控库,可以帮助您测量代码的执行时间. 在向方法添加一些监视代码之后,在Eclipse中运行它并作为JAR文件,并比较结果.这应该允许您缩小搜索范围. 另外:检查您是否使用与Eclipse相同的Java版本运行JAR文件(例如,Java 1.4.x可能比1.6.x慢得多). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 缩短方法/变量名称?
- java JVM-类加载静态初始化块调用顺序
- java.lang.OutOfMemoryError:初始化数组时的Java堆空间
- java – 使用AtomicReferenceArray是什么?
- 如何用java创建一个“不要再问我”对话框弹出框?
- java – Android中的FileUriExposedException
- 什么是HashMap?什么情况下使用HashMap?
- Java实现给网站上传图片盖章的方法
- java – 为什么这个一般方法的覆盖使用1.6,但不是1.7?
- java – NotificationListenerService:getActiveNotificat