java類加載機(jī)制面試題 類加載機(jī)制,不是類加載機(jī)制的幾個(gè)過(guò)程?
類加載機(jī)制,不是類加載機(jī)制的幾個(gè)過(guò)程?A:這是Java核心的一個(gè)難題。我將對(duì)這個(gè)問(wèn)題給出一個(gè)簡(jiǎn)短的回答,而不是深入討論:1。明確編譯和操作的概念:編譯是javac的過(guò)程,javac負(fù)責(zé)編譯。Java文
類加載機(jī)制,不是類加載機(jī)制的幾個(gè)過(guò)程?
A:這是Java核心的一個(gè)難題。我將對(duì)這個(gè)問(wèn)題給出一個(gè)簡(jiǎn)短的回答,而不是深入討論:
1。明確編譯和操作的概念:編譯是javac的過(guò)程,javac負(fù)責(zé)編譯。Java文件。類文件,主要用于類型和格式檢查并編譯成字節(jié)碼文件,而加載則是指Java*加載。類文件進(jìn)入內(nèi)存解釋執(zhí)行,也就是說(shuō),它在運(yùn)行時(shí)會(huì)被加載。
2. 類的加載時(shí)間肯定是在運(yùn)行時(shí),但并不是一次全部加載。相反,它是根據(jù)需要?jiǎng)討B(tài)加載的,依賴于反射。一般來(lái)說(shuō),一個(gè)類只加載一次,然后從JVM中類實(shí)例的緩存中獲取。無(wú)論誰(shuí)使用它都可以得到它,它不會(huì)加載。文件系統(tǒng)中的類文件。
理解1到2點(diǎn)就足夠了。這需要一些時(shí)間來(lái)理解。
對(duì)java剛?cè)腴T的新手有什么要提醒的嗎?
如果您是一個(gè)完全的新手,程序如下:
1。首先,明確短期目標(biāo)和長(zhǎng)期目標(biāo):短期目標(biāo)主要是“小步快跑”,長(zhǎng)期目標(biāo)主要是“好內(nèi)功”。
所謂“小步快跑”是指:盡快啟動(dòng),就可以編寫(xiě)程序并正確運(yùn)行結(jié)果。這個(gè)階段是用來(lái)積累信心,使他們能夠堅(jiān)持學(xué)習(xí)。
所謂“好內(nèi)功”是指:了解程序背后的原理、數(shù)據(jù)結(jié)構(gòu)、算法性能、軟件工程、架構(gòu)設(shè)計(jì)等。制定學(xué)習(xí)和實(shí)踐計(jì)劃并毫不猶豫地付諸實(shí)施:你可以用Excel寫(xiě)下每天要實(shí)現(xiàn)的具體小目標(biāo),然后每天睡覺(jué)前檢查是否完成。養(yǎng)成這樣的習(xí)慣對(duì)你是個(gè)很好的激勵(lì)。這一行最重要的是多年的積累,從量變到質(zhì)變。
3. 思想開(kāi)放,不要閉門造車:Java相對(duì)于其他語(yǔ)言的最大優(yōu)勢(shì)是其龐大而成熟的生態(tài)環(huán)境。有無(wú)數(shù)的好框架、工具和最佳實(shí)踐供您選擇。有很多“輪子”可以“使用”。
加入更多的技術(shù)圈和資源社區(qū),與前人交流,了解技能樹(shù),并逐一進(jìn)行有意識(shí)的培訓(xùn)。
閱讀更多經(jīng)典書(shū)籍,加深對(duì)基本概念的理解。學(xué)習(xí)語(yǔ)言,初學(xué)者可以看到《Java核心編程》、《Java編程思想》的學(xué)習(xí)框架,初學(xué)者可以在網(wǎng)上找到相應(yīng)的流行實(shí)踐視頻,動(dòng)手實(shí)踐,熟悉后,可以開(kāi)始嘗試閱讀相應(yīng)的源代碼。
另一個(gè)好習(xí)慣是多總結(jié)和寫(xiě)博客。它一方面有助于整理自己的知識(shí),另一方面也有利于后人。在某種程度上,您可以在源代碼社區(qū)中啟動(dòng)自己的項(xiàng)目。
對(duì)于初學(xué)者,應(yīng)該特別注意:多問(wèn)為什么,而不僅僅局限于程序運(yùn)行是否正確。想寫(xiě)得足夠有力嗎?有漏洞嗎?性足夠好嗎?只有長(zhǎng)期堅(jiān)持這種精心訓(xùn)練,我們才能迅速提高。
Java涉及內(nèi)部類加載的問(wèn)題,在加載了外部類的時(shí)候,內(nèi)部類也會(huì)隨之加載嗎?
事實(shí)上,一般類和內(nèi)部類都將編譯到單獨(dú)的類文件中。
加載操作相同:“需要時(shí)加載”。JVM似乎是在第一次“主動(dòng)”使用時(shí)加載的。