【技術(shù)干貨】Java小知識
Java作為大數(shù)據(jù)技術(shù)的必備基礎(chǔ)編程語言,是想要轉(zhuǎn)行學(xué)習(xí)大數(shù)據(jù)的小伙伴必須要熟練掌握的一項技術(shù)。今天科妹就為大家?guī)砹薐ava里的小知識點講解。

1.類加載子系統(tǒng)的作用:根據(jù)給定的全限定名類名(如java.lang.Object)來裝載class文件的內(nèi)容到運行時數(shù)據(jù)區(qū)中的方法區(qū)
2.雙親委派機制:當(dāng)一個類收到了類加載請求時,不會自己先去加載這個類,而是將其委派給父類,由父類去加載,如果此時父類不能加載,反饋給子類,由子類去完成類的加載。
3.類加載過程:加載、鏈接(驗證、準(zhǔn)備、解析)、初始化
加載階段,虛擬機需要完成以下3件事情:
1)通過一個類的全限定名來獲取定義此類的二進(jìn)制字節(jié)流(并沒有指明要從一個Class文件中獲取,可以從其他渠道,譬如:網(wǎng)絡(luò)、動態(tài)生成、數(shù)據(jù)庫等)。
2)將這個字節(jié)流所代表的靜態(tài)存儲結(jié)構(gòu)轉(zhuǎn)化為方法區(qū)的運行時數(shù)據(jù)結(jié)構(gòu)。
3)在內(nèi)存中生成一個代表這個類的java.lang.Class對象,作為方法區(qū)這個類的各種數(shù)據(jù)的訪問入口。
驗證階段大致會完成4個階段的檢驗動作:
1)文件格式驗證
2)元數(shù)據(jù)驗證
3)字節(jié)碼驗證
4)符號引用驗證
準(zhǔn)備階段是正式為類變量分配內(nèi)存并設(shè)置類變量初始值的階段,這些變量所使用的內(nèi)存都將在方法區(qū)中進(jìn)行分配。
解析階段是虛擬機將常量池內(nèi)的符號引用替換為直接引用的過程。
在初始化階段,則根據(jù)程序猿通過程序制定的主觀計劃去初始化類變量和其他資源,或者說:初始化階段是執(zhí)行類構(gòu)造器()方法的過程。

棧的內(nèi)存要遠(yuǎn)遠(yuǎn)小于堆內(nèi)存
-Xss選項設(shè)置棧內(nèi)存的大小。
-Xms選項可以設(shè)置堆的開始時的大小,-Xmx選項可以設(shè)置堆的最大值。

在Java中,每一個對象都擁有一個鎖標(biāo)記(鎖),也稱為監(jiān)視器,多線程同時訪問某個對象時,線程只有獲取了該對象的鎖才能訪問。
Lock和synchronized有以下幾點不同:
1)Lock是一個接口,而synchronized是Java中的關(guān)鍵字,synchronized是內(nèi)置的語言實現(xiàn);
2)采用synchronized不需要用戶去手動釋放鎖,當(dāng)synchronized方法或者synchronized代碼塊執(zhí)行完后,系統(tǒng)會自動讓線程釋放對鎖的占用;synchronized在發(fā)生異常時,會自動釋放線程占有的鎖,因此不會導(dǎo)致死鎖現(xiàn)象發(fā)生;而Lock在發(fā)生異常時,如果沒有主動通過unLock()去釋放鎖,則很可能造成死鎖現(xiàn)象,因此使用Lock時需要在finally塊中釋放鎖;
3)響應(yīng)中斷Lock可以讓等待鎖的線程響應(yīng)中斷,而synchronized卻不行,使用synchronized時,等待的線程會一直等待下去,不能夠響應(yīng)中斷;
4)Lock可以是否獲取鎖,synchronized不行。
5)Lock可以提高多個線程進(jìn)行讀操作的效率。
6) 公平鎖Lock可以設(shè)置為公平鎖,synchronized就是非公平鎖
單獨調(diào)用interrupt()方法不能中斷正在運行過程中的線程,只能中斷阻塞過程中的線程。
當(dāng)通過lockInterruptibly()方法獲取某個鎖時,如果不能獲取到,只有進(jìn)行等待的情況下,是可以響應(yīng)中斷的(線程B調(diào)用threadB.interrupt()方法能夠中斷線程B的等待過程)。
而用synchronized修飾的話,當(dāng)一個線程處于等待某個鎖的狀態(tài),是無法被中斷的,只有一直等待下去。
Java作為大數(shù)據(jù)技術(shù)的重要基礎(chǔ)語言,大家一定要牢牢掌握住它的知識點,為自己的將來打好基礎(chǔ)。
更多大數(shù)據(jù)相關(guān)資訊,歡迎關(guān)注成都科多大數(shù)據(jù)微信公眾號。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
11月7日立即參評>> 【評選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評選
-
11月20日立即報名>> 【免費下載】RISC-V芯片發(fā)展現(xiàn)狀與測試挑戰(zhàn)-白皮書
-
即日-11.25立即下載>>> 費斯托白皮書《柔性:汽車生產(chǎn)未來的關(guān)鍵》
-
11月27日立即報名>> 【工程師系列】汽車電子技術(shù)在線大會
-
11月28日立即下載>> 【白皮書】精準(zhǔn)洞察 無線掌控——283FC智能自檢萬用表
-
12月18日立即報名>> 【線下會議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
推薦專題
- 1 特斯拉工人被故障機器人打成重傷,索賠3.6億
- 2 AI 時代,阿里云想當(dāng)“安卓” ,那誰是“蘋果”?
- 3 拐點已至!匯川領(lǐng)跑工控、埃斯頓份額第一、新時達(dá)海爾賦能扭虧為盈
- 4 L3自動駕駛延期,逼出車企技術(shù)自我淘汰
- 5 隱退4年后,張一鳴久違現(xiàn)身!互聯(lián)網(wǎng)大佬正集體殺回
- 6 機器人9月大事件|3家國產(chǎn)機器人沖刺IPO,行業(yè)交付與融資再創(chuàng)新高!
- 7 谷歌“香蕉”爆火啟示:國產(chǎn)垂類AI的危機還是轉(zhuǎn)機?
- 8 7倍機器人大牛股:高管股東套現(xiàn)VS機構(gòu)兇猛抱團,該信誰?
- 9 八部門聯(lián)手放行L3自動駕駛!巨頭開始拼搶萬億市場?
- 10 OpenAI發(fā)布的AI瀏覽器,市場為何反應(yīng)強烈?
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市


分享













