面試總結一

1. servlet的生命週期java

 畫出servlet的運行原理. 其中第3.4.5.8是servlet的生命週期算法

生命週期有四個部分:數據庫

1.建立Servlet實例對象。經過服務器反射機制建立Servlet對象,第一次請安全

求時纔會建立。(默認)服務器

2,調用Servlet對象的init()方法。初始化Servlet的信息,init()方法只會在建立後被調用一次;多線程

3,響應請求,調用service()或者是doGet(),doPost()方法來處理請求,這些方法是運行的在多線程狀態下的。ide

4,  在長時間沒有被調用或者是服務器關閉時,會調用destroy()方法來銷燬Servlet對象。加密

 

2. 類加載器的加載流程spa

 3. 類加載流程.net

4.類加載器的類型有幾種

 

 

5. 經常使用的加密算法及原理。 什麼是對稱加密, 什麼是非對稱加密算法, 有哪些算法是對稱加密算法, 哪些是非對稱加密算法? 

  md5加密算法:

  md5加密算法是一種不可逆的加密,必定記住是不可逆的雖然如今不少算法也能夠將md5解密出來可是md5仍是具備很大程度上的不可逆,並且加大解密難道使用雙重加密,不少登陸的地方用到md5加密,那麼有些人會問我用md5加密了服務器怎麼解密呢,你要是這麼想就錯了登陸時輸入用戶的密碼這個密碼被md5加密後在服務器也存的是這個md5的字符格式,也就是說服務器的數據庫存的就是這個格式的字符串,因此服務器那邊爲何要解密呢,只要比較你客戶端發送的md5字符串和它數據庫字符串進行比較就好了,並且如今APP運營商也不少都不敢保存用戶的明文密碼這是對用戶信息的不負責。如今md5也只是用於數據庫存儲數據。
      還有一種就是能夠解密的加密算法,一本分爲兩種,對稱加密算法和非對稱加密算法。

 

 

 

 

 

 

RSA算法中,每一個通訊主體都有兩個鑰匙,一個公鑰(Public Key)用來對數據進行加密; 一個私鑰(Private Key)用來對數據進行解密。 

在SSH的加密原理中,使用到了RSA非對稱加密算法,

非對稱加密算法的兩種用途:加密和驗籤

 
    詳解非對稱加密算法
 
  非對稱加密算法須要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,若是用公鑰對數據加密,只有用對應的私鑰才能解密;若是用私鑰對數據加密,那麼只有對應的公鑰才能解密。由於加密和解密使用的是兩個不一樣的密鑰,因此這種算法叫做非對稱加密算法
  非對稱加密算法實現機密信息交換的基本過程是:甲方生成一對密鑰並將其中的一把做爲公鑰公開給乙方;獲得該公鑰的乙方使用該密鑰對機密信息進行加密後再發送給甲方;甲方再用本身保存的另外一把專用密鑰對加密後的信息進行解密。
  另外一方面,甲方可使用乙方的公鑰對機密信息進行簽名後再發送給乙方;乙方再用本身的私匙對數據進行驗籤。
  甲方只能用其專用密鑰解密由其公用密鑰加密後的任何信息。 非對稱加密算法的保密性比較好,它消除了最終用戶交換密鑰的須要。
  非對稱密碼體制的特色:算法強度複雜、安全性依賴於算法與密鑰可是因爲其算法複雜,而使得加密解密速度沒有對稱加密解密的速度快。對稱密碼體制中只有一種密鑰,而且是非公開的,若是要解密就得讓對方知道密鑰。因此保證其安全性就是保證密鑰的安全,而非對稱密鑰體制有兩種密鑰,其中一個是公開的,這樣就能夠不須要像對稱密碼那樣傳輸對方的密鑰了。這樣安全性就大了不少。
 

 6. minorGC和fullGC的觸發條件

Minor GC ,Full GC 觸發條件

Minor GC觸發條件:當Eden區滿時,觸發Minor GC。

Full GC觸發條件:

(1)調用System.gc時,系統建議執行Full GC,可是沒必要然執行

(2)老年代空間不足

(3)方法去空間不足

(4)經過Minor GC後進入老年代的平均大小大於老年代的可用內存

(5)由Eden區、From Space區向To Space區複製時,對象大小大於To Space可用內存,則把該對象轉存到老年代,且老年代的可用內存小於該對象大小

 7. RestFul設計風格

restFul設計風格, 看下面這兩篇文章就基本你理解了. 

https://www.imooc.com/article/17650

https://blog.csdn.net/weide_java/article/details/53793769

相關文章
相關標籤/搜索