Web開發(fā)中如何提高頁面的顯示速度?
假如一個(gè)頁面的加載時(shí)間是10.89s,你會(huì)用什么樣的方式進(jìn)行優(yōu)化晓勇?
- 首先要找出問題所在呜魄,是服務(wù)器端運(yùn)行的速度慢,還是服務(wù)器端到客戶端的下載慢构韵,還是頁面在瀏覽器的加載速度慢?
- 如果是服務(wù)器端運(yùn)行速度慢周蹭,則找是數(shù)據(jù)庫的原因還是算法的問題。
- 如果是數(shù)據(jù)庫的問題則嘗試添加索引疲恢、優(yōu)化 SQL 語句凶朗。
- 如果是算法的問題,則優(yōu)化算法显拳。
- 如果對(duì)于一些不經(jīng)常改動(dòng)的頁面可以使用靜態(tài)頁技術(shù)棚愤。
- 對(duì)于一些數(shù)據(jù)不需要及時(shí)更新的而且取數(shù)據(jù)的過程非常耗時(shí)可以使用緩存。
- 頁面中的內(nèi)容可以按需加載(當(dāng)用戶需要看的時(shí)候再加載其內(nèi)容)杂数,可以在圖片需要顯示的時(shí)候再進(jìn)行加載(瀑布流)宛畦。
- 如果是服務(wù)器端到客戶端的下載慢,則看是頁面體積過于臃腫還是網(wǎng)絡(luò)問題揍移。
- 如果是頁面體積過于臃腫次和,則優(yōu)化 HTML 代碼,去掉無用的標(biāo)簽羊精,壓縮 JS斯够、CSS,可以用 CSS Spirit 技術(shù)將多個(gè)圖片放到一個(gè)圖片中喧锦,減少向服務(wù)器的請(qǐng)求读规。
- 如果是網(wǎng)絡(luò)問題,則嘗試在不同的網(wǎng)絡(luò)燃少、地區(qū)部署服務(wù)器束亏,然后使用 CDN 技術(shù)加速訪問。
- 如果是頁面中的 JavaScript 運(yùn)行復(fù)雜導(dǎo)致運(yùn)行速度慢阵具,則優(yōu)化 JavaScript碍遍。
編寫代碼定铜,在控制臺(tái)畫出由“*”號(hào)組成的N行倒三角形圖案。
要求:輸入倒三角的行數(shù)怕敬,函數(shù)的取值在3到21之間揣炕,對(duì)于非法的行數(shù),要求拋出”非法行數(shù)“东跪。 ******* ***** *** *
int line; Console.WriteLine("請(qǐng)輸入倒三角形的行數(shù),取值在3-21之間:"); line = Convert.ToInt32(Console.ReadLine()); if (3 <= Line && Line <= 21) { for (int idx = 1; idx <= Line; idx++) { for (int idx2 = 0; idx2 <= idx; idx2++) { Console.Write(" "); } for (int idx3 = ((Line - idx + 1) * 2 - 1); idx3 >= 0; idx3--) { if (idx3 == 0) Console.Write("\n"); else Console.Write("*"); } } } else { Console.WriteLine("非法行數(shù)!\n"); }
short s=1;s=s+1;有錯(cuò)嗎畸陡?short s=1;s+=1;有錯(cuò)嗎?
- 第一個(gè)有錯(cuò)虽填,因?yàn)?是int類型丁恭,int+short結(jié)果是int,無法隱式轉(zhuǎn)換斋日,改為s = (short)(s + 1);就可以了牲览。
- 第二個(gè)沒錯(cuò),經(jīng)過反編譯發(fā)現(xiàn)編譯器自動(dòng)優(yōu)化成s = (short)(s + 1);