对于大部分商业应用开发程序员而言,使用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. WPF 通过 RawInput 获取触摸消息

    触摸在 Windows 下属于比较特殊的输入,不同于键盘和鼠标,键盘和鼠标可以通过全局 Hook 的方式获取到鼠标和键盘的输入消息.而触摸则没有直接的 Hook 的方法.如果期望自己的应用,可以在没有 ...

  2. K8s集群中部署SpringCloud在线购物平台(一)

    一.安装k8s高可用集群 主机名 IP 配置 网络 master控制节点 192.168.10.10 centos 7.9 4核4G 桥接 node1工作节点 192.168.10.11 centos ...

  3. Pod进阶篇:污点-容忍度-亲和性-Affinity-调度(5)

    一.Pod资源清单详细解读 apiVersion: v1 #版本号,例如 v1 kind: Pod #资源类型,如 Pod metadata: #元数据 name: string # Pod 名字 n ...

  4. pandas:时间序列数据的周期转换

    时间序列数据是数据分析中经常遇到的类型,为了更多的挖掘出数据内部的信息,我们常常依据原始数据中的时间周期,将其转换成不同跨度的周期,然后再看数据是否会在新的周期上产生新的特性. 下面以模拟的K线数据为 ...

  5. DNS(1) -- DNS服务及dns资源类型

    目录 1.1 DNS服务概述 1.2 DNS域名结构 1.3 DNS解析原理 1.3.1 DNS查询类型 1.3.2 解析答案 1.4 DNS资源记录类型 1.1 DNS服务概述 DNS(Domain ...

  6. 5G MEC 之本地分流实现方式

    目录 文章目录 目录 前言 LADN ULCL IPv6 Multi-homing(BP) 典型应用场景 前言 最近同事发表了一片非常棒的文章,笔者在此之上进行了补充,转发至此与大家分享. 本地分流作 ...

  7. 4G EPS 中的消息类型

    目录 文章目录 目录 消息 MIB(主消息块) SIBs(多个系统消息块) 系统消息的映射和调度 系统信息的更改通知 消息 LTE 的系统消息是蜂窝网络与 UE 互相交互的与 LTE 系统相关的.特殊 ...

  8. uniapp-vue3-oadmin手机后台实例|vite5.x+uniapp多端仿ios管理系统

    原创vue3+uniapp+uni-ui跨端仿ios桌面后台OA管理模板Uni-Vue3-WeOS. uniapp-vue3-os一款基于uni-app+vite5.x+pinia等技术开发的仿ios ...

  9. 使用IDEA导入MyBatis源码进行调试

    一. 下载源码 GitHub地址:https://github.com/mybatis/mybatis-3 复制上面的地址执行下列命令: git clone https://github.com/my ...

  10. 记一次Idea无法打开记录(idea升级)

    记一次Idea无法打开记录 前言,本来今天是打算升级Idea,然后体验一波的,结果升级完之后,发现无法打开idea(双击之后并没有任何打开的反应). 原因排查,打开idea所在目录,找到idea.ba ...