線程與進(jìn)程的區(qū)別
一個(gè)程序至少有一個(gè)進(jìn)程契沫,一個(gè)進(jìn)程至少有一個(gè)線程沛婴。線程的劃分尺度小于進(jìn)程,使得多線程程序的并發(fā)性高督赤。
另外嘁灯,進(jìn)程在執(zhí)行過(guò)程中擁有獨(dú)立的內(nèi)存單元,而多個(gè)線程共享內(nèi)存躲舌,從而極大地提高了程序的運(yùn)行效率丑婿。
線程在執(zhí)行過(guò)程中與進(jìn)程還是有區(qū)別的。每個(gè)獨(dú)立的線程有一個(gè)程序運(yùn)行的入口没卸、順序執(zhí)行序列和程序的出口枯冈。但是線程不能夠獨(dú)立執(zhí)行,必須依存在應(yīng)用程序中办悟,由應(yīng)用程序提供多個(gè)線程執(zhí)行控制。
從邏輯角度來(lái)看滩褥,多線程的意義在于一個(gè)應(yīng)用程序中病蛉,有多個(gè)執(zhí)行部分可以同時(shí)執(zhí)行。但操作系統(tǒng)并沒(méi)有將多個(gè)線程看做多個(gè)獨(dú)立的應(yīng)用瑰煎,來(lái)實(shí)現(xiàn)進(jìn)程的調(diào)度和管理以及資源分配铺然。這就是進(jìn)程和線程的重要區(qū)別。
說(shuō)說(shuō)你對(duì)語(yǔ)義化的理解酒甸?
1:去掉或樣式丟失的時(shí)候能讓頁(yè)面呈現(xiàn)清晰的結(jié)構(gòu):html本身是沒(méi)有表現(xiàn)的魄健,我們看到例如<h1>是粗體,字體大小2em插勤,加粗沽瘦;<strong>是加粗的,不要認(rèn)為這是html的表現(xiàn)农尖,這些其實(shí)html默認(rèn)的css樣式在起作用析恋,所以去掉或樣式丟失的時(shí)候能讓頁(yè)面呈現(xiàn)清晰的結(jié)構(gòu)不是語(yǔ)義化的HTML結(jié)構(gòu)的優(yōu)點(diǎn),但是瀏覽器都有有默認(rèn)樣式盛卡,默認(rèn)樣式的目的也是為了更好的表達(dá)html的語(yǔ)義助隧,可以說(shuō)瀏覽器的默認(rèn)樣式和語(yǔ)義化的HTML結(jié)構(gòu)是不可分割的。
2.屏幕閱讀器(如果訪客有視障)會(huì)完全根據(jù)你的標(biāo)記來(lái)“讀”你的網(wǎng)頁(yè)滑沧。
3.PDA并村、手機(jī)等設(shè)備可能無(wú)法像普通電腦的瀏覽器一樣來(lái)渲染網(wǎng)頁(yè)(通常是因?yàn)檫@些設(shè)備對(duì)CSS的支持較弱)。
4.有利于SEO:和搜索引擎建立良好溝通滓技,有助于爬蟲(chóng)抓取更多的有效信息:爬蟲(chóng)依賴于標(biāo)簽來(lái)確定上下文和各個(gè)關(guān)鍵字的權(quán)重哩牍。
6.便于團(tuán)隊(duì)開(kāi)發(fā)和維護(hù),語(yǔ)義化更具可讀性令漂,是下一步吧網(wǎng)頁(yè)的重要?jiǎng)酉蚪闳裱璚3C標(biāo)準(zhǔn)的團(tuán)隊(duì)都遵循這個(gè)標(biāo)準(zhǔn),可以減少差異化
為什么利用多個(gè)域名來(lái)提供網(wǎng)站資源會(huì)更有效
- 靜態(tài)內(nèi)容和動(dòng)態(tài)內(nèi)容分服務(wù)器存放,使用不同的服務(wù)器處理請(qǐng)求外潜。處理動(dòng)態(tài)內(nèi)容的只處理動(dòng)態(tài)內(nèi)容原环,不處理別的,提高效率处窥,這樣使得CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))緩存更方便
2嘱吗、 突破瀏覽器并發(fā)限制 (你隨便挑一個(gè) G家的 url: https://lh4.googleusercontent.com把前面的 lh4換成 lh3,lh6 啥的,都照樣能夠訪問(wèn)滔驾,像地圖之類(lèi)的需要大量并發(fā)下載圖片的站點(diǎn)谒麦,這個(gè)非常重要。)
3哆致、跨域不會(huì)傳cookie,節(jié)省寬帶绕德;舉例說(shuō)一下:
twitter 的主站 http://twitter.com ,用戶的每次訪問(wèn)摊阀,都會(huì)帶上自己的cookie 耻蛇,挺大的。假如twitter 的圖片放在主站域名下胞此,那么用戶每次訪問(wèn)圖片時(shí)臣咖,request header 里就會(huì)帶有自己的cookie 拗慨,header 里的cookie 還不能壓縮诈唬,而圖片是不需要知道用戶的cookie 的,所以這部分帶寬就白白浪費(fèi)了副渴。
寫(xiě)主站程序時(shí)酣胀,set-cookie 也不要set 到圖片的域名上刁赦。
在小流量的網(wǎng)站,這個(gè)cookie 其實(shí)節(jié)省不了多少帶寬闻镶,當(dāng)流量如facebook twitter 時(shí)截型,節(jié)省下來(lái)就很可觀了。
4.對(duì)于UGC的內(nèi)容和主站隔離儒溉,防止不必要的安全問(wèn)題(上傳js竊取主站cookie之類(lèi)的)宦焦。正是這個(gè)原因要求用戶內(nèi)容的域名必須不是自己主站的子域名,而是一個(gè)完全獨(dú)立的第三方域名顿涣。
5.數(shù)據(jù)做了劃分波闹,甚至切到了不同的物理集群,通過(guò)子域名來(lái)分流比較省事涛碑。這個(gè)可能被用的不多精堕。
PS:關(guān)于Cookie的問(wèn)題,帶寬是次要的蒲障,安全隔離才是主要的歹篓。關(guān)于多域名瘫证,也不是越多越好,雖然服務(wù)器端可以做泛解釋庄撮,瀏覽器做dns解釋也是耗時(shí)間的背捌,而且太多域名,如果要走h(yuǎn)ttps的話洞斯,還有要多買(mǎi)證書(shū)和部署的問(wèn)題毡庆。
請(qǐng)說(shuō)出三種減少頁(yè)面加載時(shí)間的方法。
1.優(yōu)化圖片
2.圖像格式的選擇(GIF:提供的顏色較少烙如,可用在一些對(duì)顏色要求不高的地方)
3.優(yōu)化CSS(壓縮合并css么抗,如margin-top,margin-left...)
4.網(wǎng)址后加斜杠(如www.campr.com/目錄,會(huì)判斷這個(gè)“目錄是什么文件類(lèi)型亚铁,或者是目錄蝇刀。)
5.標(biāo)明高度和寬度(如果瀏覽器沒(méi)有找到這兩個(gè)參數(shù),它需要一邊下載圖片一邊計(jì)算大小徘溢,如果圖片很多吞琐,瀏覽器需要不斷地調(diào)整頁(yè)面。這不但影響速度甸昏,也影響瀏覽體驗(yàn)。當(dāng)瀏覽器知道了高度和寬度參數(shù)后徐许,即使圖片暫時(shí)無(wú)法顯示施蜜,頁(yè)面上也會(huì)騰出圖片的空位,然后繼續(xù)加載后面的內(nèi)容雌隅。從而加載時(shí)間快了翻默,瀏覽體驗(yàn)也更好了。)
6.減少http請(qǐng)求(合并文件恰起,合并圖片)修械。
如果你參與到一個(gè)項(xiàng)目中,發(fā)現(xiàn)他們使用Tab來(lái)縮進(jìn)代碼检盼,但是你喜歡空格肯污,你會(huì)怎么做?
- 建議這個(gè)項(xiàng)目使用像EditorConfig(http://editorconfig.org/)之類(lèi)的規(guī)范
- 為了保持一致性吨枉,接受項(xiàng)目原有的風(fēng)格
- 直接使用VIM的retab命令
什么是FOUC(無(wú)樣式內(nèi)容閃爍)蹦渣?你如何來(lái)避免FOUC?
FOUC(Flash Of Unstyled Content)--文檔樣式閃爍
<style type="text/css"media="all">@import"../fouc.css";</style>而引用CSS文件的@import就是造成這個(gè)問(wèn)題的罪魁禍?zhǔn)酌餐ぁE會(huì)先加載整個(gè)HTML文檔的DOM柬唯,然后再去導(dǎo)入外部的CSS文件,因此圃庭,在頁(yè)面DOM加載完成到CSS導(dǎo)入完成中間會(huì)有一段時(shí)間頁(yè)面上的內(nèi)容是沒(méi)有樣式的锄奢,這段時(shí)間的長(zhǎng)短跟網(wǎng)速失晴,電腦速度都有關(guān)系。解決方法簡(jiǎn)單的出奇拘央,只要在<head>之間加入一個(gè)<link>或者<script>元素就可以了涂屁。
doctype(文檔類(lèi)型)的作用是什么?你知道多少種文檔類(lèi)型堪滨?
此標(biāo)簽可告知瀏覽器文檔使用哪種HTML或XHTML規(guī)范胯陋。該標(biāo)簽可聲明三種DTD類(lèi)型,分別表示嚴(yán)格版本袱箱、過(guò)渡版本以及基于框架的HTML文檔遏乔。
HTML 4.01規(guī)定了三種文檔類(lèi)型:Strict、Transitional以及Frameset发笔。
XHTML 1.0規(guī)定了三種XML文檔類(lèi)型:Strict盟萨、Transitional以及Frameset。
Standards(標(biāo)準(zhǔn))模式(也就是嚴(yán)格呈現(xiàn)模式)用于呈現(xiàn)遵循最新標(biāo)準(zhǔn)的網(wǎng)頁(yè)了讨,而Quirks(包容)模式(也就是松散呈現(xiàn)模式或者兼容模式)用于呈現(xiàn)為傳統(tǒng)瀏覽器而設(shè)計(jì)的網(wǎng)頁(yè)捻激。
在js中如何判斷當(dāng)前瀏覽器正在以何種方式解析?
document對(duì)象有個(gè)屬性compatMode,它有兩個(gè)值:BackCompat對(duì)應(yīng)quirks mode(怪異模式)前计,CSS1Compat對(duì)應(yīng)strict mode胞谭。
使用XHTML的局限有哪些?
XHTML 與HTML的區(qū)別為:
XHTML 元素必須被正確地嵌套男杈。
XHTML 元素必須被關(guān)閉丈屹。
標(biāo)簽名必須用小寫(xiě)字母。
XHTML 文檔必須擁有根元素伶棒。
如果網(wǎng)頁(yè)內(nèi)容需要支持多語(yǔ)言旺垒,你會(huì)怎么做?
下面這些問(wèn)題需要考慮:
應(yīng)用字符集的選擇肤无,選擇UTF-8編碼
語(yǔ)言書(shū)寫(xiě)習(xí)慣&導(dǎo)航結(jié)構(gòu)
數(shù)據(jù)庫(kù)驅(qū)動(dòng)型網(wǎng)站
data-屬性的作用是什么先蒋?
data-* 屬性用于存儲(chǔ)頁(yè)面或應(yīng)用程序的私有自定義數(shù)據(jù)。data-* 屬性賦予我們?cè)谒?HTML 元素上嵌入自定義 data 屬性的能力宛渐。存儲(chǔ)的(自定義)數(shù)據(jù)能夠被頁(yè)面的 JavaScript 中利用竞漾,以創(chuàng)建更好的用戶體驗(yàn)(不進(jìn)行 Ajax 調(diào)用或服務(wù)器端數(shù)據(jù)庫(kù)查詢)。
data-* 屬性包括兩部分:
屬性名不應(yīng)該包含任何大寫(xiě)字母窥翩,并且在前綴 "data-" 之后必須有至少一個(gè)字符
屬性值可以是任意字符串
如果把HTML5看作做一個(gè)開(kāi)放平臺(tái)畴蹭,那它的構(gòu)建模塊有哪些?
<nav>,<header>,<section>,<footer>等鳍烁。
列舉不同的清除浮動(dòng)的技巧叨襟,并指出它們各自適用的使用場(chǎng)景。
1.使用空標(biāo)簽清除浮動(dòng)幔荒。這種方法是在所有浮動(dòng)標(biāo)簽后面添加一個(gè)空標(biāo)簽定義css clear:both.弊端就是增加了無(wú)意義標(biāo)簽糊闽。
2.使用overflow梳玫。給包含浮動(dòng)元素的父標(biāo)簽添加css屬性overflow:auto;zoom:1;zoom:1用于兼容IE6。
3.使用after偽對(duì)象清除浮動(dòng)右犹。該方法只適用于非IE瀏覽器提澎。具體寫(xiě)法可參照以下示例。使用中需注意以下幾點(diǎn)念链。一盼忌、該方法中必須為需要清除浮動(dòng)元素的偽對(duì)象中設(shè)置height:0,否則該元素會(huì)比實(shí)際高出若干像素掂墓;二谦纱、content屬性是必須的,但其值可以為空君编,content屬性的值設(shè)為”.”跨嘉,空亦是可以的。
4.浮動(dòng)外部元素
討論CSS hacks吃嘿,條件引用或者其他
概述
由于不同的瀏覽器對(duì)于CSS的實(shí)現(xiàn)存在差別祠乃,為了在所有瀏覽器中呈現(xiàn)相同的效果,就需要針對(duì)特定的瀏覽器進(jìn)行特定的處理兑燥。
所以這里面關(guān)鍵的技術(shù)是CSS過(guò)濾器(Css filters)亮瓷,使用CSS過(guò)濾器可以甄別出瀏覽器類(lèi)型,從而為特定瀏覽器編寫(xiě)特定的CSS代碼降瞳。
IE瀏覽器hack
最簡(jiǎn)單的方法是使用條件注釋嘱支,微軟的特定做法:
<!--[if IE 9]>
<style type="text/css">
</style>
<![endif]-->
< !--[if IE]> Only IE <![endif]-->
<!--[if gte IE 7]> IE7以及IE7以上版本可識(shí)別 <![endif]-->
Firefox瀏覽器hack
對(duì)于FF1,2版本力崇,使用body:empty斗塘,對(duì)于所有的FF版本赢织,使用專有擴(kuò)展:-moz亮靴,結(jié)合-document url-prefix(),這是FF擴(kuò)展構(gòu)造器用來(lái)標(biāo)識(shí)FF瀏覽器的方法于置。
/* Firefox 1 - 2 */
body:empty #firefox12
{
color:blue;
}
/* Firefox */
@-moz-document url-prefix()
{
#firefox { color:blue; }
}
Safari瀏覽器hack
Safari和FF一樣茧吊,使用CSS專有擴(kuò)展,-webkit八毯。
/* Safari */
@media screen and (-webkit-min-device-pixel-ratio:0)
{
#safari { color:blue; }
}
body:first-of-type(1) .safari{
color:#ff0000;
}
如何視覺(jué)隱藏網(wǎng)頁(yè)內(nèi)容搓侄,只讓它們?cè)谄聊婚喿x器中可用?
1.display:none;的缺陷
搜索引擎可能認(rèn)為被隱藏的文字屬于垃圾信息而被忽略
屏幕閱讀器(是為視覺(jué)上有障礙的人設(shè)計(jì)的讀取屏幕內(nèi)容的程序)會(huì)忽略被隱藏的文字话速,同時(shí)不利于搜索引擎讶踪。
- visibility: hidden ;的缺陷
這個(gè)大家應(yīng)該比較熟悉就是隱藏的內(nèi)容會(huì)占據(jù)他所應(yīng)該占據(jù)物理空間
3.overflow:hidden;一個(gè)比較合理的方法
.texthidden {
display:block;
/*統(tǒng)一轉(zhuǎn)化為塊級(jí)元素*/
overflow: hidden;
width: 0;
height: 0;
}
就像上面的一段CSS所展示的方法,將寬度和高度設(shè)定為0泊交,然后超過(guò)部分隱藏乳讥,就會(huì)彌補(bǔ)上述一柱查、二方法中的缺陷,也達(dá)到了隱藏內(nèi)容的目的云石。
你熟悉SVG樣式的書(shū)寫(xiě)嗎唉工?
SVG 意為可縮放矢量圖形(Scalable Vector Graphics)。
什么是SVG汹忠?
SVG 指可伸縮矢量圖形 (Scalable Vector Graphics)
SVG 用來(lái)定義用于網(wǎng)絡(luò)的基于矢量的圖形
SVG 使用 XML 格式定義圖形
SVG 圖像在放大或改變尺寸的情況下其圖形質(zhì)量不會(huì)有所損失
SVG 是萬(wàn)維網(wǎng)聯(lián)盟的標(biāo)準(zhǔn)
SVG 與諸如 DOM 和 XSL 之類(lèi)的 W3C 標(biāo)準(zhǔn)是一個(gè)整體
如何優(yōu)化網(wǎng)頁(yè)的打印樣式淋硝?
<link rel = "stylesheet" type = "text/css" media = "screen" href = "xxx.css"/>
其中media指定的屬性就是設(shè)備,顯示器上就是screen宽菜,打印機(jī)則是print谣膳,電視是tv,投影儀是projection赋焕。打印樣式示例如下:
<link rel = "stylesheet" type = "text/css" media = "print" href = "yyy.css"/>
但打印樣式表也應(yīng)注意以下事項(xiàng):
- 打印樣式表中最好不要用背景圖片参歹,因?yàn)榇蛴C(jī)不能打印CSS中的背景。如要顯示圖片隆判,請(qǐng)使用html插入到頁(yè)面中犬庇。
- 最好不要使用像素作為單位,因?yàn)榇蛴邮奖硪蛴〕鰜?lái)的會(huì)是實(shí)物侨嘀,所以建議使用pt和cm臭挽。
- 隱藏掉不必要的內(nèi)容。(@print div{display:none;})
- 打印樣式表中最好少用浮動(dòng)屬性咬腕,因?yàn)樗鼈儠?huì)消失欢峰。如果想要知道打印樣式表的效果如何,直接在瀏覽器上選擇打印預(yù)覽就可以了
如果設(shè)計(jì)中使用了非標(biāo)準(zhǔn)的字體涨共,你該如何去實(shí)現(xiàn)纽帖?
所謂的標(biāo)準(zhǔn)字體是多數(shù)機(jī)器上都會(huì)有的,或者即使沒(méi)有也可以由默認(rèn)字體替代的字體举反。
方法:
- 用圖片代替
- web fonts在線字庫(kù)懊直,如Google Webfonts,Typekit等等火鼻;http://www.chinaz.com/free/2012/0815/269267.shtml室囊;
- @font-face,Webfonts(字體服務(wù)例如:Google Webfonts魁索,Typekit等等融撞。)
【參考網(wǎng)站】:https://www.cnblogs.com/yb880319/p/8472053.html