process: 進程
thread: 線程web
線程: 一般使用內部類來建立線程
1. extends Thread 中重寫run()方法,實例化thread並調用start();
2. implements Runnable 重寫run()方法,用thread 實例化線程並傳入runnable,而後start();安全
併發原理:
* 多個線程同時運行只是咱們感官上的一種表現。事實上,線程是併發運行的。
OS將時間劃分爲不少時間片斷,儘量均勻的分配給每個線程,獲取時間片斷的線程被CPU運行,
而其餘線程所有等待。因此微觀上走走停停,宏觀上都在運行。這種現象叫併發,但不是絕對意義上的「同時發生」。網絡
使用ExecutorService實現線程池
* 線程池兩個主要做用:
- 控制線程數量
- 重用線程多線程
BlockingQueue:雙緩衝隊列
* 多線程併發時,若須要使用隊列,咱們可使用Queue,可是要解決一個問題就是同步,
但同步操做會下降併發對Queue操做的效率。
* BlockingQueue內部使用兩條隊列,可容許兩個線程同時向隊列一個作存儲,一個作取出操做。
在保證併發安全的同時提升了隊列的存取效率。併發
Socket:一般稱做「套接字」
* 用於描述IP地址和端口,是一個通訊鏈的句柄。
在Internet上的主機通常運行了多個服務軟件,同時提供幾種服務。
每種服務都打開一個Socket,並綁定到一個端口上,不一樣的端口對應於不一樣的服務。
* 應用程序一般經過Socket向網絡發出請求或者應答網絡請求。
Socket是創建網絡鏈接時使用的。在鏈接成功時,應用程序兩端都會產生一個Socket實例,
操做這個實例,完成所需的會話。
* 經過Socket獲取輸入流和輸出流,這兩個方法是使用Socket通信的關鍵方法。
* 使用完畢後,要關閉Socket以釋放系統資源。 void close();函數
XML用途:
* XML 可擴展標記語言(EXtensible Markup Language)
- 是獨立於軟件和硬件的信息傳輸工具
* XML應用與web開發的許多方面,經常使用於簡化數據的存儲和共享。
* XML簡化數據共享/簡化數據傳輸/簡化平臺的變動。工具
XML元素和屬性
* XML文檔包含XML元素
* XML元素指的是從(且包括)開始標籤直到(且包括)結束標籤的部分。
元素可包含其餘元素/文本或者二者的混合物。元素也能夠擁有屬性。
* XML對大小寫敏感,這一點不像HTML。
- 在XML中<Letter>標記和<letter>標記是不同的。
* CDATA段:<![CDATA[文本內容]]> 特殊標籤中的實體引用都被忽略,全部內容被當成一整塊文本數據對待。.net
XML解析方式 :Dom4J
* SAX(simple API for XML)是一種XML解析的替代方法。
相比於DOM,SAX是一種速度更快更有效的方法。
* DOM(Document Object Model 即文檔對象模型) 經常使用。線程
XPath
* XPath是一門在XML文檔中查找信息的語言。
XPath可用來在XML文檔中對元素和屬性進行遍歷。
* XPath使用路徑表達式在XML文檔中進行導航
* XPath包含一個標準函數庫
* XPath是XSLT中的主要元素?
* XPath是一個W3C標準對象
路徑表達式:
* 相對路徑和絕對路徑。
- "." 表示當前節點
- ".."表示當前節點的父節點
* 舉例
- /bookstore :選取根節點bookstore,絕對路徑寫法。
- bookstore/book :選取全部書店下面的書元素,相對路徑
- //book :選擇全部book子元素,無論在文檔的哪一個位置
- bookstore//book :bookstore後代中的book元素
- //@lang :選取全部名爲lang的屬性
* 謂語條件:[] 對節點進行進一步篩選
* 通配符:
- //* :選擇文檔中的全部元素節點
- /*/* :表示選擇全部第二層的元素節點
- /bookstore/* :表示選擇bookstore的全部元素子節點
- //title[@*] :表示選擇全部帶有屬性的title元素