应用程序在eclipse中运行得更快

我在eclipse中有一个可运行的java SE应用程序。 我引导JPA在普通的java 6 SE环境中工作。 对数据库中不同表的每个请求都不会超过100毫秒。

问题是,当我导出runnable jar并且我说java -jar myapp.jar时,对数据库的每个请求大约需要9秒。

我不明白为什么当我从eclipse运行它时应用程序更快

事实上,每次我向数据库发出请求时,我都在创建一个实体管理器:

Persistence.createEntityManagerFactory( "mysqldb" ); 

为了优化实体管理器的创建,我使用像这样的单例实体工厂:

 private static EntityManagerFactory em = Persistence .createEntityManagerFactory( "mysqldb" ); public static EntityManagerFactory getEmf() { return em; } 

这有助于改善eclipse之外的应用程序的性能,但是当我在eclipse中运行时,性能没有变化。

当我从eclipse启动应用程序时,我不确定它运行得更好的原因是什么,但这个解决方案暂时解决了我的问题。

您可以在两个版本上使用-verbose:class来查看它是否正在加载导致速度减慢的类的不同版本

我不知道如何使用eclipse编译器。 eclipse使用的ant脚本是: