j***a core语言,j***a-core

kodinid 15 0

大家好,今天小编关注到一个比较意思的话题,就是关于java core语言问题,于是小编就整理了2个相关介绍Java core语言的解答,让我们一起看看吧。

  1. Net Core已经开源好几年了, 为什么不像JVM那样很多人研究和调优其GC算法?
  2. “.Net Core” 能令微软的“.Net ”迎来转机吗?

net Core已经开源好几年了, 为什么不像JVM那样很多人研究和调优其GC算法

简单没有关键业务跑在 Net core 上。

曾经,jd 业务用 .net,但几年后就全换成 J***a 了。这足以说明问题了。

java core语言,java-core-第1张图片-安济编程网
图片来源网络,侵删)

像 zhihu 这种小厂,开始python,业务量大了之后就转 golang ,而不是转 net core 。足以说明问题了。

有人说,netcore 如何如何好,根本不用自己优化……。实际上根本没达到极限,不到优化的时候。

net 比J***a封装的好太多了,一般用不到你自己去优化,记得VS2008时出了微软自己的J***a版本 结果性能吊打原生sun的,马上就被告了,然后这个微软版本的就结束

java core语言,java-core-第2张图片-安济编程网
(图片来源网络,侵删)

不只是netcore,golang,rust等等很多语言都没有好多人研究gc,所以这个问题应该问,为什么jvm会有很多人研究。

简单的回答是,jvm的历史负担太沉重,J***a社区对jvm的改进十分的保守,新的特性必须要保持向下兼容,导致只能从gc入手优化性能。而netcore不一样,微软主导的netcore社区对clr的改进激进的多,新特性很多情况下是不会向下兼容的,性能优化可以在clr中解决掉,自然就不会过多关注gc了

首先.net的原装GC一直都不错。流畅到可以支持3D游戏开发。所以不怎么需要调优。要知道文章多不用不一定是好事,95%的技术文章其实只不过是要解决一个BUG而已。其次的语法运行时也好,对GC的压力小很多。比如范性支持基本类型,这样List<int>之类的结构,是整体分配和释放的。而某蛙就需要每个元素拆箱装箱。慢死,对GC来说也要算更多的引用链。此外C#还支持matrx4x4之类的SIMD数据类型。也是提高运行速度和减少GC的好东西

java core语言,java-core-第3张图片-安济编程网
(图片来源网络,侵删)

这似乎挺正常的,如同它购买了GitHub后,众开源项目就纷纷迁移GH。开源社区普遍不信任微软,其意定非在开源本身。.Net 开源估计也是市场占有率在降,没人真心愿意用它。

“.Net Core” 能令微软的“.Net ”迎来转机吗?

先说下结论,可以的。

一个公司选择用什么语言,首先考虑的是能否解决问题,其次就是经济问题。

说到.Net不外乎就是与J***a对比,J***a能做的事情,.Net都是可以满足的。

但为什么.Net市场份额为什么比J***a少呢,除了J***a早发布,预先占领一部分市场外。

最重要的原因是,.Net之前不支持跨平台,毕竟服务器成本是非常高的。

.Net Core发布后,就不存在跨平台的问题了。

.Net马上就能替换J***a了吗?

这也是不现实的,一个项目的成本的由多方面组成的:开发难度服务器成本、人才成本等等。

早期已经用J***a开发的项目或者公司,基本还是会用J***a继续开发的,毕竟换一批人是不现实的,也是不靠谱的。

但是新项目、新公司,就有可能考虑使用.Net,毕竟.Net支持平台众多、开发效率高。

不能“转机”,只能活下来。

.NET Core 转向了跨平台,要不然就死定了。即使这样,一也很难改变“.NET Framework 只能运行在Windows”的固有印象。

到此,以上就是小编对于j***a core语言的问题就介绍到这了,希望介绍关于j***a core语言的2点解答对大家有用。

标签: Net j***a 微软