2020-05-25 反射和線程

1.反射

1.1 反射是什么掺冠?

??????? 反射機制是Java程序沉馆,在運行中,動態(tài)獲取類的信息(方法德崭、屬性斥黑、注解等)、并且還可以調用類的屬性眉厨、和方法心赶。這種動態(tài)獲取類的信息、以及動態(tài)調用對象的方法和屬性的行為就叫反射缺猛。?>>>反射:就是可以獲取類的信息缨叫、和執(zhí)行方法。

1.2 反射可以做什么

??????? 1.運行時獲取類中的屬性
??????? 2.運行時獲取類中的方法
??????? 3.運行時創(chuàng)建類的對象?
??????? 4.運行時荔燎,執(zhí)行類中的方法
??????? 5.運行時耻姥,校驗屬性是否屬于某個類
??????? 6.實現(xiàn)動態(tài)代理

1.3 反射怎么用

??????? 通過反射實現(xiàn),類中的屬性有咨、方法的獲取琐簇。還可以運行類中的方法。
??????? 創(chuàng)建Class對象的幾種方式: > 1.類名.class > > 2.Class.forName > > 3.對象名.getClass

代碼演示:獲取類中的屬性

代碼演示:獲取類中的方法

代碼演示:通過反射執(zhí)行類中的方法

2.進程和線程

2.1 進程

??????? > 進程:軟件在運行時一種狀態(tài)座享。會占用CPU婉商、內存等號資源 > > 正在運行的程序 >
??????? 進程的特點: > > 1.獨立性 > > 2.動態(tài)性 > > 3.并發(fā)性

2.2 線程

??????????> 線程:代碼的執(zhí)行路徑,是進程的組成部分渣叛,一個進程可以有多個線程丈秩。每個線程都可以執(zhí)行自己的內容或者多個線程共同執(zhí)行一個任務 > > 有了多線程,就可以同時干多件事情 > 線程是CPU的最小調度單位淳衙,CPU可以很快的在多個線程間實現(xiàn)切換蘑秽。 > > 運行時的線程饺著,隨時都可以被CPU給掛起。 > > 線程的搶占發(fā)生在任意時期肠牲。

2.3 進程和線程的區(qū)別

??????? 1幼衰、一個程序,可以有多個進程?
??????? 2缀雳、一個進程可以有多個線程渡嚣。但是必須要有一個主線程
??????? 3、進程間不能共享資源肥印,但是線程間可以共享資源严拒。

2.4 線程的體驗和創(chuàng)建方式

??????? ?敲黑板:java中的main方法其實就是主線程,main內部的代碼執(zhí)行都是主線程在執(zhí)行竖独。 我們自己手動創(chuàng)建線程裤唠,都叫子線程

2.5 線程的說明

??????? 1.Java中的線程類:Thread
??????? 2.Java中的線程都需要接口,線程接口:Runnable ? 接口內部只有一個方法:run ? public void run()莹痢;
??????? 3.每次在寫子線程的時候种蘸,都需要在run方法內部實現(xiàn)自己要干的事情
??????? 4.啟動線程是用的start方法

2.6 線程的創(chuàng)建方式

??????? 日常使用線程,常用的三種創(chuàng)建方式竞膳。
??????????????? 1.實現(xiàn)Runnable接口
??????????????? 2.自定義類實現(xiàn)Thread類的子類航瞭,重寫run方法
??????????????? 3.實現(xiàn)Callable接口

2.6.1 實現(xiàn)Runnable接口實現(xiàn)線程

??????? 1.采用匿名內部類 直接完成接口的實例化,并重寫run方法
??????? 2.自定義類實現(xiàn)接口坦辟,重寫run方法

代碼演示:基于Runnable接口實現(xiàn)線程:

代碼演示:采用匿名內部類 直接完成接口的實例化

代碼演示:繼承Thread類實現(xiàn)線程刊侯。創(chuàng)建類繼承Thread,并重寫run方法

代碼演示:使用Callable實現(xiàn)線程
??????? jdk新版本推出線程創(chuàng)建方式,線程可以帶返回值锉走。
?????????? ?1.實現(xiàn)Callable接口滨彻,并指定線程的返回值類型
??????????? 2.創(chuàng)建FutureTask對象
??????????? 3.創(chuàng)新線程對象,并傳遞任務對象
??????????? 4.啟動線程
??????????? 5.獲取線程的返回值

2.6.2 總結:三種創(chuàng)建方式的區(qū)別

