.NET Core是以MIT协议开源, Java是GPL协议开源。Java 8 SDK升级Oracle要收费这件事对于很多小公司是有着重大的影响的,Java生态越发碎片化,有众多的OpenJDK发行版,腾讯云和阿里都有OpenJDK发行版,龙芯也有MIPS版本的OpenJDK,华为也有毕昇 JDK ,国外的OpenJDK版本就更多了,就连微软也发行了一个OpenJDK版本。每个厂家都有自己的小算盘,比如华为的毕昇 JDK 一方面展示了华为对 JDK 生态的思考重点 —— 基于 ARM 架构进行优化,使之成为 openEuler 基础软件软件生态的一部分 。这种碎片化的生态,最终都会反哺 OpenJDK,从促进 Java 生态更加健康繁荣的发展。OpenJDK 的各大厂商收敛到一起比较困难。

相比之下 dotnet的生态的一致性越来越好,微软2014年决定开源dotnet的时候,就预先为dotnet生态的发展的一致性设计好了上层建筑-.NET基金会,将.NET采用MIT/Apache 2协议进行开源,相关的知识产权和专利归属.NET基金会。 微软在2016年把Xamarin收购了,相关技术同样开源了贡献给.NET基金会,2014年以来已经有众多知名公司加入.NET基金会, 仅在平台项目中,.NET平台上有87%贡献者其实不在Microsoft工作。 2019年 AWS也加入了支持.NET 基金会,.NET开源生态系统中越来越多的行业领导者,这些成员包括Microsoft,Google,Red Hat,JetBrains,Unity,三星,Pivotal,Insight和Telerik,AWS等公司。

.NET 的ARM架构的支持工作是由三星研发支持完成的,三星和华为一样同属于ARM阵营, 三星在.NET基金会的框架下对.NET 的ARM架构的优化工作都能够在同一个代码库里完成,而不是像OpenJDK那样的碎片化。 .NET能够保证充分的收敛,这对于.NET生态的每一个人来说都是好事情。从ARM 架构的优化来说非常能够体现出.NET的社区发展非常健康,.NET Core 2.x支持ARM32, 在.NET Core 3.1支持了ARM64, 在最新的.NET 5里对ARM的性能方面又有极大的提升,具体可以参见.NET团队的博客文章 .NET 5中的ARM64性能。龙芯积极投入研发力量支持 .NET ,龙芯支持了计算机上运行应用程序的动态虚拟机Java、Javascript、.NET三大虚拟机,龙芯还正在开发一套指令翻译系统,可以将其他指令集翻译成Loongarch指令兼容X86,ARM,MIPS。龙芯对.NET 的支持的研发模式也是采用社区模式,他们和.NET团队有很好的协作,他们目前正在移植.NET Core 3.1版本,将来他们也会进入同一个代码库dotnet/runtime, 整个.NET生态的一致性非常好。

Java生态碎片化和.NET生态的一致性形成鲜明对比,随着时间的车轮滚滚向前,具有统一架构的.NET优势会越发明显,我们的未来是光明的,从最近的编程语言排行榜的趋势上可以看出来,Java在不断的向下走,C#/VB.NET等.NET生态语言在向上走,附图TIOBE编程语言排行榜趋势图。

