大家好,今天小编关注到一个比较有意思的话题,就是关于java core语言的问题,于是小编就整理了2个相关介绍Java core语言的解答,让我们一起看看吧。
net Core已经开源好几年了, 为什么不像JVM那样很多人研究和调优其GC算法?
曾经,jd 业务用 .net,但几年后就全换成 J***a 了。这足以说明问题了。
像 zhihu 这种小厂,开始用 python,业务量大了之后就转 golang ,而不是转 net core 。足以说明问题了。
有人说,netcore 如何如何好,根本不用自己优化……。实际上根本没达到极限,不到优化的时候。
net 比J***a封装的好太多了,一般用不到你自己去优化,记得VS2008时出了微软自己的J***a版本 结果性能吊打原生sun的,马上就被告了,然后这个微软版本的就结束了
不只是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的好东西
这似乎挺正常的,如同它购买了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点解答对大家有用。