- 相關(guān)推薦
Java基礎(chǔ)知識(shí)問(wèn)答
Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。下面小編整理了Java基礎(chǔ)知識(shí)問(wèn)答,希望對(duì)大家有幫助!
面向?qū)ο蟮奶攸c(diǎn)
抽象:是或略一個(gè)主題中與當(dāng)前目標(biāo)的無(wú)關(guān)的因素,一邊充分考慮有關(guān)的內(nèi)容。抽象并不能解決目標(biāo)中所有的問(wèn)題,只能選擇其中的一部分,忽略其他的部分。抽象包含兩個(gè)方面:一是過(guò)程抽象;一是數(shù)據(jù)抽象。
繼承:是一種聯(lián)接類的層次模型,允許和鼓勵(lì)類的重用,提供了一種明確的共性的方法。對(duì)象的一個(gè)新類可以從現(xiàn)有的類中派生,這叫做類的繼承。心累繼承了原始類的特性,新類稱為原始類的派生類或者是子類,原始類稱為新類的基類或者父類。子類可以從父類那里繼承父類的方法和實(shí)現(xiàn)變量,并卻允許新類增加和修改新的方法使之滿足需求。
封裝:就是把過(guò)程和數(shù)據(jù)包圍起來(lái)。對(duì)數(shù)據(jù)的訪問(wèn)只是允許通過(guò)已經(jīng)定義好的界面。面向?qū)ο缶褪腔谶@個(gè)概念,即現(xiàn)實(shí)世界可以描述為一系列完全自治,封裝的對(duì)象,這些對(duì)象通過(guò)固定受保護(hù)的接口訪問(wèn)其他對(duì)象。
多態(tài)性:是指不同類的對(duì)象對(duì)同一個(gè)請(qǐng)求作出相應(yīng)。多態(tài)性包括參數(shù)多態(tài)和包含多態(tài)。多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì)。很好的解決了應(yīng)用程序中同名的問(wèn)題。
int 和 Integer 有什么區(qū)別
java提供了兩種類型:引用類型和原始類型(內(nèi)置類型)。int是java的原始數(shù)據(jù)類型,Integer是java為int提供的封裝類。引用類型和原始類型的行為完全不同,并且他們具有不同的語(yǔ)義,引用類型和原始類型具有不同的特征和用法,他們包括:大小和速度問(wèn)題,這種類型以哪種類型的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),當(dāng)引用類型和原始類型有用作某個(gè)類的實(shí)例數(shù)據(jù)時(shí)制定的缺省值。對(duì)象應(yīng)用實(shí)例變量的缺省值為null,而原始類型實(shí)例變量的缺省值與它們的類型有關(guān)。
final、finally、finalize的區(qū)別
final是一種聲明屬性,作用與類、方法和變量;final修飾的變量的值不能夠再改變,final修飾的方面不能被覆蓋,final修飾的類不能被繼承。 finally是異常處理語(yǔ)句的一部分,表示總是執(zhí)行。 finalize是object類的一個(gè)子方法,在垃圾回收器執(zhí)行是調(diào)用回收對(duì)象的此方法,此方法可以被覆蓋提供資源回收時(shí)的其他資源回收。如文件關(guān)閉等。
heap和stack的區(qū)別
棧是一種現(xiàn)行結(jié)構(gòu),其添加和刪除元素應(yīng)在同一段完成,棧按照先進(jìn)后出的方式進(jìn)行處理。堆是棧的一個(gè)組成元素。
assert什么時(shí)候使用assertion(斷言)在軟件開(kāi)發(fā)中使用中常見(jiàn)的調(diào)試方式,很多編程語(yǔ)言中都支持這種機(jī)制,在實(shí)現(xiàn)中,assertion就是在程序中的一條語(yǔ)句,他對(duì)一個(gè)boolean表達(dá)式進(jìn)行檢查,一個(gè)正確的程序必須保證這個(gè)boolean表達(dá)式的值是true。如果該值為false,說(shuō)迷宮程序已經(jīng)處于不正確的狀態(tài)了,系統(tǒng)將給出警告或者退出。一般來(lái)說(shuō)assertion用來(lái)保證程序最基本、關(guān)鍵的正確性,assertion檢查通常在開(kāi)發(fā)和測(cè)試時(shí)啟動(dòng),為了提高效率,在軟件發(fā)布后,assertion檢查通常是關(guān)閉的。
GC是什么?為什么要有GC?
GC是垃圾回收的意思(gabage collection),內(nèi)存處理器是編程人員容易出現(xiàn)問(wèn)題的地方,忘記或者錯(cuò)誤的內(nèi)存回收導(dǎo)致程序或者系統(tǒng)的不穩(wěn)定甚至崩潰,java的GC功能可以自動(dòng)監(jiān)測(cè)對(duì)象是否超過(guò)作用域從而達(dá)到自動(dòng)回收內(nèi)存的目的,java語(yǔ)言沒(méi)有提供釋放已分配內(nèi)存的俄顯示操作方法。
啟動(dòng)線程使用run還是start?
啟動(dòng)一個(gè)線程用start方法,使線程所代表的虛擬處理機(jī)處于可運(yùn)行的狀態(tài),這意味著它可以有JVM(java虛擬機(jī))來(lái)調(diào)度和執(zhí)行,這并不意味著線程就會(huì)立即執(zhí)行。run方法可以產(chǎn)生必須退出的標(biāo)志來(lái)停止一個(gè)線程。
垃圾回收機(jī)制的優(yōu)點(diǎn),并考慮2種回收機(jī)制
java語(yǔ)言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使C++程序員最頭痛的內(nèi)存管理問(wèn)題迎刃而解,他使得java程序員在編寫承學(xué)的哦時(shí)候不用再考慮內(nèi)潤(rùn)管理問(wèn)題了,由于有了垃圾回收機(jī)制,java中的對(duì)象不再有“作用域”的概念,只是在對(duì)象引用的時(shí)候才有“作用域”,垃圾回收可以有效的防止內(nèi)存泄漏,有效的使用可以使用的內(nèi)存。垃圾回收器通常作為一個(gè)單獨(dú)的低級(jí)別的線程運(yùn)行,不可預(yù)知的情況下對(duì)內(nèi)存堆中已經(jīng)死亡的或者長(zhǎng)時(shí)間沒(méi)有使用的對(duì)象進(jìn)行清楚的哦回收,承諾過(guò)許愿程序員不能實(shí)時(shí)的調(diào)用來(lái)幾回收器對(duì)某個(gè)對(duì)象或所有對(duì)象進(jìn)行垃圾回收,回收機(jī)制有分帶復(fù)制來(lái)幾回收和標(biāo)記垃圾回收,增量垃圾回收。
當(dāng)一個(gè)對(duì)象作為參數(shù)傳遞給一個(gè)方法后,此方法可以給便這個(gè)對(duì)象的屬性,并可以返回變化后的結(jié)果,那么這里到底是值的傳遞還是引用傳遞?
是值得傳遞,java語(yǔ)言中只有值傳遞參數(shù),對(duì)一個(gè)對(duì)象實(shí)例作為一個(gè)參數(shù)被傳遞到方法中時(shí),參數(shù)的值就是對(duì)該對(duì)象的引用,對(duì)象的內(nèi)容可以在被調(diào)用的方法中改變,但對(duì)象的引用是永遠(yuǎn)改變不了的。
構(gòu)造器Constructor是否可以被override?
構(gòu)造器(override)不能被繼承,因此不能重寫overriding,但是可以被重載overloading。
【Java基礎(chǔ)知識(shí)問(wèn)答】相關(guān)文章:
Java基礎(chǔ)知識(shí)精選09-07
Java 問(wèn)答面試題09-03
java基礎(chǔ)知識(shí)匯總07-22
Java基礎(chǔ)知識(shí)概述05-16
Java面試基本問(wèn)答題09-01
Java基礎(chǔ)知識(shí)點(diǎn)07-07
Java語(yǔ)言編程基礎(chǔ)知識(shí)06-16