java Java中為什么不設(shè)置一個(gè)函數(shù),讓程序員來標(biāo)記可以被gc回收的變量?
Java中為什么不設(shè)置一個(gè)函數(shù),讓程序員來標(biāo)記可以被gc回收的變量?問這個(gè)問題,簡直了!回答這個(gè)問題,我先講個(gè)小故事:小A努力學(xué)習(xí),就是為了擺脫放羊的苦逼生活,學(xué)有所成后,朋友卻邀請他到澳大利亞買個(gè)農(nóng)
Java中為什么不設(shè)置一個(gè)函數(shù),讓程序員來標(biāo)記可以被gc回收的變量?
問這個(gè)問題,簡直了!
回答這個(gè)問題,我先講個(gè)小故事:
小A努力學(xué)習(xí),就是為了擺脫放羊的苦逼生活,學(xué)有所成后,朋友卻邀請他到澳大利亞買個(gè)農(nóng)場放羊過安逸生活。
如果你想寫,那么完全可以去寫C 。但是實(shí)際的情況卻是不少C 受不了其GC轉(zhuǎn)投java。。。你這是想倒退呀。。。
本來JAVA的gc的好處就有異步集中回收,這簡直就是比手動(dòng)刪除更高效的手段,何必再作繭自縛,自己去弄呢。
Net Core已經(jīng)開源好幾年了, 為什么不像JVM那樣很多人研究和調(diào)優(yōu)其GC算法?
我們已經(jīng)上線了好幾個(gè).net core的項(xiàng)目,基本上都是docker .net core 2/3。說實(shí)話,
.net core的GC非常的優(yōu)秀,基本上不需要像做Java時(shí)候,還要做很多的優(yōu)化。因此沒有多少人研究很正常。換句話,如果一個(gè)GC還要做很多優(yōu)化,這肯定不是好的一個(gè)GC。當(dāng)然平時(shí)編程的時(shí)候,常用的非托管的對象處理等等還是要必須掌握的。
學(xué)技術(shù),學(xué)java好還是C 好,兩個(gè)之間有何區(qū)別啊?
那個(gè)好學(xué),因人而異,差別很大。但一般而言,java要比C 入門難度低一些。想要把兩者學(xué)好的難度差不多。
Java:
其開源生態(tài)鏈體系龐大,各種框架遍布開發(fā)的各個(gè)領(lǐng)域,各種衍生技術(shù)應(yīng)接不暇,業(yè)務(wù)應(yīng)用領(lǐng)域也是無孔不入。但相對C 入門難度低,但學(xué)深學(xué)精難度系數(shù)大,一般沒有三五年的采坑,很難稱為大神。
另外Java和C 不是主要的正面競爭關(guān)系,Java的主要競爭語言有C#、PHP、PYHTON等,因?yàn)橹饕獞?yīng)用領(lǐng)域不一樣。
C :
基本上計(jì)算機(jī)底層都是C/C 的天下,而且C 體系更復(fù)雜,分支更多。除了常規(guī)的開發(fā)桌面程序,只要是對性能、計(jì)算速度等有要求的領(lǐng)域基本都適合C ,應(yīng)用領(lǐng)域更廣闊。但想學(xué)好C ,也需要三五年的功夫。
總結(jié):
一般Java入門相對簡單,但學(xué)深用好很難。
一般C 入門難度相對適中,同樣的,學(xué)深用好很難。
祝學(xué)習(xí)順利!