Java錯題本02

線程的生命周期

新建→就緒→運行→阻塞→死亡

New→Runnable→Running→Blocked→Dead

調(diào)用start進入就緒躯护。

線程死亡:run或call方法執(zhí)行完成

拋出未捕獲的異常Exception或Error

調(diào)用線程的stop方法(不推薦嚷闭,容易死鎖)

isAlive()中間三種狀態(tài)返回true

join方法讓一個線程等待另一個線程完成

后臺線程/守護線程/精靈線程 特征:前臺線程全部死亡艾凯,后臺就會自動死亡

如jvm的垃圾回收線程

O.setDaemon(true)設(shè)O對象為后臺線程,


線程睡眠:sleep,讓線程暫停点把,進入阻塞狀態(tài)

線程讓步:yield借宵,讓線程進入阻塞狀態(tài)幌衣,有優(yōu)先級的執(zhí)行

setPriority()設(shè)置線程優(yōu)先級


JVM終止:

程序正常結(jié)束

程序使用System.exit() Runtime.getRuntime().exit()

遇到為捕獲的異常

程序所在平臺強制結(jié)束Jvm進程


類加載或類初始化:加載→連接→初始化

類加載是指,將類的class讀入內(nèi)存,并為之創(chuàng)建一個java.lang.Class對象豁护。當程序使用任何類都會創(chuàng)建這么一個對象哼凯。

類加載由類加載器完成,由JVM提供


類的連接:把類的二進制數(shù)據(jù)合并到JRE中

驗證→準備→解析

驗證內(nèi)部結(jié)構(gòu)是否正確楚里,和其他類是否協(xié)調(diào)

準備:分配內(nèi)存断部、設(shè)置初始值

解析:將類的二進制數(shù)據(jù)中的符號引用替換成直接引用


創(chuàng)建實例的方法:new、反射班缎、反序列化

同一個類:全限定類名(包名蝴光、類名)JVM中靠全限定類名和加載器

JVM啟動時,會形成由三個類加載器組成的初始類加載器的層次結(jié)構(gòu)

Bootstrap ClassLoader:根類加載器

Extension ClassLoader:擴展類加載器:加載JRE擴展目錄中JAR包的類

System ClassLoader:系統(tǒng)類加載器


JVM類加載機制

全盤負責:class所依賴的和引用的其他Class也由該類加載器負責載入

父類委托:先讓父類加載器試圖加載該Class

緩存機制:所有加載過的Class都會被緩存达址,若不在緩存區(qū)虱疏,系統(tǒng)會讀取其二進制數(shù)據(jù),并將其轉(zhuǎn)換成Class對象苏携。修改了Class必須重新啟動JVM



通過反射創(chuàng)建對象兩種方式

①使用Class對象的newInstance()方法來創(chuàng)建該Class對象對應(yīng)類的實例

執(zhí)行newInstance()方法實際是利用默認構(gòu)造器來創(chuàng)建該類的實例

②先使用Class對象獲取Constructor對象做瞪,再調(diào)用Constructor的newInstance方法來創(chuàng)建該Class對象對應(yīng)的類的實例。

第一種方式比較常見

Public


進程和線程的主要差別在于它們是不同的操作系統(tǒng)資源管理方式右冻。進程有獨立的地址空間装蓬,一個進程崩潰后,在保護模式下不會對其它進程產(chǎn)生影響纱扭,而線程只是一個進程中的不同執(zhí)行路徑牍帚。線程有自己的堆棧和局部變量,但線程之間沒有單獨的地址空間乳蛾,一個線程死掉就等于整個進程死掉暗赶,所以多進程的程序要比多線程的程序健壯,但在進程切換時肃叶,耗費資源較大蹂随,效率要差一些。但對于一些要求同時進行并且又要共享某些變量的并發(fā)操作因惭,只能用線程岳锁,不能用進程


IO


異常

檢查異常需要手動拋出



集合


Static修飾的成員不能訪問沒有static修飾的成員,例如main方法要先創(chuàng)建對象蹦魔,才能訪問Sting激率、int之類的。通過實例可以訪問類變量勿决,因為類變量都在一塊內(nèi)存區(qū)里乒躺。

Static的真正作用:區(qū)分成員變量、方法低缩、內(nèi)部類嘉冒、初始化塊4

Java通過new調(diào)用構(gòu)造器,構(gòu)造器構(gòu)造實例,構(gòu)造器是類創(chuàng)建對象的根本途徑健爬。