> 繼承Thread類: > > ? 編寫簡單挪蹭、單繼承亭饵,所以這種類無法再繼承其他類、無法實現(xiàn)多個線程的資源共享梁厉、擴展性無
> 實現(xiàn)Runnable接口: > > ? 編寫復雜一點辜羊,接口可以多實現(xiàn),可以實現(xiàn)多個線程的資源共享 推薦使用 >
實現(xiàn)Callable接口: > > 編碼復雜词顾,可以實現(xiàn)線程執(zhí)行完之后進行值的返回 > 開發(fā)中八秃,需要線程返回值,就使用Callable肉盹,不需要返回值的就可以Runnable5.8

2.7 線程狀態(tài)

2.7.1 線程的狀態(tài)(生命周期)

簡圖:

2.8 線程的分類

2.8.1 線程分為:用戶線程和守護線程昔驱。Java中默認創(chuàng)建的線程就是用戶線程。

代碼演示:用戶線程和守護線程

2.8.2 用戶線程和守護線程的區(qū)別

代碼演示?:

當用戶線程銷毀的時候垮媒,會將自己的守護線程一起銷毀舍悯!

2.9 線程的優(yōu)先級

??????? 線程的優(yōu)先級就是線程獲得CPU的概率航棱,優(yōu)先級越高睡雇,獲取CPU的概率越大 從小到大萌衬,1-10之間。10是優(yōu)先級最高它抱,默認的優(yōu)先級是5秕豫。

2.9.1 設置優(yōu)先級

?????? 通過線程的setPriority 設置線程的優(yōu)先級。
???????通過線程的getPriority獲取線程的優(yōu)先級观蓄。?
???????設置優(yōu)先級需要在start之前設置混移。

3.0 Lambda表達式

??????? Lambda是JDK8之后支持的一種簡寫模式∥甏可以快速的實現(xiàn)接口的實例化歌径。
??????? 語法格式:(參數(shù))->{方法重寫}
??????? 規(guī)則: ? 1.接口 ? 2.接口中只能有一個抽象方法 ? 3.Lambda表達式的結果是一個對象

代碼演示:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
禁止轉載,如需轉載請通過簡信或評論聯(lián)系作者亲茅。
  • 序言:七十年代末回铛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子克锣,更是在濱河造成了極大的恐慌茵肃,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,294評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袭祟,死亡現(xiàn)場離奇詭異验残,居然都是意外死亡,警方通過查閱死者的電腦和手機巾乳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評論 3 385
  • 文/潘曉璐 我一進店門您没,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人胆绊,你說我怎么就攤上這事紊婉。” “怎么了辑舷?”我有些...
    開封第一講書人閱讀 157,790評論 0 348
  • 文/不壞的土叔 我叫張陵喻犁,是天一觀的道長。 經(jīng)常有香客問我何缓,道長肢础,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,595評論 1 284
  • 正文 為了忘掉前任碌廓,我火速辦了婚禮传轰,結果婚禮上,老公的妹妹穿的比我還像新娘谷婆。我一直安慰自己慨蛙,他們只是感情好辽聊,可當我...
    茶點故事閱讀 65,718評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著期贫,像睡著了一般跟匆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上通砍,一...
    開封第一講書人閱讀 49,906評論 1 290
  • 那天玛臂,我揣著相機與錄音,去河邊找鬼封孙。 笑死迹冤,一個胖子當著我的面吹牛,可吹牛的內容都是我干的虎忌。 我是一名探鬼主播泡徙,決...
    沈念sama閱讀 39,053評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼膜蠢!你這毒婦竟也來了堪藐?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,797評論 0 268
  • 序言:老撾萬榮一對情侶失蹤狡蝶,失蹤者是張志新(化名)和其女友劉穎庶橱,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贪惹,經(jīng)...
    沈念sama閱讀 44,250評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡苏章,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,570評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了奏瞬。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枫绅。...
    茶點故事閱讀 38,711評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖硼端,靈堂內的尸體忽然破棺而出并淋,到底是詐尸還是另有隱情,我是刑警寧澤珍昨,帶...
    沈念sama閱讀 34,388評論 4 332
  • 正文 年R本政府宣布县耽,位于F島的核電站,受9級特大地震影響镣典,放射性物質發(fā)生泄漏兔毙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,018評論 3 316
  • 文/蒙蒙 一兄春、第九天 我趴在偏房一處隱蔽的房頂上張望澎剥。 院中可真熱鬧,春花似錦赶舆、人聲如沸哑姚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叙量。三九已至倡蝙,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間宛乃,已是汗流浹背悠咱。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評論 1 266
  • 我被黑心中介騙來泰國打工蒸辆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留征炼,地道東北人。 一個月前我還...
    沈念sama閱讀 46,461評論 2 360
  • 正文 我出身青樓躬贡,卻偏偏與公主長得像谆奥,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子拂玻,可洞房花燭夜當晚...
    茶點故事閱讀 43,595評論 2 350