多線程 核心點:線程安全 創建線程的兩種方式 線程生命周期 獲取、修改線程名 獲取當前線程對象 靜態方法 sleep() 通過異常終止線程的睡眠 interrupt() 強行終止線程 合理終止線程的方式 瞭解(靜態方法,讓位 yield();實例方法 join(),合併線程) 線程安全 同步非同步 線 ...
多線程
核心點:線程安全
- 創建線程的兩種方式
- 線程生命周期
- 獲取、修改線程名
- 獲取當前線程對象
- 靜態方法 sleep()
- 通過異常終止線程的睡眠 interrupt()
- 強行終止線程
- 合理終止線程的方式
- 瞭解(靜態方法,讓位 yield();實例方法 join(),合併線程)
- 線程安全
- 同步非同步
- 線程安全之賬戶取款
- 同步代碼塊
- 守護線程
- 定時器
- 實現線程的第三種方式:FutureTask 方式,實現 Callable 介面(JDK8 新特性)
- 關於 Object 類中的 wait() 和 notify(),生產者和消費者模式
反射
核心點:怎麼通過反射獲取修改類的屬性以及調用方法
- 獲取 Class 的三種方式【掌握】
- 利用反射機制通過配置文件實例化對象(不創建流和獲取絕對路徑,直接以流的形式返回,進行 load(流))
- Class.forName(完整類名) 會導致類載入,實現只讓靜態代碼塊執行(jdbc 中會用到)
- 獲取類路徑(項目 src 下文件夾)下文件的絕對路徑通用方式
- 使用資源綁定器代替 IO+Properties 獲取屬性配置文件
反射機制必須掌握:Method > Field > Constructor
- 通過反射機制調用對象的方法【必須掌握 must be !】
- 通過反射機制獲取和修改對象的屬性
- 通過反射機制調用對象的構造方法創建對象
- 通過反射獲取指定類的父類以及實現的介面
- 獲取Class的三種方式
註解
- 官方的兩個註解:@Deprecated (已過時的),@Override(監測是否是重寫父類的方法)
- 元註解:註解註解的註解(用在註解的上面)
需掌握的四個註解:(兩個官方註解,兩個元註解)
- @Override 監測是否是重寫父類的方法
- @Deprecated 已過時的;不建議使用的
- @Targer 元註解,用來標註”被標註的註解“可以出現的位置,如方法、類、屬性上等...
- @Retention 元註解,用來標註”被標註的註解“最終保存的位置,如源文件、位元組碼文件中等...
自定義註解:
- 自定義屬性時,沒賦預設值的話,使用的時候必須手動給屬性進行賦值
- 賦預設值的屬性,使用的時候可以不寫
- 如果一個註解的屬性名是value,並且只有一個屬性的話,使用的時候,value可省略不寫
- 註解當中的類型可以有哪些?
byte、short、int、long、float、double、boolean、char、String、Class、枚舉類型
以及以上所列的每一種的數組形式。 - 使用時,如果某屬性是一個數組,並且數組中只有一個元素,則 {} 可以省略
- 通過反射機制讀取類上面的註解對象以及屬性值
JDBC
- jdbc 本質理解:針對 msql 的一套介面實現類庫,實現 java 連接資料庫;需要手動添加進項目進行使用(mysql、oracle,sql server 都有自己的一套類庫,可在各自的官網下載)
- jdbc 編程六步【掌握】
- 類載入方式註冊驅動
- 屬性文件中讀取配置信息 Driver、url、username、password
- PowerDesigher 設計表以及導出表
- 瞭解並解決 SQL註入現象
- Statement 和 PreparedStatement 實現資料庫數據增刪改查【核心】
- jdbc 中事務控制
- 瞭解悲觀鎖/行級鎖和樂觀鎖(瞭解行級鎖的使用)
- jdbc 工具類封裝(獲取連接和釋放資源)