java Java的常量、變量、數(shù)組、類面試問到這些該怎么回答?
Java的常量、變量、數(shù)組、類面試問到這些該怎么回答?對于Java程序員來說,在面試的過程中,如果遇到一些基本的概念,往往很難解釋清楚。此外,面試官可以通過對這些基本概念的理解來判斷他們對Java編程
Java的常量、變量、數(shù)組、類面試問到這些該怎么回答?
對于Java程序員來說,在面試的過程中,如果遇到一些基本的概念,往往很難解釋清楚。此外,面試官可以通過對這些基本概念的理解來判斷他們對Java編程語言的理解。
當(dāng)考生遇到常量、變量、數(shù)組、類等基本概念時,應(yīng)分三個層次進行回答。首先,他應(yīng)該清楚地描述基本概念的定義。其次,他應(yīng)該描述它的具體用法。最后,他應(yīng)該描述容器(JDK)如何管理這些基本元素,包括其存儲模式和生命周期管理。如果你有優(yōu)化經(jīng)驗,你應(yīng)該把重點放在描述優(yōu)化過程和最終效果上。
以類為例,為了解釋清楚類,我們首先從類的結(jié)構(gòu)入手,重點介紹屬性(常量和變量)、方法和構(gòu)造函數(shù)。然后進一步闡述了基于類的面向?qū)ο缶幊踢^程(類定義、對象創(chuàng)建和方法調(diào)用)。最后,我們討論了與類相關(guān)的三個概念:封裝、繼承和多態(tài)性。其實Java編程歸根結(jié)底是寫類,而寫類歸根結(jié)底是寫方法,而寫方法歸根結(jié)底是寫邏輯,其中涉及算法。當(dāng)然,隨著云計算平臺的普及,Java的主要方法就是完成資源的調(diào)用。在工業(yè)互聯(lián)網(wǎng)時代,大量的軟件開發(fā)任務(wù)將基于該平臺。
盡管Java中的基本概念看起來很簡單(它們每天都在使用),但要清楚地解釋它們并不容易。它還可以在很大程度上解釋程序員對Java語言的認知。因此,對于Java開發(fā)人員來說,無論是初級開發(fā)職位還是主要開發(fā)職位的面試,都應(yīng)該注意對Java基本概念的理解。
在java中為什么String字符串可以作為對象來管理?
眾所周知,Java中創(chuàng)建字符串(對象)的方法有很多:[2]直接定義字符串常量
3]通過實例化字符串類創(chuàng)建字符串對象
Java中的字符串可以直接作為對象操作。原則是什么?
例如:
1,literal quantity of string,string constant pool
Java中字符串的literal quantity是一對用雙引號括起來的字符串,如“Chinese”。
字符串常量是常量池。當(dāng)string STR=“string”時,編譯器將檢查在不朽生成中是否有對常量的引用。如果存在引用,編譯器將直接將地址分配給堆棧。如果沒有引用,編譯器將首先在不朽生成中打開一個內(nèi)存空間,然后將地址分配給堆棧指針。
也就是說,字符串對象的引用仍然存儲在字符串常量池中。
2. 實例化string對象
該方法根據(jù)string對象重新創(chuàng)建一個string對象,在堆內(nèi)存中添加新的內(nèi)存塊后,將指針賦給堆棧指針。
Java中的字符串常量池與Java中的堆和棧的區(qū)別?
Java常量池不在堆或堆棧中,它是獨立的內(nèi)存空間管理。
1. 堆棧:它存儲基本類型變量數(shù)據(jù)和對象引用,但對象本身不存儲在堆棧中,而是存儲在堆(新對象)或常量池(字符串常量對象存儲在常量池中)。堆:存儲所有新對象。
3. 常量池:存儲字符串常量和基本類型常量(publicstaticfinal)。
對于字符串:其對象的引用存儲在堆棧中。如果它們是在編譯時創(chuàng)建的(直接用雙引號定義),則它們存儲在常量池中。如果只能在運行時(New)確定它們,則將它們存儲在堆中。對于相等的字符串,常量池中總是只有一個副本,堆中總是有多個副本。