Java 生态碎片化 和 .NET生态的一致性的更多相关文章

  1. NGK公链:去中心化交易+挖矿生态体系共舞

    NGK生态公链是一个安全.透明.专业的去中心化商业应用平台.作为一条具有技术信任甚至是公众信任的公链,NGK以区块链技术为支撑,利用区块链透明.公正.公开.数据不可篡改.分布式存储.可追溯等技术优势, ...

  2. 碎片化时代:O2O服务成最大趋势

    从86年第一封电子E-Mail发出至今28个年头,中国互联网从单一点对点,点对多,多对多,如今又回归到点对点,从最基础的Mail.黄页应用到基于互动的Search.Blog以及基于满足人类基本需求的沟 ...

  3. Android学习笔记(四)之碎片化Fragment实现仿人人客户端的侧边栏

    其实一种好的UI布局,可以使用户感到更加的亲切与方便.最近非常流行的莫过于侧边栏了,其实我也做过很多侧边栏的应用,但是那些侧边栏的使用我 都不是很满意,现在重新整理,重新写了一个相对来说我比较满意的侧 ...

  4. [No000034]知乎-长期接收碎片化知识有什么弊端?

    你所接受的一切信息,构成了你的思维方式. 所以,长期接受碎片信息的后果,就是让你的思维变得狭隘,难以进行复杂的思考. 碎片信息通常具备这样的特征: •它们往往是一些事实的集合而非逻辑 •它们往往大量简 ...

  5. 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿

    腾讯优测是专业的android自动化测试平台,拥有上千款真机,彻底解决android碎片化问题! 这里我要说的不是闪光灯的硬件特征,也不是说底层驱动的原理,我只是跟大家聊一聊在项目中遇到的一些关于闪光 ...

  6. 程序员MM的自白:磨人小妖精之安卓碎片化

    文/腾讯优测 章婉霞 除了crash问题,Android平台的碎片化越来越受到移动开发的关注,且不谈支持Android系统的移动设备早已过万款,屏幕.品牌以及传感器等方面的碎片化问题也困扰着开发者. ...

  7. Java图像灰度化的实现过程解析

    概要 本文主要介绍了灰度化的几种方法,以及如何使用Java实现灰度化.同时分析了网上一种常见却并不妥当的Java灰度化实现,以及证明了opencv的灰度化是使用“加权灰度化”法 24位彩色图与8位灰度 ...

  8. Android 的平台碎片化问题

    Android 的平台碎片化问题 看到篇不错的文章,转载过来. -------------------------------------- 与iOS开发相比,Android开发平添了不小的工作量,因 ...

  9. 计算机内存碎片(中)——外部碎片化(内存 & 文件系统 & 数据库系统通杀)

    本文原创为freas_1990,转载请标明出处:http://blog.csdn.net/freas_1990/article/details/17252221 外部碎片化 当计算机内存被划分成很细碎 ...

随机推荐

  1. Lua索引、伪索引、引用

    索引:堆栈的索引 伪索引:一个类似于索引,但是有着特殊存储的索引,使用方式和索引一样,看上去像在操作堆栈 引用:LUA_REGISTRYINDEX伪索引下的表的整数键

  2. 白嫖码云Pages,两分钟的事,就能搭个百度能搜到的个人博客平台

    为了攒点钱让女儿做个富二代(笑),我就没掏钱买服务器,白嫖 GitHub Pages 搭了一个博客平台.不过遗憾的是,GitHub Pages 只能被谷歌收录,无法被百度收录,这就白白损失了一大波流量 ...

  3. Django模型验证器详解和源码分析

    转发请注明来源 在Django的模型字段参数中,有一个参数叫做validators,这个参数是用来指定当前字段需要使用的验证器,也就是对字段数据的合法性进行验证,比如大小.类型等. Django的验证 ...

  4. Splay 记录

    luogu 模板 P3391 [模板]文艺平衡树(Splay). 知识点:1.splay模板题,练习splay,rotate顺序:x变成z的儿子,x的一个儿子变为y的一个儿子(具体哪个看代码),y变为 ...

  5. Solon详解(三)- Solon的web开发

    Solon详解系列文章: Solon详解(一)- 快速入门 Solon详解(二)- Solon的核心 Solon详解(三)- Solon的web开发 Solon详解(四)- Solon的事务传播机制 ...

  6. String字符串的最大长度是多少?

    在学习和开发过程中,我们经常会讨论 short ,int 和 long 这些基本数据类型的取值范围,但是对于 String 类型我们好像很少注意它的"取值范围".那么对于 Stri ...

  7. CentOS如何设置IP连接网络

    1.登录系统,进入:cd /etc/sysconfig/network-scripts 目录下,如下图: 找到 ifcfg-ens33(文件) 第二步:使用vi编辑器打开ifcfg-ens33文件,使 ...

  8. composer browse 查看包的存储库和主页

    composer browse 用于打开或查看包的存储库和主页 1. 使用示例 browse 命令官方手册:https://getcomposer.org/doc/03-cli.md#browse-h ...

  9. jzoj 6797. 【2014广州市选day2】hanoi

    Description 你对经典的hanoi塔问题一定已经很熟悉了.有三根柱子,n个大小不一的圆盘,要求大盘不能压在小盘上,初始时n个圆盘都在第一根柱子上,最少要多少步才能挪到最后一根柱子上? 现在我 ...

  10. 浅谈Charles —— 青花瓷

    Charles -- 青花瓷 网络抓包工具 可以拦截 iPhone/Android 手机中 App 的非加密网络请求数据 使用 手机&电脑在同一个局域网 确保电脑能够通过路由器访问互联网 电脑 ...