对于大部分商业应用开发程序员而言,使用java+spring是一件幸福的事情。

一般情况下,我们使用cloud开发不是那么重要、精密的应用,这些应用包括例如大型的商业交易,社区等等。

因为这些应用天然对于效率和精密没有高要求,甚至算不上什么要求,如果有的话就是不要太慢,要稳定。

得益于硬件的提升和特定的需求,这样的要求很容易满足。

所以某个角度出发,这些商业应用开发的程序员是最轻松--因为他们不需要考虑太复杂的技术,可以重点提升自己的记忆力和熟练度。

但在能源日益宝贵的今天,我们需要考虑的事情如下:

1.提升程序的执行效率(不改变硬件资源的前提下)

java目前本身是很低效的语言,除了用于开发商业应用,一般不用于开发基础软件,游戏等等,这是因为它的致命问题:太慢了。

Spring+springCloud近年来变得日益庞杂,它的目的是为了商业应用服务--提升开发效率、应用性能和稳定性。

老实说,如果不考虑能耗,spring做得很好。从程序员角度出发,spirng很好,不过现在发布的速度太快了。

我认为spring应该和windows学习,windows甚至能够兼容上个世纪的程序。

在巨型商业交易网络中,部署这样java的程序的服务器以几十万计算,能耗非常惊人。

注意,以下的例子并没有权威和实际的数字佐证,但是大部分程序员都明白,java是多么慢,springCloud也非常慢,为了灵活,它们牺牲了性能。

假定某个商业交易(购物)系统需要部署20万台的服务,每天服务平均每天需要耗费的电量是5度(算上服务器本身+空调等)。

那么一天就是100万度电。

如果采用其它的语言编写,并假定更加高效,我相信每台服务器每天的电耗可以至少降低到4度左右。

那么和java比较,则每天可以节约20万度电量,一年则大概是7300万度电。

假设烧沸1升的水(从20-100),大概是0.1度,那么7300万度可以烧热7.3亿升水,大概是73万吨水。

如果一个家庭一天需要加热的水是60升(比较奢侈了),那么可以为一个家庭加热1210万天,大概是33333年。

如果是一万个家庭,大概是1216天,或者是3.33年。也就是说一年节约的电量,大概可以供一个大型小镇的人烧3年多的开水。

也许上面算的不是很准确,但是应该不会有太大的偏差。

然而资本的恶再加上领导的无能,就可能导致这种浪费的持续性,甚至是越来越严重。

因为资本考虑的短期利益。从某些资本家角度出发,7300万度电,大概是1亿元人名币,这和商业成交额动则百亿比较,实在不值一提。

资本家不考虑,但国家需要考虑,因为能源日益匮乏是一个现实(除非有什么途径),如果不注重能源的管理,可能某天会面临巨大困境,甚至绝境。

所以,我们希望从多个层面解决这能源问题和浪费问题:

1.从国家和政策层面,出台“计算机和软件能耗法”,对不同场景的能耗具有指导、规范、惩戒作用。

2.还是从国家出发,引导企业研究更加先进的计算机工程技术,以便提升开发、维护效率,并提升运行效率,降低能耗

3.从企业角度出发,自觉国家法度,并致力于提升能效,因为这是利国利民的事情

4.从从业人员角度出发,则需要专心学习和研究提升计算机能效的方法

在信息化社会,硬件和软件的需求已经是非常普遍,所以哪怕是一点提升也是巨大的提升。

现在,我担心的是我们政府的领导的前瞻性、责任感、执行能力!

