一:異常處理
????????1.1 異常概述
????????????????(1)場景
????????????????????????
????????????????(2)定義
????????????????????????
????????????????(3)異常拋出機制
????????????????????????Java把不同的異常用不同的類表示
????????????????????????
????????????????(4)如何對待異常
????????????????????????
????????1.2 常見異常類
????????????????????????
????????????????(1)Throwable
????????????????????????
????????????????(2)Error
????????????????????????
????????????????(3)Exception
????????????????????????
? ? ? ? ? ? ? ? (4)編譯時異常和運行時異常
????????????????????????
????????????????????????編譯時異常
????????????????????????
????????????????????????運行時異常
????????????????????????
????????1.3 異常處理
? ? ? ? ? ? ? ? ? ?(1)概述
? ? ? ? ? ? ? ? (2)異常處理方式
????????????????????????
? ? ? ? ? ? ? ? (3)try-catch-finally
????????????????????????抓拋模型
????????????????????????????????抓的過程,生成異常類對象后將對象拋出,程序不執行其后代碼
????????????????????????????????抓:對拋出的異常對象進行捕獲處理
????????????????????????????????
????????????????????????基本結構
????????????????????????????????
????????????????????????使用細節
????????????????????????????????
????????????????(4)finally
????????????????????????
????????????????????????是否必須寫
????????????????????????
????????????????????????一定要聲明在finally中的代碼
????????????????????????
?????????????????(5)throws
????????????????????????????????是否真正處理了異常
????????????????????????????????
????????????????(6)自定義異常
????????????????????????????????自定義異常類
????????????????????????????????
????????????????????????????????使用自定義異常類
????????????????????????????????
????????????????????????????????使用自定義異常原因
????????????????????????????????
二:線程
????????2.1 相關概念
????????????????(1)程序、進程、線程
????????????????????????程序是一段代碼,進程是程序的執行過程(從創建到使用到消亡),線程
????????????????(2)線程調度
????????????????????????分時調度:所有線程輪流使用CPU的使用權
????????????????????????搶占式調度:讓優先級高的線程優先使用CPU
????????2.2 常用方法和生命周期
????????????????(1)常用方法
????????????????????????構造器
????????????????????????
????????????????????????Sleep(long mills):靜態方法,調用時,可以使得當前線程睡眠指定毫秒數
? ? ? ? ? ? ? ? (2)生命周期
????????????????????????阻塞一定是臨時狀態
????????????????????????
????????2.3 線程創建方式
????????????????(1)步驟
????????????????(2)代碼
????????????????????
????????????????????????????????使用實現Runnable接口的方式(提供了Runnable接口匿名實現類的匿名對象)
????????????????
????????2.4 線程安全
????????????????(1)問題描述:多線程賣票出現了重票和錯票
????????????????(2)解決思路:保證一個線程a在操作ticket的過程中,其它線程必須等待,知道線程a操作ticket結束以后,其它線程才可以操作共享數據
????????????????(3)實現
????????????????????????使用線程同步機制(同步代碼塊或同步方法)
????????????????????????需要被同步的代碼,在被synchronized包裹以后,就使得一個線程在操作這些代碼的過程中,其它線程必須等待
????????????????????????同步監視器:俗稱鎖,哪些線程獲取了鎖,哪個線程就能執行需要被同步的代碼
(4)代碼
?????