常見知識點總結 Java中的鎖機制 synchronized & 偏向鎖 & 輕量級鎖 & 重量級鎖 & 各自優缺點及場景 & AtomicReference

最左匹配原則

java內存模型

volatile詳解

單例模式

偏向鎖、輕量級鎖、重量級鎖的升級以及區別      https://blog.csdn.net/u012722531/article/details/78244786

synchronized的JVM底層實現(很詳細 很底層)

代碼塊同步是使用monitorenter和monitorexit指令實現, monitorenter指令是在編譯後插入到同步代碼塊的開始位置,而monitorexit是插入到方法結束處和異常處, JVM要保證每一個monitorenter必須有對應的monitorexit與之配對。任何對象都有一個 monitor 與之關聯,當且一個monitor 被持有後,它將處於鎖定狀態。線程執行到 monitorenter 指令時,將會嘗試獲取對象所對應的 monitor 的全部權,即嘗試得到對象的鎖。html

Java中的鎖機制 synchronized & 偏向鎖 & 輕量級鎖 & 重量級鎖 & 各自優缺點及場景 & AtomicReference前端

關於表單重複提交問題:
1. 在第一次顯示頁面的時候,隨機制做一個標記token(如時間戳),而後把token放入session和hidden中;
2. 當點擊提交按鈕的時候,獲取session和的token和hidden中的token,若是session中的token不爲null,則比較兩個token是否一致;
3.  若是兩個token一致,受理請求,並移除session的token屬性;
4. 若是不一致,或者session的token爲null,則不受理請求
 
SpringMVC的工做流程
      1. 用戶發送請求至前端控制器DispatcherServlet 
      2. DispatcherServlet收到請求調用HandlerMapping處理器映射器。 
      3. 處理器映射器找到具體的處理器,生成處理器對象及處理器攔截器(若是有則生成)一併返回給DispatcherServlet。 
      4. DispatcherServlet調用HandlerAdapter處理器適配器 
      5. HandlerAdapter通過適配調用具體的處理器(Controller,也叫後端控制器)。 
      6. Controller執行完成返回ModelAndView 
      7. HandlerAdapter將controller執行結果ModelAndView返回給DispatcherServlet 
      8. DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器 
      9. ViewReslover解析後返回具體View 
     10. DispatcherServlet根據View進行渲染視圖(即將模型數據填充至視圖中)。 
     11. DispatcherServlet響應用戶

MySQL 百萬級分頁優化(Mysql千萬級快速分頁)

怎樣實現同一個帳戶同一時間只能在一個終端登陸

找出第K大的數

接口和抽象類應用場景java

首先 類描述的是 這個東西是什麼(強調所屬)?包含了靜態屬性,靜態行爲 ,屬性和行爲。sql

而接口 描述的它能作什麼事兒(強調行爲)?     只是 靜態常量屬性 和 行爲後端

  1. 若是你擁有一些方法而且想讓它們中的一些有默認實現,那麼使用抽象類吧。
    若是你想實現多重繼承,那麼你必須使用接口。
    因爲Java不支持多繼承,子類不可以繼承多個類,但能夠實現多個接口。所以你就可使用接口來解決它。
    若是基本功能在不斷改變,那麼就須要使用抽象類。若是不斷改變基本功能而且使用接口,那麼就須要改變全部實現了該接口的類。
  1. 抽象類表示共有許要實現的方法 接口用來特定類有須要才實現 人都會吃飯 但有的人抽菸api

  2. 抽象類是用來捕捉子類的通用特性的session

  3. 抽象類是 is a關係;而接口是has a關係app

  4. 看看jdk的api會發現大部分接口都是able結尾的,表示一種能力。馬士兵曰過:當你不知道用抽象類仍是接口好時就用接口post

相關文章
相關標籤/搜索