最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

.net開發(fā)中幾個(gè)重要的認(rèn)識(shí)誤區(qū)小結(jié)

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:43:20
文檔

.net開發(fā)中幾個(gè)重要的認(rèn)識(shí)誤區(qū)小結(jié)

.net開發(fā)中幾個(gè)重要的認(rèn)識(shí)誤區(qū)小結(jié):一、.net程序再運(yùn)行一次就會(huì)更快 許多人對此的解釋是:.net程序第一次運(yùn)行時(shí)會(huì)被編譯成本地代碼,所以再次運(yùn)行會(huì)更快。但遺憾的是,其實(shí)每次運(yùn)行,那些IL都會(huì)被翻譯一次,不會(huì)保留下來。所以并不會(huì)變快。但為什么有時(shí)候真的覺得快了呢?其實(shí)所有程序都是這樣
推薦度:
導(dǎo)讀.net開發(fā)中幾個(gè)重要的認(rèn)識(shí)誤區(qū)小結(jié):一、.net程序再運(yùn)行一次就會(huì)更快 許多人對此的解釋是:.net程序第一次運(yùn)行時(shí)會(huì)被編譯成本地代碼,所以再次運(yùn)行會(huì)更快。但遺憾的是,其實(shí)每次運(yùn)行,那些IL都會(huì)被翻譯一次,不會(huì)保留下來。所以并不會(huì)變快。但為什么有時(shí)候真的覺得快了呢?其實(shí)所有程序都是這樣

一、.net程序再運(yùn)行一次就會(huì)更快

許多人對此的解釋是:.net程序第一次運(yùn)行時(shí)會(huì)被編譯成本地代碼,所以再次運(yùn)行會(huì)更快。但遺憾的是,其實(shí)每次運(yùn)行,那些IL都會(huì)被翻譯一次,不會(huì)保留下來。所以并不會(huì)變快。但為什么有時(shí)候真的覺得快了呢?其實(shí)所有程序都是這樣,這是Windows再為你緩存用過的組件。真正需要CPU時(shí)間的程序,多運(yùn)行是不會(huì)加快速度的。

二、.net程序運(yùn)行起來一定很慢

由于存在IL被翻譯成本地代碼的過程,.net程序的確要消耗一部分時(shí)間。但是.net程序仍然具有很高的效率,這一點(diǎn)許多Java虛擬機(jī)都比不上,這是為什么呢?因?yàn)槎鄶?shù).net程序內(nèi)含的代碼很少,幾乎都是調(diào)用.net Framework中的類庫,而這些類庫在.net Framework安裝的時(shí)候全部編譯成為本機(jī)優(yōu)化的本地碼,并保存在程序集緩存里面。有了這個(gè)程序集緩存,你程序事實(shí)上的大部分已經(jīng)是高效的本地代碼,所以當(dāng)然快了。但是,如果你進(jìn)行大量數(shù)值計(jì)算類的操作,還是能夠感到第一次運(yùn)算的速度明顯下降。所以建議大家將計(jì)算密集型的程序分離出來,編譯成本地代碼并保存在程序集緩存中,以后使用起來就很快了。

三、C#比VB.net快,功能更強(qiáng)大

必須得承認(rèn),C#編譯器和VB.net編譯器在處理某些細(xì)節(jié)上確實(shí)有些不同,導(dǎo)致兩者編譯功能類似的程序效率通常會(huì)有差異。但對于一個(gè)編制完整的項(xiàng)目,是不會(huì)有任何差別的。原因是首先VB.net編譯器并沒有比C#有實(shí)質(zhì)上的缺陷,其次大部分代碼都是.net Framework類庫中的代碼,兩者調(diào)用起來沒有差別。至于C#比VB.net功能強(qiáng)大,這牽扯到心理學(xué)問題。VB并不比C#差,也沒有“語法混亂”、“為了兼容而設(shè)計(jì)”之類傳說中的毛病。用VB.net一樣可以寫出出色的、結(jié)構(gòu)完美的應(yīng)用程序。而且VB.net也是Visual Studio.net唯一的宏語言。

這里面還有一個(gè)問題,著名的Linux下的.net——Mono中是否只支持C#?當(dāng)然不是,用VB.net開發(fā)出的程序一樣可以在Mono中正確運(yùn)行。而且最新的Mono將包含Mono Basic語言,這樣,掌握VB.net語法的人,就可以完全在Linux等系統(tǒng)下開發(fā)。

四、微軟只想推廣C#,他想放棄VB.net

不要聽信杞人憂天的話。微軟無時(shí)無刻不在推廣VB.net上用心。MSDN上關(guān)于.net開發(fā)的文章,用VB.net做例子的比用C#還要多。微軟還專門推出VB技術(shù)節(jié)目——VBTV,幫助開發(fā)者更好地了解VB.net。微軟在列出Visaual Studio中的開發(fā)工具時(shí),Visual Basic總是排在第一個(gè)——這是微軟5年來的傳統(tǒng)。所以擔(dān)心VB.net會(huì)被淘汰的人,現(xiàn)在該松口氣了。

五、微軟用.net對抗Java,所以我也要支持.net,反對Java

千萬不要有這種想法,MS當(dāng)然想占領(lǐng)Java的市場,Sun當(dāng)然不愿意,但這不關(guān)你的事。哪一方贏了你都不會(huì)有實(shí)質(zhì)上的好處。還是兩個(gè)都學(xué)吧。與其在網(wǎng)上挑起爭論,不如多學(xué)一個(gè)本事,你馬上就會(huì)看到回報(bào)的。

好了,從下一次開始,將著重介紹技術(shù)上的誤區(qū)。祝大家好運(yùn)。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

.net開發(fā)中幾個(gè)重要的認(rèn)識(shí)誤區(qū)小結(jié)

.net開發(fā)中幾個(gè)重要的認(rèn)識(shí)誤區(qū)小結(jié):一、.net程序再運(yùn)行一次就會(huì)更快 許多人對此的解釋是:.net程序第一次運(yùn)行時(shí)會(huì)被編譯成本地代碼,所以再次運(yùn)行會(huì)更快。但遺憾的是,其實(shí)每次運(yùn)行,那些IL都會(huì)被翻譯一次,不會(huì)保留下來。所以并不會(huì)變快。但為什么有時(shí)候真的覺得快了呢?其實(shí)所有程序都是這樣
推薦度:
標(biāo)簽: 中的 了解 net
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top