Performance SpringMVC与原始Servlet:内存消耗、性能

Performance SpringMVC与原始Servlet:内存消耗、性能,performance,memory,servlets,spring-mvc,Performance,Memory,Servlets,Spring Mvc,我正在阅读这个问题,想知道与原始servlet相比,SpringMVC是否会降低或增加应用程序的内存消耗 注:我最初是在上面提到的问题中作为评论提问的,然后被邀请作为一个单独的问题发布。定义“爆炸”。定义“减速” 当然,内存使用率会更高,性能也会更低 与Spring提供的附加功能和灵活性相比,它的性能有多高、有多低才是真正的问题,而且不知道这个假想的应用程序的情况,这是不可能的 构建一个可测试、可扩展、架构良好的servlet应用程序需要重新实现Spring提供的许多功能。你更喜欢做什么——将一

我正在阅读这个问题,想知道与原始servlet相比,SpringMVC是否会降低或增加应用程序的内存消耗

注:我最初是在上面提到的问题中作为评论提问的,然后被邀请作为一个单独的问题发布。

定义“爆炸”。定义“减速”

当然,内存使用率会更高,性能也会更低

与Spring提供的附加功能和灵活性相比,它的性能有多高、有多低才是真正的问题,而且不知道这个假想的应用程序的情况,这是不可能的


构建一个可测试、可扩展、架构良好的servlet应用程序需要重新实现Spring提供的许多功能。你更喜欢做什么——将一些(本质上)行业标准代码重新实现到它已经实现的程度,然后编写你的应用程序,还是只编写你的应用程序?你的老板希望你做什么?

它肯定会消耗更多的内存,因为SpringMVC是一个servlet+some架构(与servlet单独相比)。它很可能不会降低整个服务器的速度,很多很多公司都在生产中使用这个框架。谢谢Dave Newton的回答。你说得对,这取决于很多事情。现在有了你的答案,我可以更多地思考SpringMVC。供您参考:假设它是一个每天由两个人使用的web应用程序。web应用程序提供了许多用于持久化信息、网格、脚本、报告等的子应用程序。我想知道SpringMVC是不是太过分了?@nexus,这还得看情况。Spring内置了一系列持久性抽象。用户的数量并不是真正的问题——而是开发的容易程度、测试的需要等等。所以我想这有助于开发更好、合适的应用程序,并且需要更多的内存。正如你所说,这是一种易于开发的方式。你可能知道SpringMVC在初始化后本身需要多少内存吗?@nexus我不知道——这取决于你让Spring做了多少。也许做一个开发峰值来为自己提供一个估计,否则你可能在这一点上想得太多了。@nexus我可以告诉你Spring真的很需要内存,每次重新部署都会占用越来越多的permgen(Meta)空间内存,有时会触发permgen(Meta)spaceOutOfMemoryException,但是。。。如果人们认为Spring为他们买单没关系,但对我来说Spring真的是巨大的、复杂的,而且,与宣传相反,是重量级的。坚持使用标准的JavaEE6/7