構(gòu)造器的返回值默認是隱式的控乾。

方法名以英文動詞開頭,void用來聲明方法沒有返回值娜遵,否則有return

同一個對象里的一個成員可以直接調(diào)用另一個成員蜕衡,即省略this

Java里的方法的參數(shù)傳遞方式只有一種:值傳遞

子類無法訪問父類被覆蓋的方法,但可通過super或父類類名來調(diào)用设拟。子類和父類的private方法同名不是重寫慨仿。

外部類訪問權(quán)限只需要給同一個包和任何位置,所以public和 默認 纳胧。內(nèi)部類可以使用四種訪問權(quán)限镰吆。

JUC:

New Thread(new Runnable(){重寫run方法}).start





兩同:1)方法名2)形參列表兩小:1)返回值類型比父類更小或相等2)異常比父類方法更小或相等一大:子類權(quán)限比父類大或相等

被覆蓋的方法不能為private




命名合法:開頭_跑慕、$ 万皿、_1_

接口定義的成員變量默認public static final,所有成員方法為 public /abstract核行,只能被public和abstract修飾

構(gòu)造方法無法被程序調(diào)用

初始化順序:靜態(tài)成員變量牢硅、成員變量、構(gòu)造方法

按值傳遞不會改變實際參數(shù)的數(shù)值

按引用傳遞不會改變實際參數(shù)的參考地址芝雪,但能改變實際參數(shù)的內(nèi)容

編譯失敗减余,方法體中的有static



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


Java中可作為gc root 的對象有哪些?

1 惩系、 虛擬機棧(棧幀中的本地變量表)中引用的對象位岔。

2、 本地方法棧中JNI(即一般說的native方法)引用的對象堡牡。

3抒抬、 方法區(qū)中的靜態(tài)變量和常量引用的對象。

-ha???W??k

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末悴侵,一起剝皮案震驚了整個濱河市瞧剖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌可免,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件做粤,死亡現(xiàn)場離奇詭異浇借,居然都是意外死亡,警方通過查閱死者的電腦和手機怕品,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門妇垢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事闯估∽粕幔” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵涨薪,是天一觀的道長骑素。 經(jīng)常有香客問我,道長刚夺,這世上最難降的妖魔是什么献丑? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮侠姑,結(jié)果婚禮上创橄,老公的妹妹穿的比我還像新娘。我一直安慰自己莽红,他們只是感情好妥畏,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著安吁,像睡著了一般咖熟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上柳畔,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天馍管,我揣著相機與錄音,去河邊找鬼薪韩。 笑死确沸,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的俘陷。 我是一名探鬼主播罗捎,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼拉盾!你這毒婦竟也來了桨菜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤捉偏,失蹤者是張志新(化名)和其女友劉穎倒得,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體夭禽,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡霞掺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了讹躯。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片菩彬。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡缠劝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出骗灶,到底是詐尸還是另有隱情惨恭,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布耙旦,位于F島的核電站脱羡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏母廷。R本人自食惡果不足惜轻黑,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望琴昆。 院中可真熱鬧氓鄙,春花似錦、人聲如沸业舍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽舷暮。三九已至态罪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間下面,已是汗流浹背复颈。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留沥割,地道東北人耗啦。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像机杜,于是被迫代替她去往敵國和親帜讲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 從三月份找實習(xí)到現(xiàn)在椒拗,面了一些公司似将,掛了不少,但最終還是拿到小米蚀苛、百度在验、阿里、京東枉阵、新浪译红、CVTE、樂視家的研發(fā)崗...
    時芥藍閱讀 42,209評論 11 349
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法兴溜,類相關(guān)的語法侦厚,內(nèi)部類的語法,繼承相關(guān)的語法拙徽,異常的語法刨沦,線程的語...
    子非魚_t_閱讀 31,598評論 18 399
  • 簡評:因打錯字而大規(guī)模停機,搞得大廠的運維們哭天喊地膘怕,亞馬遜干得好想诅。 3 月 1日凌晨,AWS 的云存儲(S3服務(wù)...
    極小光閱讀 697評論 0 0
  • 【幸福女孩 糖糖 一年級 堅持原創(chuàng)分享第226天 2018.4.16 星期一】 今天我在家又休息了一天岛心,早...
    何亞珂閱讀 367評論 0 0