经典java程序员的面试题及答案
?
今天動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編為大家分享“經(jīng)典java程序員的面試題及答案”,希望通過(guò)此文能夠幫助到正在找工作或是即將畢業(yè)的"你",下面就隨小編一起看看經(jīng)典java程序員的面試題有哪些?
?
?
1、面向?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èi)的層次模型,允許和鼓勵(lì)類(lèi)的重用,提供了一種明確的共性的方法。對(duì)象的一個(gè)新類(lèi)可以從現(xiàn)有的類(lèi)中派生,這叫做類(lèi)的繼承。心累繼承了原始類(lèi)的特性,新類(lèi)稱(chēng)為原始類(lèi)的派生類(lèi)或者是子類(lèi),原始類(lèi)稱(chēng)為新類(lèi)的基類(lèi)或者父類(lèi)。子類(lèi)可以從父類(lèi)那里繼承父類(lèi)的方法和實(shí)現(xiàn)變量,并卻允許新類(lèi)增加和修改新的方法使之滿足需求。
?
封裝:封裝就是把過(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):多態(tài)性是指不同類(lè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)題。
?
2、int 和 Integer 有什么區(qū)別
?
java提供了兩種類(lèi)型:引用類(lèi)型和原始類(lèi)型(內(nèi)置類(lèi)型)。int是java的原始數(shù)據(jù)類(lèi)型,Integer是java為int提供的封裝類(lèi)。
?
java為每一種數(shù)據(jù)類(lèi)型提供了自己的封裝類(lèi):
?
原始數(shù)據(jù)類(lèi)型封裝類(lèi)intIntegerbooleanBooleancharCharacterbyteByteshortShortlongLongfloatFloatdoubleDouble
?
引用類(lèi)型和原始類(lèi)型的行為完全不同,并且他們具有不同的語(yǔ)義,引用類(lèi)型和原始類(lèi)型具有不同的特征和用法,他們包括:大小和速度問(wèn)題,這種類(lèi)型以哪種類(lèi)型的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),當(dāng)引用類(lèi)型和原始類(lèi)型有用作某個(gè)類(lèi)的實(shí)例數(shù)據(jù)時(shí)制定的缺省值。對(duì)象應(yīng)用實(shí)例變量的缺省值為null,而原始類(lèi)型實(shí)例變量的缺省值與它們的類(lèi)型有關(guān)。
?
3、final、finally、finalize的區(qū)別
?
final是一種聲明屬性,作用與類(lèi)、方法和變量;final修飾的變量的值不能夠再改變,final修飾的方面不能被覆蓋,final修飾的類(lèi)不能被繼承。
?
finally是異常處理語(yǔ)句的一部分,表示總是執(zhí)行。
?
finalize是object類(lèi)的一個(gè)子方法,在垃圾回收器執(zhí)行是調(diào)用回收對(duì)象的此方法,此方法可以被覆蓋提供資源回收時(shí)的其他資源回收。如文件關(guān)閉等。
?
4、 heap和stack的區(qū)別
?
棧是一種現(xiàn)行結(jié)構(gòu),其添加和刪除元素應(yīng)在同一段完成,棧按照先進(jìn)后出的方式進(jìn)行處理。
?
堆是棧的一個(gè)組成元素。
?
5、 基本的數(shù)據(jù)類(lèi)型
?
byte,int,long,double,char,boolean,float,short
?
String不是基本數(shù)據(jù)類(lèi)型,java.util.String是final類(lèi),因此不能修改這個(gè)類(lèi),不能繼承這個(gè)類(lèi)。
?
為了節(jié)省空間,提高效率我們應(yīng)該用StringBuffer。
?
6、 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)閉的。
?
7、 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)存的俄顯示操作方法。
?
8、啟動(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è)線程。
?
9、構(gòu)造器Constructor是否可以被override?
?
構(gòu)造器(override)不能被繼承,因此不能重寫(xiě)overriding,但是可以被重載overloading。
?
10、 當(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)改變不了的。
?
11、 垃圾回收機(jī)制的優(yōu)點(diǎn),并考慮2種回收機(jī)制。
?
java語(yǔ)言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使C++程序員最頭痛的內(nèi)存管理問(wèn)題迎刃而解,他使得java程序員在編寫(xiě)承學(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)記垃圾回收,增量垃圾回收。
?
12、char型變量中能不能存儲(chǔ)一個(gè)中文漢字?為什么?
?
能夠存儲(chǔ)一個(gè)漢字。
?
因?yàn)閖ava中以u(píng)nicode編碼,一個(gè)char占16個(gè)字節(jié),多億放一個(gè)中文是沒(méi)有問(wèn)題的。
?
13、jsp中的內(nèi)置對(duì)象
?
request——表示HttpServletRequest對(duì)象,它包含了有關(guān)瀏覽器請(qǐng)求的信息,并且提供了幾個(gè)用于獲取cookie,header和session數(shù)據(jù)的游泳的方法。
?
response——表示HttpServletResponse對(duì)象,提供了幾個(gè)用于設(shè)置送回瀏覽器響應(yīng)的方法(如cookie頭信息等)。
?
out——對(duì)象是java.jsp.JspWriter的一個(gè)實(shí)例,提供了幾種方法使你能用于想瀏覽器返回輸出結(jié)果。
?
pageContext——表示一個(gè)javax.servlet.jsp.PageContext對(duì)象。它是用于方便存取各種范圍的名字空間、servlet相關(guān)的對(duì)象的API,并且包裝了通用的servlet相關(guān)的功能的方法。
?
session——表示一個(gè)請(qǐng)求的javax.servlet.http.HttpSession對(duì)象,session可以村相互用戶的狀態(tài)信息。
?
application——表示一個(gè)javax.servlet.ServletContext對(duì)象,這有助于查找有關(guān)servlet引擎和servlet環(huán)境的信息。
?
config——表示一個(gè)javax.servlet.ServletConfig對(duì)象,該對(duì)象用于存取servlet實(shí)例的初始化數(shù)據(jù)。
?
page——表示從該頁(yè)面產(chǎn)生的一個(gè)servlet實(shí)例。
?
14、jsp和servlet有奶俄相同點(diǎn)和不同點(diǎn)?他們之間的聯(lián)系是什么?
?
jsp是servlet技術(shù)的擴(kuò)展,本質(zhì)上是servlet的簡(jiǎn)易方式,強(qiáng)調(diào)應(yīng)用的表現(xiàn)和表達(dá),jsp編譯后是“類(lèi)servlet”,servlet和jsp最主要的不同點(diǎn)在于,servlet的應(yīng)用邏輯是在java文件中,并且完全從表示層中的html里分離出來(lái),而jsp的情況但是java和html可以組合成一個(gè)擴(kuò)展名為.jsp的文件,jsp側(cè)重于視圖,servlet主要用于控制邏輯。
?
15、匿名內(nèi)部類(lèi)(Anonymous Inner Class)是否可繼承其他類(lèi),是否可以實(shí)現(xiàn)接口?
?
可以繼承其他類(lèi)或完成其他接口,在swing編程中常用此方式。
?
16、HashMap和HashTable的區(qū)別
?
HashMap是HashTable的輕量級(jí)實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空鍵值(key),郁郁非線程安全,效率上可能高于HashTable。
?
17、String s=new String("abc");創(chuàng)建了幾個(gè)對(duì)象?
?
創(chuàng)建了兩個(gè) 一個(gè)是“abc” 一個(gè)是指向“abc”對(duì)象的 S 對(duì)象。
?
18、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
?
Math.round(11.5)==12,Math.round(-11.5)==-11,
?
return方法返回與參數(shù)最接近的長(zhǎng)整數(shù),參數(shù)加1/2后求其floor。
?
19、sleep()和wait()的區(qū)別?
?
sleep是線程類(lèi)(thread)的方法。導(dǎo)致此線程暫停執(zhí)行之地昂時(shí)間,給執(zhí)行的機(jī)會(huì)給其他線程,但是監(jiān)控狀態(tài)依然保持,到時(shí)候后自動(dòng)回復(fù),調(diào)用sleep不會(huì)釋放對(duì)象鎖。
?
wait是object類(lèi)的方法,對(duì)此對(duì)象發(fā)出wait方法導(dǎo)致本線程放棄對(duì)象鎖,進(jìn)入等待此對(duì)象的的呢古代鎖定池,只有針對(duì)此對(duì)象發(fā)出notify方法(或者notifyAll)后本線程才進(jìn)入對(duì)象鎖定池準(zhǔn)備獲得對(duì)象鎖進(jìn)入運(yùn)行狀態(tài)。
?
20、數(shù)組有沒(méi)有l(wèi)ength()這個(gè)方法?String有沒(méi)有l(wèi)ength()這個(gè)方法?
?
數(shù)組沒(méi)有l(wèi)ength()這個(gè)方法,有l(wèi)ength方法。
?
String有l(wèi)ength()方法。
?
21、Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類(lèi)型?
?
方法的重寫(xiě)OVerriding和重載Overloading是Java多態(tài)的不同表現(xiàn),
?
重寫(xiě)Overriding是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現(xiàn),重載Overloading是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn),
?
如果在子類(lèi)中定義某方法與其父類(lèi)有相同的名稱(chēng)和參數(shù),我們說(shuō)該方法被重寫(xiě)(Voerriding)。子類(lèi)的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類(lèi)中的定義,對(duì)它而言,父類(lèi)中的定義如同被屏蔽了,如果在一個(gè)類(lèi)中定義了多個(gè)同名的方法,他們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類(lèi)型,則稱(chēng)為方法的重載(Overriding),Overriding的方法是可以改變返回值的類(lèi)型。
?
22、Set里的元素是不是能夠重復(fù)的,那么用什么方法來(lái)區(qū)分重復(fù)與否呢?使用==還是用equals()?他們有什么區(qū)別?
?
Set里的元素是不能重復(fù)的,那么用iterator()方法來(lái)區(qū)分重復(fù)與否。equals()方法是判斷兩個(gè)Set是否相等。
?
equals()和==方法決定引用值是否指向同一個(gè)對(duì)象,equals()在類(lèi)中被覆蓋,為的是當(dāng)兩個(gè)分離的對(duì)象的內(nèi)容和類(lèi)型相配的話,返回真值。
?
23、error和exception 的區(qū)別
?
error表示恢復(fù)不是不可能但是很困難的情況下的一種嚴(yán)重問(wèn)題。比如說(shuō)內(nèi)存溢出,不可能指望程序能處理之中情況。
?
exception表示一種設(shè)計(jì)或?qū)崿F(xiàn)問(wèn)題。也就是說(shuō),他表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。
?
24、abstract class和interface有什么區(qū)別?(抽象類(lèi)與接口的區(qū)別)
?
聲明方法的存在不去實(shí)現(xiàn)他的類(lèi)被叫做抽象類(lèi)(abstrct class),它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類(lèi),并為該類(lèi)聲明方法,但不能在類(lèi)終中實(shí)現(xiàn)該類(lèi)的情況,不能創(chuàng)建abstract類(lèi)的實(shí)例。然而可以創(chuàng)建一個(gè)變量,其類(lèi)型就是一個(gè)抽象類(lèi),并讓他指向具體的子類(lèi)的一個(gè)實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法,abstract類(lèi)的子類(lèi)為他們的父類(lèi)中的所有抽象方法提供實(shí)現(xiàn),否則他們也是抽象類(lèi)為,取而代之,在子類(lèi)中是實(shí)現(xiàn)該方法。知道其行為的其他類(lèi)可以在類(lèi)中實(shí)現(xiàn)這些方法。
?
接口(interface)是抽象類(lèi)的變體,在接口中,所有方法都是抽象的。多繼承性可通過(guò)實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒(méi)有一個(gè)有程序體,接口只可以定義static final成員變量,接口的實(shí)現(xiàn)與子類(lèi)相似,除了個(gè)實(shí)現(xiàn)類(lèi)不能從從接口定義中繼承行為,當(dāng)類(lèi)實(shí)現(xiàn)特殊的接口時(shí),他定義(即將程序給予)多有這種接口的犯法,然后,它可以在實(shí)現(xiàn)了該接口的類(lèi)的任何對(duì)象上調(diào)用接口的方法,由于抽象類(lèi),它允許使用接口名作為應(yīng)用變量的類(lèi)型。通常的動(dòng)態(tài)聯(lián)編將生效,引用可以轉(zhuǎn)換到接口類(lèi)型或從接口類(lèi)型轉(zhuǎn)換,instanceof運(yùn)算符可以用來(lái)決定某對(duì)象的類(lèi)是實(shí)現(xiàn)了接口。
?
25、abstract的method是否可同時(shí)是static,是否可以是同時(shí)是native,是否同時(shí)是synchronized?
?
都不可以
?
26、jsp頁(yè)面中的跳轉(zhuǎn)方式分別是什么?有什么區(qū)別?
?
有兩種,分別是
?
< JSP:INCLUDE page="jjj.jsp" fresh="true">
?
< JSP:FORWARD page="nextpage.jsp">
?
區(qū)別:
?
前者頁(yè)面不會(huì)轉(zhuǎn)向include所指的頁(yè)面,只是顯示該頁(yè)的結(jié)果,主頁(yè)面還是原來(lái)的頁(yè)面,執(zhí)行完后就會(huì)回來(lái),相當(dāng)于函數(shù)調(diào)用,并且可以帶有參數(shù),后指完全轉(zhuǎn)向新的頁(yè)面,不會(huì)再回來(lái)。相當(dāng)于個(gè)goto語(yǔ)句。
?
27、java servlet API中的forward()和redirect()的區(qū)別?
?
前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向的地址,后者則是完全的跳轉(zhuǎn),瀏覽器將會(huì)得到跳轉(zhuǎn)的地址,并重新發(fā)送請(qǐng)求鏈接,這樣,從瀏覽器的地址欄中就可以看到跳轉(zhuǎn)以后的鏈接地址,多億,牽制更為高效。在前者可以滿足需要的同時(shí),盡量使用forward()方法,并且這樣有助于隱藏實(shí)際的鏈接,在有些情況下,比如需要跳轉(zhuǎn)到其他瀏覽器的資源,則必須用sendRedeirct()方法。
?
28、xml有哪些解析技術(shù)?區(qū)別是什么?
?
有DOM,SAX,STAX等
?
DOM:處理大型文件是其性能下降的非常厲害,這個(gè)問(wèn)題是由DOM的樹(shù)結(jié)構(gòu)造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且DOM必須在解析文件之前把整個(gè)文檔裝入內(nèi)存,適合對(duì)xml的隨機(jī)訪問(wèn),sax:不現(xiàn)于,DOM,SAX是事件驅(qū)動(dòng)型的xml解析方式,他順序的讀取xml文件,不需要自已全部裝載正文件,當(dāng)遇到文檔開(kāi)頭,文檔結(jié)束,或者標(biāo)簽開(kāi)都與標(biāo)簽結(jié)束時(shí),他會(huì)觸發(fā)一個(gè)事件,用于通過(guò)在其回調(diào)事件中寫(xiě)入處理代碼來(lái)處理xml文件,適合對(duì)xml的順序訪問(wèn)。
?
Stax:Streaming API for xml(Stax)。
?
29、jsp中有哪些內(nèi)置對(duì)象?他們的作用是什么?
?
jsp中共9中內(nèi)置組件:
?
request:用戶端請(qǐng)求,此請(qǐng)求會(huì)包含來(lái)自GET/Post請(qǐng)求的參數(shù);
?
response:網(wǎng)頁(yè)傳回用戶端的回應(yīng)。
?
pageContext:頁(yè)面的屬性是在這里管理
?
session:與請(qǐng)求有關(guān)的回話期
?
application :Servlet正在執(zhí)行的內(nèi)容
?
out :用來(lái)傳遞回應(yīng)的輸出
?
config :servlet的構(gòu)架部件
?
page jsp網(wǎng)頁(yè)本身
?
exception:針對(duì)錯(cuò)誤的網(wǎng)頁(yè)。未捕捉的例外。
?
30、編程用java解析xml的方式
?
用sax方式解析xml,xml如下:
?
< ? xml version=1.0 encoding=gb2312? >
?
小明
?
信息學(xué)院
?
6258113
?
男,1955,博士,94年調(diào)入海南大學(xué)
?
事件回調(diào)類(lèi)SAXHandler.java
import java.io.*;
import java.util.Hashtable;
import org.xml.sax.*;
public class SAXHandler extends HandlerBase
{
private Hashtable table = new Hashtable();
private String currentElement = null;
private String currentValue = null;
public void setTable(Hashtable table)
{
this.table = table;
}
public Hashtable getTable()
{
return table;
}
public void startElement(String tag, AttributeList attrs)
throws SAXException
{
currentElement = tag;
}
public void characters(char[] ch, int start, int length)
throws SAXException
{
currentValue = new String(ch, start, length);
}
public void endElement(String name) throws SAXException
{
if (currentElement.equals(name))
table.put(currentElement, currentValue);
}
}
JSP內(nèi)容顯示源碼,SaxXml.jsp:
< %@page errorPage=ErrPage.jsp contentType=text/html;
charset=GB2312 %> >
< %@page import=java.io.*%>
< %@page import=java.util.Hashtable %>
< %@page import=org.w3c.dom.*% >
< %@page import=org.xml.sax.* %>
< %@page import=javax.xml.parsers.SAXParserFactory %>
< %@page import=javax.xml.parsers.SAXParser %>
< %@page import=SAXHandler %>
< %@
File file = new File(c:people.xml);
FileReader reader = new FileReader(file);
Parser parser;
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
SAXHandler handler = new SAXHandler();
sp.parse(new InputSource(reader), handler);
Hashtable hashTable = handler.getTable();
out.println( );
out.println(
+ );
out.println(
+ );
out.println(
+ );
out.println(
+ );
out.println(
教師信息表
姓名 +
(String)hashTable.get(new String(name)) +
學(xué)院 +
(String)hashTable.get(new String(college))+
電話 +
(String)hashTable.get(new String(telephone)) +
備注 +
(String)hashTable.get(new String(notes)) +
);
>
?
31、EJB與JavaBean的區(qū)別
?
JavaBean是可重復(fù)用的組件,對(duì)JavaBean并沒(méi)有嚴(yán)格的規(guī)范,理論上講,任何一個(gè)Java類(lèi)都可以是一個(gè)Bean,但是通常情況下,由于JavaBean是被容器所建(如tomcat等)的。所以JavaBean應(yīng)具有一個(gè)參數(shù)的構(gòu)造器,另外通常JavaBean還要實(shí)現(xiàn)serializable接口用于實(shí)現(xiàn)Bean的持久性,JavaBean實(shí)際上相當(dāng)于微軟Com模型中的本地進(jìn)程中com組件,踏實(shí)不能被夸進(jìn)程訪問(wèn)的,enterorise JavaBean相當(dāng)于DCOM,即分布式組件,踏實(shí)基于java的與阿成方法的調(diào)用(RMI)技術(shù)的,所以EJB可以被遠(yuǎn)程訪問(wèn)(跨進(jìn)成,跨計(jì)算機(jī))但是EJB必須被部署在諸如websoere、weblogic這樣的容器中,EJB客戶從不直接訪問(wèn)真正的EJB組件,而是通過(guò)其容器訪問(wèn),EJB容器是EJB組建的代理,EJB組件由容器創(chuàng)建和管理。客戶通過(guò)容器訪問(wèn)真正的EJB組件。
?
?
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編介紹的“經(jīng)典java程序員的面試題及答案”的內(nèi)容,希望對(duì)大家有幫助,更多java最新面試題請(qǐng)繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。
超強(qiáng)干貨來(lái)襲 云風(fēng)專(zhuān)訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的经典java程序员的面试题及答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java程序员高薪持续的原因有哪些
- 下一篇: 机器学习入门---------numpy