java+SpringCloud开发的性能和环保问题的更多相关文章

  1. Java高级开发_性能优化的细节

    一.核心部分总结: 尽量在合适的场合使用单例[减负提高效率] 尽量避免随意使用静态变量[GC] 尽量重用对象,避免过多过常地创建Java对象[最大限度地重用对象] 尽量使用final修饰符[内联(in ...

  2. 开发语言性能对比,C++、Java、Python、LUA、TCC

    一直想做开发语言性能对比,刚好有时间都做了给大家参考一下, 编译类:C++和Java表现还不错 脚本类:TCC脚本动态运行C语言,性能比其他脚本快好多... 想玩TCC的同学下载测试包,TCC目录下修 ...

  3. Java高级开发必会的50个性能优化细节

    在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身.养成良好的编码习惯非常重要,能够显著地提升程序性能. 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时 ...

  4. Java高级开发必会的50个性能优化的细节(珍藏版)

      在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身.养成良好的编码习惯非常重要,能够显著地提升程序性能. ● 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短 ...

  5. 5款强大的Java Web开发工具

    1.WebBuilder这是一款开源的可视化Web应用开发和运行平台.基于浏览器的集成开发环境,采用可视化的设计模式,支持控件的拖拽操作,能轻松完成前后台应用开发:高效.稳定和可扩展的特点,适合复杂企 ...

  6. Java EE开发平台随手记1

    过完春节以来,一直在负责搭建公司的新Java EE开发平台,所谓新平台,其实并不是什么新技术,不过是将目前业界较为流行的框架整合在一起,做一些简单的封装和扩展,让开发人员更加易用. 和之前负责具体的项 ...

  7. 敏捷开发中高质量 Java 代码开发实践

    Java 项目开发过程中,由于开发人员的经验.代码风格各不相同,以及缺乏统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维护,需要较大的测试投入 和周期等问题. 这些问题在一个项目组初建.需 ...

  8. 个人的java web开发书单

    首发至个人博客http://www.zidafone.com/blog/36 以下是对一些读过的书和一些买后随便翻了翻的书的个人感觉.都是java web开发的程序员可能接触的书,其他的如设计/手机开 ...

  9. java 编程时候的性能调优

    一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子: import java.util ...

  10. 成为JAVA软件开发工程师要学哪些东西

    2010-04-22 15:34 提问者采纳 Java EE(旧称j2ee)   第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架: *第二阶段:java界面编程,包括AW ...

随机推荐

  1. [Contract] Truffle 使用流程

    Installation $ npm install -g truffle Choose ethereum client (Ganache OR truffle build in `truffle d ...

  2. QT使用外部库

    一.简述 当QT使用第三方库时,编译会报错,哪怕是使用linux下的软件库时都有可能报错,所以在使用的时候需要添加一下外部库的路径,这里我以mosquitto的库函数为例,主要的导入方式有两种. 二. ...

  3. 还需要学习JDBC吗?如果需要该了解到怎么样的程度?

    前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 不知道大家在工作中还有没有写过JDBC,我在大三 ...

  4. 【2023知乎爬虫】我用Python爬虫爬了2386条知乎评论!

    目录 一.爬取目标 二.展示爬取结果 三.爬虫代码讲解 3.1 分析知乎页面 3.2 爬虫代码 四.同步视频 五.完整源码 您好,我是 @马哥python说,一枚10年程序猿. 一.爬取目标 前些天我 ...

  5. LLM基础能力实现-书生浦语大模型实战营学习笔记2&大语言模型4

    大语言模型-4.LLM基础能力实现 书生浦语大模型实战营学习笔记-2.LLM基础能力实现 本文包括第二期实战营的第2课内容.本来是想在笔记中给官方教程做做补充的,没想到官方教程的质量还是相当高的,跟着 ...

  6. 应急响应web1

    应急响应的过程 目的:分析攻击时间.攻击操作.攻击结果.安全修复等并给出合理的解决方案. 保护阶段:直接断网,保护现场,看是否能够恢复数据: 分析阶段:对入侵过程进行分析,常见的方法为指纹库搜索.日志 ...

  7. linux上PGI编译器安装

    1.PGI编译器介绍 随着英伟达的收购,PGI编译器已经已经并入NVIDIA HPC SDK.后面直接安装NVIDIA HPC SDK即可. NVIDIA HPC SDK提供了使用标准的C/C++和F ...

  8. 基本base样式

    /* 去除常见标签默认的 margin 和 padding */ body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, input { ma ...

  9. .NET使用P/Invoke来实现注册表的增、删、改、查功能

    注册表可以用来进行存储一些程序的信息,例如用户的权限.或者某些值等,可以根据个人需要进行存储和删减. 当前注册表主目录: 引用包 Wesky.Net.OpenTools 1.0.5或者以上版本 操作演 ...

  10. 第三方调用saltstack

    python api使用 实例及工作原理解析 指定target 函数,命令等等,就可以可以了. [root@mcw01 ~]# python Python 2.7.5 (default, Aug 4 ...