首页 > 其他分享 >spring的问题-能耗、学习曲线

spring的问题-能耗、学习曲线

时间:2024-06-17 22:23:40浏览次数:23  
标签:能耗 java 复杂 一个 spring 学习曲线 考虑

说实话,在过去将近20年中,spring对于it行业的帮助还是很大的,尤其是信息系统建设方面。

但在我看来,spring的发展也许进入了一个困局。

 

开始的时候,spring的确是一个还是算小巧的工具,但是现在已经变成了一个庞杂的大东西。

的确,它好像什么都可以解决,但是变得过于繁复,庞大,性能上也有下降。

从工程的某个角度看,spring的确加快了系统的建设!但看待一个事物,总是要多个方面,不能失于片面。

 

运维问题

从运维角度看,用java写的东西,天然就不是一个绿色的程序,应为java本身就很慢,再加上spring自身复杂的结构,导致一个功能可能变得

很慢,所耗费的能源还是很客观的。

有人做了研究,具体什么标准不太清楚,但是大体反应了一个现实:

Which Programming Languages Use the Least Electricity? - The New Stack

 

注:这个表格来自下文的论文中

 java是c的大概两倍,但是考虑到spring的复杂结构,我觉得至少是3倍的关系。考虑到全球有那么多服务器都是运行java程序,可想而知,这个能耗。

 

还有一个参考文献:Ranking programming languages by energy efficiency (states.github.io)

这是在计算机科学杂志上发表的:

 

现在人们还不是太关注这个方面,但是考虑到恶劣的自然环境和日益减少的能源,我们的程序是不是应该更应该考虑运行效率了?

对于现在这个世界,节能应该是一直需要关注的事情。

 

最近人工智能芯片的问题,充分说明了节能的重要性。

只可惜,我们的科学家和工程师并没有认真做好他们自己的事情,这也侧面反应了为什么我们的某些方便和外国人还是有很大的差距,因为首先

态度就是一个巨大的问题,我们太缺乏学术心态,缺乏长远的目光。

 

学习角度

从学习角度出发,spring正在变得越来越复杂。此外它所推崇的方便可能让它自己的效率进一步下降,进一步复杂。

考虑到这是一个很流行的框架,也许大家需要浪费越来越多的时间了。

当然,也有人认为,这是一个学习曲线还算不错的框架,我也承认这个。但我认为,作为一个javaee框架,没有必要搞得那么复杂。

如果只是用spring开发javeee应用,我建议还是尽量只使用spring的核心部分即可,其它所谓的security等等之类的东西,也许需要慎重考虑。

如果考虑到用于开发项目,那么也许脱离这些复杂的东西会可能更好一些。

我只能说,spring有时候的确是有点方便,但是我们需要考虑它的代价。做事情总是顾头不顾尾,迟早会出问题,我特别讨厌那样的人。

 

标签:能耗,java,复杂,一个,spring,学习曲线,考虑
From: https://www.cnblogs.com/lzfhope/p/18253330

相关文章

  • SpringBoot3整合SpringDoc实现在线接口文档
    写在前面在现目前项目开发中,一般都是前后端分离项目。前端小姐姐负责开发前端,苦逼的我们负责后端开发事实是一个人全干,在这过程中编写接口文档就显得尤为重要了。然而作为一个程序员,最怕的莫过于自己写文档和别人不写文档大家都不想写文档,那这活就交给今天的主角Swagger来实现......
  • [面试题]Spring
    [面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]SpringBoot[面试题]SpringCloud[面试题]SpringMVC[面试题]SpringSpring是一个很庞大的技术体系,可以说包容一切,所以本文我们按照下面的顺序,罗列......
  • Spring容器系列-bean的生命周期
    Spring容器系列-bean的生命周期  bean的生命周期从调用beanFactory的getBean开始,到这个bean被销毁,可以总结为以下七个阶段:  1. 处理名称,检查缓存  2.处理父子容器  3.处理dependsOn  4.选择scope策略  5.创建bean  6.类型转......
  • spring面试题
    Spring框架中都用到了哪些设计模式?工厂模式:BeanFactory就是简单工厂模式的体现,用来创建对象的实例;单例模式:Bean默认为单例模式。代理模式:Spring的AOP功能用到了JDK的动态代理和CGLIB字节码生成技术;模板方法:用来解决代码重复的问题。比如.RestTemplate,JmsTemplate,JpaTemp......
  • javab每日一题:在spring里有哪些常用注解?
     Spring框架提供了许多注解,用于简化配置、管理Bean、处理事务、处理AOP等。以下是一些在Spring中常用的注解以及它们的作用:@ComponentScan:作用:用于启用组件扫描,指定要扫描的基础包。Spring会自动扫描并注册带有@Component及其派生注解(@Service、@Repository、@Controller......
  • 毕业设计——基于springboot的电力巡检系统
    !!!有需要的小伙伴可以通过文章末尾名片咨询我哦!!! ......
  • 毕业设计——基于SpringBoot的个人博客系统
    !!!有需要的小伙伴可以通过文章末尾名片咨询我哦!!! ......
  • 基于Springboot框架班级综合测评管理系统的设计与实现
    开头语:你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。开发语言:Java数据库:MySQL技术:Springboot框架,B/S模式工具:MyEclipse系统展示首页个人中心学生管理综合测评管理摘要随着互联网技术的高速发展,班级综合测评管理系统应运而生,旨在实现学校管......
  • SpringBoot的Security和OAuth2的使用
    创建项目先创建一个spring项目。然后编写pom文件如下,引入spring-boot-starter-security,我这里使用的springboot是2.4.2,这里使用使用spring-boot-dependencies,在这里就能找到对应的security的包。<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.......
  • Spring容器系列-启动原理(下)
    Spring容器系列-启动原理(下)  从上一篇文章《Spring容器系列-启动原理(上)》中,介绍了Spring容器初始化的核心方法refresh()的整体情况。这篇文章来详细展开介绍。其中比较重要的方法会标记上***  一、refresh中的12个方法  1. prepareRefresh  主要作用:记录下容器......