首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用性能与CLI

应用性能与CLI
EN

Stack Overflow用户
提问于 2017-01-19 22:19:28
回答 1查看 157关注 0票数 3

我继承了一个最初使用SpringBoot 1.3 (嵌入式Tomcat)运行的SpringBoot应用程序,它使用java -jar project.war命令启动应用程序。

由于我们已经升级到Spring 1.4,我们注意到与在IDE中运行应用程序()相比,启动它要慢得多,并且在搜索时具有更大的延迟。

一个很好的例子就是搜索"SMITH“。当我们在IDE中运行应用程序时,搜索大约需要5-6秒。使用--完全相同的代码库、嵌入式服务器配置和主机--在开始使用java -jar project.war时搜索“SMITH”需要14秒。

我们对应用程序进行了向上、向下和向后的描述,但仍然无法理解为什么它在我们的IDE中运行得那么快。

为了解决上述问题,我们必须做以下工作:

  1. 将war扩展到临时目录
  2. cd到WEB-INF目录
  3. 运行java -classpath "lib\:classes\:lib\*.jar" my.package.Main

为什么这两个命令行特性有这么大的差别?为Java提供类路径真的能提高性能吗?

=========================================================================编辑:我用Spring归档了https://github.com/spring-projects/spring-boot/issues/8046,这基本上是从这里剪切和粘贴的

编辑2:如果您遇到了这个问题,并且可以共享您的代码,请使用Spring (使用上面的链接);我的公司已经锁定了他们的环境。

EN

回答 1

Stack Overflow用户

发布于 2017-01-19 23:25:05

找到了春季github专刊。看起来打包归档总是比较慢(我怀疑因为它在运行之前需要爆炸存档),但是WAR归档应该定义文档根,而JAR则不是,这在很大程度上解释了性能差异。还有关于JAR和WAR之间的区别的这个StackOverflow问题,其中还包含了似乎支持这一点的链接。

不能百分之百肯定这是答案,但希望它至少能让其他人走上正轨。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41752784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档