{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

Net Core已經開源好幾年了, 為什么不像JVM那樣很多人研究和調優其GC算法?

ZweiZhaoZweiZhao 回答0 收藏1
收藏問題

10條回答

Charlie_Jade

Charlie_Jade

回答于2022-06-28 12:10

我們已經上線了好幾個.net core的項目,基本上都是docker+.net core 2/3。說實話,

.net core的GC非常的優秀,基本上不需要像做Java時候,還要做很多的優化。因此沒有多少人研究很正常。換句話,如果一個GC還要做很多優化,這肯定不是好的一個GC。當然平時編程的時候,常用的非托管的對象處理等等還是要必須掌握的。

評論0 贊同0
  •  加載中...
skinner

skinner

回答于2022-06-28 12:10

這和國內的開發環境有很大關系。

一方面,這里有個路徑依賴的問題,這個問題在國內尤為突出。這幾年,國內其他語言的開發者多一些,生態好一些,轉換則意味著成本。

另一方面,浮躁之風過盛,拿來主義盛行。這里舉兩個例子來說明。一個是國產操作系統的內核問題。為什么要使用linux內核而不是重新寫一個呢?給出的理由無非是linux生態好,穩定,沒有必要進行重復制作。真的沒必要嗎?那國外為什么流行要用rust重新寫幾個,而且開源呢?“沒必要”是假,“不想”才是真,畢竟基礎建設周期長,成本高,沒有拿來主義好呀。另一個例子是最近matlab在國內停止授權的事情。在這件事情上,很多人都覺得問題不大,問題不大的原因在于還有一個開源的scilab可以拿來用。

舉這兩個例子,也許不太妥切,但是,管中窺豹,略見一斑,也足以說明時下的浮躁氛圍了。

既然這里說到net core底層問題,今年新出的《.NET Core底層入門》,也許值得一讀。這是國內的研究者寫的,從中可以看出國內在這方面的進展,也說不定。總而言之,雖然net core已經開源了幾年,但是在國內,開發者的成長和生態的建設,還需要更長的時間。

評論0 贊同0
  •  加載中...
2450184176

2450184176

回答于2022-06-28 12:10

因為不需要,java就像半成品,無論是語法 編譯器 等等,要是沒有spring系列,估計那些996早就變成了007了。

評論0 贊同0
  •  加載中...
tianyu

tianyu

回答于2022-06-28 12:10

微軟的產品化能力是有目共睹的,.net比起JAVA體系,更加完善,包括產品本身和后期的維護都比JAVA好,所以商業化項目最好還是用. net平臺。

評論0 贊同0
  •  加載中...
chemzqm

chemzqm

回答于2022-06-28 12:10

這似乎挺正常的,如同它購買了GitHub后,眾開源項目就紛紛遷移GH。開源社區普遍不信任微軟,其意定非在開源本身。.Net 開源估計也是市場占有率在降,沒人真心愿意用它。

評論0 贊同0
  •  加載中...
mgckid

mgckid

回答于2022-06-28 12:10

java生態太厲害了

評論0 贊同0
  •  加載中...
rickchen

rickchen

回答于2022-06-28 12:10

不只是netcore,golang,rust等等很多語言都沒有好多人研究gc,所以這個問題應該問,為什么jvm會有很多人研究。

簡單的回答是,jvm的歷史負擔太沉重,Java社區對jvm的改進十分的保守,新的特性必須要保持向下兼容,導致只能從gc入手優化性能。而netcore不一樣,微軟主導的netcore社區對clr的改進激進的多,新特性很多情況下是不會向下兼容的,性能優化可以在clr中解決掉,自然就不會過多關注gc了

評論0 贊同0
  •  加載中...
li21

li21

回答于2022-06-28 12:10

.net core,哪里還需要什么GC優化?那是jvm天生缺陷導致的問題。.net 5再性能上更進一步,只要你的程序不是寫得稀爛,根本不用操心底層運行時的性能會出問題。

不能用jvm的眼光看.net,java界已經進入固步自封的狀態,版本更新那么快,實質性的東西并沒有什么突破。而很多公司堅守在java1.6上不放手,實在頑固。

評論0 贊同0
  •  加載中...
liaoyg8023

liaoyg8023

回答于2022-06-28 12:10

優化肯定是需要的,再好的程序都是有優化空間的。只是現在dotnet平臺上目前缺少大型的應用。正常的業務場景下,難以達到框架性能的瓶頸。

dotnet 雖然開源了,但是開源太晚。要是早幾年,在Android興起之前,在大數據興起之前,現在還會是這般場景嗎。眼看著國內的大企業一波波地轉向了Java和其他語言,作為一名dotnet程序員心里是大大的不甘心。

dotnet 在語言層面相比 Java 有太多優勢,Java 新版新增的一些語言特性也都是照抄的 dotnet。但即便是這樣,依然是叫好不叫座。

開源太晚,錯過了幾波行業發展紅利。以至于現在,大數據領域缺 Hadoop,搜索領域缺 Elasticsearch ,移動端雖有xamarin,但依然是雞肋般的存在。要是有這些殺手級應用在,dotnet 生態肯定會繁榮起來,向著更強的方向優化。

還能說什么呢,只能期望即將到來的dotnet 5 能一統現在混亂的局面,發揮好自己的特長,繁榮dotnet的生態環境。

評論0 贊同0
  •  加載中...
Lin_R

Lin_R

回答于2022-06-28 12:10

首先.net的原裝GC一直都不錯。流暢到可以支持3D游戲開發。所以不怎么需要調優。要知道文章多不用不一定是好事,95%的技術文章其實只不過是要解決一個BUG而已。其次C#的語法和運行時設計也好,對GC的壓力小很多。比如范性支持基本類型,這樣List<int>之類的結構,是整體分配和釋放的。而某蛙就需要每個元素拆箱裝箱。慢死,對GC來說也要算更多的引用鏈。此外C#還支持matrx4x4之類的SIMD數據類型。也是提高運行速度和減少GC的好東西

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<