這周隨筆寫了SQL優化、資料庫、JVM、反射、註解幾方面技術複習回顧後的內容。也是工作中會直接或間接用到,面試也很有可能問道的知識點,重新回顧對一些細節有了新的認識。
SQL優化目前工作中用到的不多,但那些做大資料相關工作整天寫SQL的同事肯定會用到。這方面的重點之一就是用好索引提高查詢效率,避免索引失效。對索引列用否定條件查詢或者使用函式或表示式都會導致索引失效er而全表掃描影響效率。
關聯式資料庫還是工作中常用到的,接觸到的Pgsql使用越來越多,但MySQL依舊是大多數網際網路公司在用、最流行的開源關聯式資料庫。
JVM是Java最基礎、面試中最可能問道的問題之一,這方面網上的內容也很多,並且不少還是轉載的錯的東西。因此要有自己清晰明確的概念認識很重要,先對JVM組成由大概的認識,然後再重點關注類載入器和執行時資料區中堆記憶體的分配與回收方法,進而聯絡實際工作中常會用到的Class類載入異常、OOM異常,JVM引數的設定選擇等。一定要與自己工作實際相結合,用自己用到的JDK測試驗證,尤其是JVM調優相關的內容。
Java註解從1.5開始,主要作用生成doc文件、編譯器檢查警告、替代配置文件動態依賴注入等,被第三方框架如Spring、Mybatis等大量使用。實際自己工作場景也可通過自定義註解的方法來簡化程式碼編寫。
Java反射也是Java最重要、最常用到的功能之一。Java反射機制主要提供了以下功能: 在執行時判斷任意一個物件所屬的類;在執行時構造任意一個類的物件;在執行時判斷任意一個類所具有的成員變數和方法;在執行時呼叫任意一個物件的方法;生成動態代理。在Spring IOC框架中就有大量的應用。Java自身的反射用法相對複雜,實際專案中使用時可用第三方基於它封裝的開源庫,如jOOR。jOOQ/jOOR