io流 泛型 執行緒

2021-09-19 21:12:16 字數 1676 閱讀 6478

位元組流

輸出位元組流

字元流輸出字元流

什麼情況下使用字元流:如果讀寫的都是字元資料,這時候我們就使用字元流。

轉換流:

輸出位元組流的轉換流(輸出位元組流---------輸出字元流)

轉換流的作用:

可以把對應的位元組流轉換成字元流使用。

可以指定碼表進行讀寫檔案的資料。

filereader, filewriter這兩個類預設是使用的是gbk編碼 表。不能由你來指定碼表讀寫檔案資料。

泛型

image.png

自定義泛型

執行緒

方式一:繼承thread.

1. 自定義乙個類繼承thread類。

2. 重寫thread的run方法,把自定義執行緒的任務**定義在run方法上。

3. 建立thread子類的物件,並且呼叫start方法啟動乙個執行緒。

方式二: 實現runnable介面。

1. 自定義乙個類實現runnable介面。

2. 實現runnable介面中的run方法,把自定義執行緒的任務**定義在run方法上。

3. 建立runable實現類 的物件。

4. 建立thread物件,並且把runnable實現類的物件作為引數傳遞。

5. 呼叫thread物件的start方法開啟執行緒。

執行緒安全問題的解決方案
1.必須要存在兩個或者兩個以上的執行緒共享著乙個資源.

操作共享資源的**必須有兩句或者兩句以上。

修飾符 synchronized 返回值型別   函式名(形參列表..)
注意:

1. 同步**塊的鎖可以是任意的物件。 同步函式的鎖是固定 的,非靜態函式的鎖物件是this物件。 靜態函式的鎖物件是class物件。

2. 鎖物件必須是多執行緒共享的物件,否則鎖不住。

3. 在同步**塊或者是同步函式中呼叫sleep方法是不會釋放鎖物件的,如果是呼叫了wait方法是會釋放鎖物件的。

泛型 泛型類 泛型方法 泛型擦除

1 是什麼?一種允許我們在不確定引數型別時候使用的型別。例如我不知道a方法應該會傳string還是int,我就用個泛型先佔坑。2 為什麼要用泛型?泛型可以在編譯期自動確定具體型別,檢查型別是否匹配,可以提高 的重用率,減少冗餘編碼。3 泛型與object的區別?像上面說的我不知道方法a的引數型別,其...

集合 反射 泛型 陣列 介面 io

從幾個類中抽取出一些共同的行為特徵 介面的本質是契約,標準,規範 介面的主要用途就是被實現類實現。與繼承關係類似,介面與實現類之間存在多型性 字串 到 基本資料型別 包裝類 integer包裝類的public static int parseint 解析int string s 可以將由 數字 字 ...

泛型 (2)泛型類 泛型方法 泛型介面

一 泛型類 定義person類 package cn.itcast.p2.bean public class person implements comparable public person string name,int age public int compareto person p ov...