1. 程式人生 > >最近遇到的比較有意思的Java面試問題總結

最近遇到的比較有意思的Java面試問題總結

1、如何不需要手動關閉流操作?

在Java7中,只要實現的自動關閉介面(Closeable)的類都可以在try結構體上定義,java會自動幫我們關閉,即使在發生異常的情況下也會。

try (OutputStream out = new FileOutputStream("")){  
    // ...操作流程式碼  
} catch (Exception e) {  
    e.printStackTrace();  
} 
2、MySQL程式碼加鎖?

select ...for update;

3、什麼叫執行緒安全?什麼又是執行緒不安全?
這個首先要明確。執行緒安全的類,指的是類內共享的全域性變數的訪問必須保證是不受多執行緒形式影響的。
如果由於多執行緒的訪問(比如修改、遍歷、檢視)而使這些變數結構被破壞或者針對這些變數操作的原子性被破壞,則這個類就不是執行緒安全的。
4、SpringMvc 工作原理?
  1. springmvc請所有的請求都提交給DispatcherServlet,它會委託應用系統的其他模組負責負責對請求進行真正的處理工作。 
  2. DispatcherServlet查詢一個或多個HandlerMapping,找到處理請求的Controller. 
  3. DispatcherServlet請請求提交到目標Controller 
  4. Controller進行業務邏輯處理後,會返回一個ModelAndView 
  5. Dispathcher查詢一個或多個ViewResolver檢視解析器,找到ModelAndView物件指定的檢視物件 
  6. 檢視物件負責渲染返回給客戶端。

--