原创 知識點一:CopyOnWrite,Synchronized,ReentranLock

ArrayList,Vector,Collections.synXXX ArrayList 是非線程安全的,例如其 add 方法,是通過 elementData[ size++ ] 來給數組元素賦值的,size ++ 這個操作在

原创 Mysql基礎課八:語句操作分析中

誤操作的恢復 如果誤操作的是 delete/insert/update 等語句,可以通過 Flashback 恢復數據,原理是,修改 binlog 的內容,拿回原庫執行,如 bin log 中是 delete 操作,就將其改寫

原创 springboot 基礎課三:靜態資源,異常管理,數據庫操作

靜態資源和模板引擎 可以直接通過瀏覽器訪問,如圖片,js,html 等,默認路徑是 src/main/resources/static/,可通過 spring.resources.static-locations 改變;

原创 Mysql基礎課十三:explain 分析

oracle 的 explain oracle 的 explain 用法,先調用 explain plan for sql 語句,後調用 select plan_table_output from 來獲取 explain 結果,

原创 Java 基礎課九:單元測試

Junit 測試類,使用 @RunWith(SpringRunner.class) 和 @SpringBootTest 修飾; 測試方法,只能是 public void,沒有方法參數,使用 @Test 修飾,有 expec

原创 Mysql基礎課十:sql 優化

SQL 優化 語句 show status [session/global] 可以顯示數據庫的統計信息,如 select 操作執行次數,commit 次數,rollback 次數等,通過參數 --log-slow-queri

原创 Spring 基礎課十:Spring Security 和 Shiro

Spring Security 是基於 aop 和 filter 的安全切面技術,實現 url 和 方法級別的限制,共有 11 個模塊,最小配置,需要引入 core 和 configuration 模塊 // ??Deleg

原创 Java 基礎課十一:開發手冊

命名規約 類名使用 UpperCamelCase 風格,但 DO / BO / DTO / VO / AO / PO / UID 除外,使用 UserDO 而非 UserDo,常量命名全部大寫,單詞間用下劃線隔開; 抽象類

原创 知識點三:explain,分頁優化,語句優化,mybaits緩存,b+樹

Explain explain sql 語句,可能返回多行記錄,每一行顯示用到某一個表的一些信息,列 id 越大,越先執行,同一 id,從上往下執行; select_type 這一列,標識每個 select 子句的類型;

原创 面試解答二:框架,多線程,網絡

開源框架 hibernate 和 mybatis的區別 hibernate 是全自動orm框架,屏蔽了具體執行 sql 的細節,直接操作orm 對象的curd mybatis 是半自動orm框架,通過 xml 文件指定了執