1. 程式人生 > >面試記錄11-23

面試記錄11-23

1.java1.8新特性

  介面中允許預設方法和靜態方法

  lamdba表示式:簡化程式碼,包括匿名內部類和集合遍歷

  ::表示物件引用或者構造器引用

  clock和localDateTime獲取時間

2.多系統資料互動:

  socket網路通訊

  檔案傳遞資料

  資料庫傳遞資料

  訊息佇列傳遞資料(activeMQ)

3.springboot原理

  可以無配置檔案使用註解開發

  maven管理依賴關係

  內建http伺服器

4.springmvc原理

  客戶端傳送請求到dispatchServlet,通過對映器和配置檔案或註解生成處理器,處理對應controller的業務邏輯,返回ModelAndView,通過檢視解析器解析並將結果返回客戶端渲染頁面

5.java記憶體模型

  java檔案經過編譯器編譯為class檔案,經過classLoader載入到jvm中執行

  java記憶體空間:

    方法區:類的載入資訊,變數、常量、常量池(常量和類的全名,欄位名和屬性,方法名和屬性)

    堆:物件的例項

    程式計數器:位元組碼直譯器工作和多執行緒工作需要用到

    虛擬機器棧:方法執行流程需要用到

    本地方法棧:執行緒私有的資料區域

6.執行緒池:

  使用java.util.concurrent.Executor介面

  使用多執行緒時,如果執行緒建立時間+執行緒銷燬時間>執行緒執行時間,就會考慮使用多執行緒

  執行緒池把建立執行緒和銷燬執行緒放在程式空閒時間操作,並減少了一些執行緒的建立和銷燬時間,而且限制了執行緒數量