【技術(shù)干貨】Java小知識(shí)
Java作為大數(shù)據(jù)技術(shù)的必備基礎(chǔ)編程語(yǔ)言,是想要轉(zhuǎn)行學(xué)習(xí)大數(shù)據(jù)的小伙伴必須要熟練掌握的一項(xiàng)技術(shù)。今天科妹就為大家?guī)?lái)了Java里的小知識(shí)點(diǎn)講解。
1.類(lèi)加載子系統(tǒng)的作用:根據(jù)給定的全限定名類(lèi)名(如java.lang.Object)來(lái)裝載class文件的內(nèi)容到運(yùn)行時(shí)數(shù)據(jù)區(qū)中的方法區(qū)
2.雙親委派機(jī)制:當(dāng)一個(gè)類(lèi)收到了類(lèi)加載請(qǐng)求時(shí),不會(huì)自己先去加載這個(gè)類(lèi),而是將其委派給父類(lèi),由父類(lèi)去加載,如果此時(shí)父類(lèi)不能加載,反饋給子類(lèi),由子類(lèi)去完成類(lèi)的加載。
3.類(lèi)加載過(guò)程:加載、鏈接(驗(yàn)證、準(zhǔn)備、解析)、初始化
加載階段,虛擬機(jī)需要完成以下3件事情:
1)通過(guò)一個(gè)類(lèi)的全限定名來(lái)獲取定義此類(lèi)的二進(jìn)制字節(jié)流(并沒(méi)有指明要從一個(gè)Class文件中獲取,可以從其他渠道,譬如:網(wǎng)絡(luò)、動(dòng)態(tài)生成、數(shù)據(jù)庫(kù)等)。
2)將這個(gè)字節(jié)流所代表的靜態(tài)存儲(chǔ)結(jié)構(gòu)轉(zhuǎn)化為方法區(qū)的運(yùn)行時(shí)數(shù)據(jù)結(jié)構(gòu)。
3)在內(nèi)存中生成一個(gè)代表這個(gè)類(lèi)的java.lang.Class對(duì)象,作為方法區(qū)這個(gè)類(lèi)的各種數(shù)據(jù)的訪(fǎng)問(wèn)入口。
驗(yàn)證階段大致會(huì)完成4個(gè)階段的檢驗(yàn)動(dòng)作:
1)文件格式驗(yàn)證
2)元數(shù)據(jù)驗(yàn)證
3)字節(jié)碼驗(yàn)證
4)符號(hào)引用驗(yàn)證
準(zhǔn)備階段是正式為類(lèi)變量分配內(nèi)存并設(shè)置類(lèi)變量初始值的階段,這些變量所使用的內(nèi)存都將在方法區(qū)中進(jìn)行分配。
解析階段是虛擬機(jī)將常量池內(nèi)的符號(hào)引用替換為直接引用的過(guò)程。
在初始化階段,則根據(jù)程序猿通過(guò)程序制定的主觀計(jì)劃去初始化類(lèi)變量和其他資源,或者說(shuō):初始化階段是執(zhí)行類(lèi)構(gòu)造器()方法的過(guò)程。
棧的內(nèi)存要遠(yuǎn)遠(yuǎn)小于堆內(nèi)存
-Xss選項(xiàng)設(shè)置棧內(nèi)存的大小。
-Xms選項(xiàng)可以設(shè)置堆的開(kāi)始時(shí)的大小,-Xmx選項(xiàng)可以設(shè)置堆的最大值。
在Java中,每一個(gè)對(duì)象都擁有一個(gè)鎖標(biāo)記(鎖),也稱(chēng)為監(jiān)視器,多線(xiàn)程同時(shí)訪(fǎng)問(wèn)某個(gè)對(duì)象時(shí),線(xiàn)程只有獲取了該對(duì)象的鎖才能訪(fǎng)問(wèn)。
Lock和synchronized有以下幾點(diǎn)不同:
1)Lock是一個(gè)接口,而synchronized是Java中的關(guān)鍵字,synchronized是內(nèi)置的語(yǔ)言實(shí)現(xiàn);
2)采用synchronized不需要用戶(hù)去手動(dòng)釋放鎖,當(dāng)synchronized方法或者synchronized代碼塊執(zhí)行完后,系統(tǒng)會(huì)自動(dòng)讓線(xiàn)程釋放對(duì)鎖的占用;synchronized在發(fā)生異常時(shí),會(huì)自動(dòng)釋放線(xiàn)程占有的鎖,因此不會(huì)導(dǎo)致死鎖現(xiàn)象發(fā)生;而Lock在發(fā)生異常時(shí),如果沒(méi)有主動(dòng)通過(guò)unLock()去釋放鎖,則很可能造成死鎖現(xiàn)象,因此使用Lock時(shí)需要在finally塊中釋放鎖;
3)響應(yīng)中斷Lock可以讓等待鎖的線(xiàn)程響應(yīng)中斷,而synchronized卻不行,使用synchronized時(shí),等待的線(xiàn)程會(huì)一直等待下去,不能夠響應(yīng)中斷;
4)Lock可以是否獲取鎖,synchronized不行。
5)Lock可以提高多個(gè)線(xiàn)程進(jìn)行讀操作的效率。
6) 公平鎖Lock可以設(shè)置為公平鎖,synchronized就是非公平鎖
單獨(dú)調(diào)用interrupt()方法不能中斷正在運(yùn)行過(guò)程中的線(xiàn)程,只能中斷阻塞過(guò)程中的線(xiàn)程。
當(dāng)通過(guò)lockInterruptibly()方法獲取某個(gè)鎖時(shí),如果不能獲取到,只有進(jìn)行等待的情況下,是可以響應(yīng)中斷的(線(xiàn)程B調(diào)用threadB.interrupt()方法能夠中斷線(xiàn)程B的等待過(guò)程)。
而用synchronized修飾的話(huà),當(dāng)一個(gè)線(xiàn)程處于等待某個(gè)鎖的狀態(tài),是無(wú)法被中斷的,只有一直等待下去。
Java作為大數(shù)據(jù)技術(shù)的重要基礎(chǔ)語(yǔ)言,大家一定要牢牢掌握住它的知識(shí)點(diǎn),為自己的將來(lái)打好基礎(chǔ)。
更多大數(shù)據(jù)相關(guān)資訊,歡迎關(guān)注成都科多大數(shù)據(jù)微信公眾號(hào)。

