java基础题 解析_Java基础面试题及答案解析(10)
點擊上方“Java知音”,選擇“置頂公眾號”java
技術文章第一時間送達!web
歸納的解釋下線程的幾種狀態spa
就緒(Runnable):線程準備運行,不必定立馬就能開始執行。線程
運行中(Running):進程正在執行線程的代碼。設計
等待中(Waiting):線程處于阻塞的狀態,等待外部的處理結束。3d
睡眠中(Sleeping):線程被強制睡眠。
I/O阻塞(Blocked on I/O):等待I/O操做完成。
同步阻塞(Blocked on Synchronization):等待獲取鎖。
死亡(Dead):線程完成了執行。
Java集合類里面基本的接口有哪些
Collection:表明一組對象,每個對象都是它的子元素。
Set:不包含重復元素的Collection。
List:有順序的collection,而且能夠包含重復元素。
Map:能夠把鍵(key)映射到值(value)的對象,鍵不能重復。
Iterator和ListIterator的區別
Iterator可用來遍歷Set和List集合,可是ListIterator只能用來遍歷List。
Iterator對集合只能是前向遍歷,ListIterator既能夠前向遍歷也能夠后向遍歷。
ListIterator實現了Iterator接口,并包含其余的功能,好比:增長、替換元素,獲取前一個和后一個元素的索引等等。
Enumeration和Iterator的區別
java中的集合類都提供了返回Iterator的方法,就是迭代器,它和Enumeration(枚舉)的主要區別其實就是Iterator能夠刪除元素,可是Enumration卻不能。
使用Iterator來遍歷集合時,應使用Iterator的remove()方法來刪除集合中的元素,使用集合的remove()方法將拋出ConcurrentModificationException異常。
Enumeration接口的功能和Iterator接口的功能是重復的。此外,Iterator 接口添加了一個可選的移除操做,并使用較短的方法名。新的實現應該優先考慮使用Iterator接口而不是Enumeration接口。
Enumeration速度是Iterator的2倍,同時占用更少的內存。可是,Iterator遠遠比Enumeration安全,由于其余線程不可以修改正在被iterator遍歷的集合里面的對象。
介紹一下HTTP的響應結構
請求報文的組成:
請求方法。
請求的資源的URI。
協議版本。
可選的請求首部字段。
內容實體。
響應報文的組成:
協議版本。
狀態碼。
用于解釋狀態碼的緣由短語。
可選的響應首部字段。
實體主體。
響應:
響應碼:回應客戶端這次響應是否成功。如:404(找不到請求的資源),500(服務器內部錯誤),200(成功響應)等。
消息頭:服務器與客戶端通訊的暗碼,告訴客戶端該怎么執行某些操做。
響應正文:傳遞服務器響應給客戶端要顯示的內容,能夠是下載文件或者顯示界面。
final、finalize和finally各自的做用
final是一個修飾符,能夠修飾變量、方法和類。若是 final 修飾變量,意味著該變量的值在初始化后不能被改變。
finalize方法是在對象被回收以前調用的方法,給對象本身最后一個復活的機會,可是何時調用 finalize 沒有保證。
finally是一個關鍵字,與try和catch一塊兒用于異常的處理。finally塊必定會被執行,不管在try塊中是否有發生異常。
說一下你了解的幾種進程間的通訊方式
管道pipe:管道是一種半雙工的通訊方式,數據只能單向流動,并且只能在具備親緣關系的進程間使用。進程的親緣關系一般是指父子進程關系。
高級管道popen:將另外一個程序當作一個新的進程在當前程序進程中啟動,則它算是當前程序的子進程,這種方式咱們成為高級管道方式。
有名管道named pipe :有名管道也是半雙工的通訊方式,可是它容許無親緣關系進程間的通訊。
消息隊列MessageQueue:消息隊列是由消息的鏈表,存放在內核中并由消息隊列標識符標識。消息隊列克服了信號傳遞信息少、管道只能承載無格式字節流以及緩沖區大小受限等缺點。
共享存儲SharedMemory:共享內存就是映射一段能被其余進程所訪問的內存,這段共享內存由一個進程建立,但多個進程均可以訪問。共享內存是最快的 IPC 方式,它是針對其余進程間通訊方式運行效率低而專門設計的。它每每與其余通訊機制,如信號兩,配合使用,來實現進程間的同步和通訊。
信號量Semaphore:信號量是一個計數器,能夠用來控制多個進程對共享資源的訪問。它常做為一種鎖機制,防止某進程正在訪問共享資源時,其余進程也訪問該資源。所以,主要做為進程間以及同一進程內不一樣線程之間的同步手段。
套接字Socket:套解口也是一種進程間通訊機制,與其余通訊機制不一樣的是,它可用于不一樣及其間的進程通訊。
信號sinal: 信號是一種比較復雜的通訊方式,用于通知接收進程某個事件已經發生。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java基础题 解析_Java基础面试题及答案解析(10)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ssm 退出登录 java_【Java】
- 下一篇: JAVA的思维逻辑_[Java教程]计算