活動子的父級復雜css選擇器,css樣式遵循什么原則?
css樣式遵循三種原則:就近原則、繼承原則、覆蓋原則。
就近原則
優先級關系,從高到低:行內樣式 > 內部樣式 > 外部樣式。
繼承原則:
繼承中多數邊框類的屬性不能被繼承,比如padding、margin、背景等都不會被繼承;表格也不能繼承父類的樣式。
覆蓋原則:
由于繼承而發生的樣式沖突,由最近的祖先元素取值;
繼承的樣式和直接指定的樣式發生沖突時,直接指定的樣式獲取值;
直接指定的樣式發生沖突時,樣式權重高的元素獲取值;
getelementbytagname?
$(‘div span’) 可以選取DIV里所有的SPAN,是一個集合 $(‘div > span’) 可以選取DIV元素下標簽名為span的元素,是一個集合看這樣一段代碼:
父節點子節點DIV 孫節點
子節點SPAN小提示!這里有一個需要注意的地方,很多人對以上這兩者區別有些混淆,只有空格的選擇器是把DIV下所有的SPAN元素都返回,無論是子節點還是孫節點,對于以上HTML代碼來說,找到的就是2個元素,一個是”孫節點“,一個是”子節點SPAN“;而后者有個“>”符號的選擇器,只是把DIV子節點中的SPAN元素返回,對于以上HTML代碼來說就是1個元素,即“子節點SPAN”。css里的rel的屬性是什么含義?
rel的英文全稱是relation,它的作用就是來說明本頁面和鏈接到的頁面的之間的關系。
例:
rel=same表示待鏈接的文件與此文件相同,
rel=next表示待鏈接的文件為下一頁,
rel=parent表示本文件為待鏈接文件的父文件,
rel=previous則表示待鏈接的文件為上一頁。
rel=stylesheet指定一個固定或首選的樣式,定義一個外部加載的樣式表
rel是在調用外部css樣式時用于定義連接的css文件和html文檔之間關系的屬性。在html文檔導入外部css樣式時rel屬性必不可少。
classloader原理?
1. classLoader是什么?
ClassLoader是類的加載器,用于加載class對象到JVM中的,分為2種,啟動類加載器和實際類加載器.
2. ClassLoader的作用
.java文件通過JAVAc.exe編譯成.Class文件,然后通過classLoader加載到JVM內存中. 加載到JVM內存的就是Class對象,存儲著.class字節碼內容,每一個class對象都有getClassLoader()方法, 得到是誰把我從.class文件加載到內存中變成Class對象的。
3. ClassLoader層次結構
1).根類加載器(null) ..由本地代碼(c/c++)實現,加載(%JAVA_HOME%\jre\lib)
2).擴展內加載器(ExtClassLoader) .. 主要加載擴展目錄下的jar包, %JAVA_HOME%\lib\ext
3). 應用類加載器(AppClassLoader) ...主要加載我們應用程序中的類
4. Class加載時調用類加載器的順序
應用類加載器 ----委托加載---》 擴展類加載器--委托加載---》 根類加載器
當一個類要被加載時,有一個啟動類加載器和實際類加載器的概念,這個概念請看如下分析
如上面的Test.class要進行加載時,它將會啟動應用類加載器進行加載Test類,但是這個應用類加載器不會真正去加載他,而是會調用看是否有父加載器,結果有,是擴展類加載器,擴展類加載器也不會直接去加載,它看自己是否有父加載器沒,結果它還是有的,是根類加載器。
所以這個時候根類加載器就去加載這個類,可在%JAVA_HOME%\jre\lib下,它找不到com.Test這個類,所以他告訴他的子類加載器,我找不到,你去加載吧,子類擴展類加載器去%JAVA_HOME%\lib\ext去找,也找不著,它告訴它的子類加載器 AppClassLoader,我找不到這個類,你去加載吧,結果AppClassLoader找到了,就加到內存中,并生成Class對象。
這個時間時候啟動類加載器(應用類加載器)和實際類加載器(應用類加載器)是同一個。
ClassLoader利用其特性可以防止java核心類被覆蓋。編寫java.lang.Long類,定義一個main方法,執行該main方法時,會出現找不到main方法的提示。
沒有main方法是因為執行的根本不是我們自己寫的類,執行的是java核心中的那個Long類,當然沒有main方法了。 這樣就防止我們應用中寫的類覆蓋掉java核心類。
特性:
類加載器基于三個機制:委托、可見性和單一性,
委托機制是指將加載一個類的請求交給父類加載器,如果這個父類加載器不能夠找到或者加載這個類,那么再加載它。
可見性的原理是子類的加載器可以看見所有的父類加載器加載的類,而父類加載器看不到子類加載器加載的類。
單一性原理是指僅加載一個類一次,這是由委托機制確保子類加載器不會再次加載父類加載器加載過的類。
參考:
1.Java類加載器(http://www.cnblogs.com/wang-meng/p/5574071.html )
2.ClassLoader 詳解及用途[http://blog.chinaunix.net/uid-21227800-id-65885.html]