【java】请问我测试一个项目的性能,在ide里测试和打包测试一样么

我又好几个jar项目,人家让我测试看看性能,我喜欢在ide里直接运行项目测试,它们说打包成jar测试

请问这俩有本质区别么

差异可能会非常大,经常遇到的问题是ide会比Jar运行的快。这里面原因很多,比如和JVM调用系统的IO有关系,很多莫名其妙的现象,所以在IDE上可以做一些基本的测试和调优,最终的performance还是要放到真是的环境中去跑,如果不理想还要再次找问题,你可以参考这些帖子都是真是环境的速度明显慢于IDE的:

https://www.java-forums.org/eclipse/60842-jvm-eclipse-ide-vs-jvm-windows-poor-jar-performance.html
https://stackoverflow.com/questions/22685103/runnable-jar-runs-too-slow-compared-to-eclipse-project

性能测试需要下一定的环境中测试,不同的环境结果很可能不一样哦

性能测试是模拟多种正常、峰值以及异常负载条件下你写的程序的各项指标输出结果,开发模式还是有很大差异的

如果是在你自己本地测试,都一样。如果你打包发给别人,或是上传到Linux测试可以测试出其它问题,比如图片上传路径、数据库地址配置有问题等。

楼上说得没错,只有打包发给别人或上传到linux系统才能发现如网络路径,数据库配置,是否兼容服务器系统等问题。

在IDE里和打包测试,如果单从性能上来说,用脑袋想想是没有差别,但是有很多场景状况是你打包之前想象不到的,比如一些功能在IDE里正常,打包之后因为某些配置问题无法运行,举个简单的例子:System.getProperty("user.dir"); 获取项目根路径,你在IDE里和打包后的结果就不一样,毕竟用户用的是打包的环境,此时测试的你就要把你自己当成用户,尽量接近用户的环境