進程與線程的區別
進程是系統資源分配和調度的基本單位,切換進程系統開銷大,線程是cpu分配和調度的基本單位,切換線程系統開銷小,一個進程至少有一個線程,可以有多個線程
linux查看進程ps
ps -A:列出所有進程
ps -e:列出所有進程
ps -aux作用:列出所有進程
linux殺死進程kill
kill-9操作系統從內核級別強制殺死進程
kill-15操作系統通知進程主動關閉
linux修改用戶權限
chmod
死鎖
定義:兩個或兩個以上的線程在執行過程中,爭奪共享資源,並且不放棄自己占有的資源
解決:給線程設置不同的優先級,回退等待,按順序加鎖,設置請求鎖的時限,超時就放棄請求並且釋放自己占有的鎖
客戶端和服務器
客戶端:為客戶提供本地服務的程序
服務器:網絡中能對其他機器提供服務的計算機系統
linux為什么比windows安全
windows用戶量大,容易被攻擊
linux開源,解決漏洞的人多,windows不開源
windows默認管理員權限,一旦被入侵危害范圍大,linux默認非管理員權限,危害范圍小
tcp
transmission control protocol傳輸控制協議,工作在傳輸層
ip internet protocol網絡協議,工作在網絡層
tcp:是面向連接,可靠的協議,傳輸之前要經過三次握手,不容易丟失數據,網絡開銷大
udp:是不面向連接,不可靠的協議,不需要對方確認就可以開始傳輸,容易丟失數據,網絡開銷小
三次握手:發送方發送syn,接收方發送ack,syn,發送方發送ack
四次揮手:發送方發送fin,接收方發送ack,接收方發送fin,發送方發送ack
http
hypertext transfer protocol超文本傳輸協議,工作在應用層
為什么基於tcp不基於udp,因為打開一個網頁需要傳輸很多數據,tcp提供傳輸控制,按順序組織數據,有錯誤糾正
視頻電話用的什么協議
udp,因為視頻電話對實時性要求高,udp傳輸速度快,比較合適
如何布置服務器
不會
服務器程序崩潰怎么解決
服務器超載:采用輪詢機制,減少中斷,減少上下文切換,擴容
線程死鎖:設置不同的線程優先級,回退等待,按順序加鎖,設置請求鎖時限,超時則放棄請求並且釋放自己占有的鎖
數據庫索引類型
單列索引:普通索引:單個列,唯一索引:索引的列的值是唯一的,可以有空值,主鍵索引:索引的列的值是唯一的,不允許有空值
組合索引:多個列
全文索引:字段中是否包含指定的關鍵字,原理是將字段進行分詞
主鍵索引和唯一索引
相同:索引的列的值是唯一的
不同:主鍵索引不可以有空值,唯一索引可以有空值
慢查詢優化
將字段很多的表分解成多個表
分解關聯查詢
忘了寫主鍵索引,但是已經有幾萬條數據,要怎么優化
導出表,清空表,建立索引,導入數據