發(fā)表評(píng)論
登錄
手機(jī)
驗(yàn)證碼
立即登錄即可訪(fǎng)問(wèn)所有OFweek服務(wù)
還不是會(huì)員?免費(fèi)注冊(cè)
忘記密碼請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
-
機(jī)器人奧運(yùn)會(huì)戰(zhàn)報(bào):宇樹(shù)機(jī)器人摘下首金,天工Ultra搶走首位“百米飛人”
-
存儲(chǔ)圈掐架!江波龍起訴佰維,索賠121萬(wàn)
-
長(zhǎng)安汽車(chē)母公司突然更名:從“中國(guó)長(zhǎng)安”到“辰致科技”
-
豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
-
字節(jié)AI Lab負(fù)責(zé)人李航卸任后返聘,Seed進(jìn)入調(diào)整期
-
員工持股爆雷?廣汽埃安緊急回應(yīng)
-
中國(guó)“智造”背后的「關(guān)鍵力量」
-
小米汽車(chē)研發(fā)中心重磅落地,寶馬家門(mén)口“搶人”
最新活動(dòng)更多
-
即日-9.16點(diǎn)擊進(jìn)入 >> 【限時(shí)福利】TE 2025國(guó)際物聯(lián)網(wǎng)展·深圳站
-
10月23日火熱報(bào)名中>> 2025是德科技創(chuàng)新技術(shù)峰會(huì)
-
10月23日立即報(bào)名>> Works With 開(kāi)發(fā)者大會(huì)深圳站
-
10月24日立即參評(píng)>> 【評(píng)選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評(píng)選
-
11月27日立即報(bào)名>> 【工程師系列】汽車(chē)電子技術(shù)在線(xiàn)大會(huì)
-
12月18日立即報(bào)名>> 【線(xiàn)下會(huì)議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
推薦專(zhuān)題
- 1 阿里首位程序員,“掃地僧”多隆已離職
- 2 先進(jìn)算力新選擇 | 2025華為算力場(chǎng)景發(fā)布會(huì)暨北京xPN伙伴大會(huì)成功舉辦
- 3 人形機(jī)器人,正狂奔在批量交付的曠野
- 4 宇樹(shù)機(jī)器人撞人事件的深度剖析:六維力傳感器如何成為人機(jī)安全的關(guān)鍵屏障
- 5 解碼特斯拉新AI芯片戰(zhàn)略 :從Dojo到AI5和AI6推理引擎
- 6 AI版“四萬(wàn)億刺激”計(jì)劃來(lái)了
- 7 騰訊 Q2 財(cái)報(bào)亮眼:AI 已成第二增長(zhǎng)曲線(xiàn)
- 8 2025年8月人工智能投融資觀察
- 9 10 Manus跑路,大廠(chǎng)掉線(xiàn),只能靠DeepSeek了