更新時(shí)間:2019-08-26 19:08:06 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2655次
Java工程開發(fā)師這個(gè)崗位炙手可熱,市場(chǎng)需求多,學(xué)習(xí)Java的人也不少,所以IT企業(yè)與求職者的選擇都比較多。那么IT企業(yè)在與應(yīng)聘者面試時(shí)都會(huì)問(wèn)到哪些問(wèn)題呢,下面動(dòng)力節(jié)點(diǎn)Java學(xué)院小編為大家整理了一些面試中必問(wèn)的幾個(gè)java面試問(wèn)題,拿起小本本,趕緊把寶典記下
名詞篇
EJB:Enterprise Java Bean 相當(dāng)于DCOM,即分布式組件。它是基于Java的遠(yuǎn)程方法調(diào)用(RMI)技術(shù)的,所以EJB可以被遠(yuǎn)程訪問(wèn)(跨進(jìn)程、跨計(jì)算機(jī))。但EJB必須被布署在諸如Webspere、WebLogic這樣的容器中,EJB客戶從不直接訪問(wèn)真正的EJB組件,而是通過(guò)其容器訪問(wèn)。EJB容器是EJB組件的代理,EJB組件由容器所創(chuàng)建和管理。客戶通過(guò)容器來(lái)訪問(wèn)真正的EJB組件。
RMI:RMI(RemoteMethod Invocation,遠(yuǎn)程方法調(diào)用)是用Java在JDK1.1中實(shí)現(xiàn)的,它大大增強(qiáng)了Java開發(fā)分布式應(yīng)用的能力。Java作為一種風(fēng)靡一時(shí)的網(wǎng)絡(luò)開發(fā)語(yǔ)言,其巨大的威力就體現(xiàn)在它強(qiáng)大的開發(fā)分布式網(wǎng)絡(luò)應(yīng)用的能力上,而RMI就是開發(fā)百分之百純Java的網(wǎng)絡(luò)分布式應(yīng)用系統(tǒng)的核心解決方案之一。其實(shí)它可以被看作是RPC的Java版本。但是傳統(tǒng)RPC并不能很好地應(yīng)用于分布式對(duì)象系統(tǒng)。而Java RMI 則支持存儲(chǔ)于不同地址空間的程序級(jí)對(duì)象之間彼此進(jìn)行通信,實(shí)現(xiàn)遠(yuǎn)程對(duì)象之間的無(wú)縫遠(yuǎn)程調(diào)用。
ORM:ORM對(duì)象-關(guān)系映射(Object-RelationMapping)模式是指在單個(gè)組件中負(fù)責(zé)所有實(shí)體域?qū)ο蟮某志没庋b數(shù)據(jù)訪問(wèn)細(xì)節(jié)。
問(wèn)答篇
1.Servlet中如何獲取用戶提交的查詢參數(shù)或表單數(shù)據(jù)?
可以通過(guò)請(qǐng)求對(duì)象(HttpServletRequest)的getParameter()方法通過(guò)參數(shù)名獲得參數(shù)值。如果有包含多個(gè)值的參數(shù)(例如復(fù)選框),可以通過(guò)請(qǐng)求對(duì)象的getParameterValues()方法獲得。
當(dāng)然也可以通過(guò)請(qǐng)求對(duì)象的getParameterMap()獲得一個(gè)參數(shù)名和參數(shù)值的映射(Map)。
2.Java集合類框架的基本接口有哪些?
集合類接口指定了一組叫做元素的對(duì)象。集合類接口的每一種具體的實(shí)現(xiàn)類都可以選擇以它自己的方式對(duì)元素進(jìn)行保存和排序。有的集合類允許重復(fù)的鍵,有些不允許。
3.基本的接口有:
Collection:代表一組對(duì)象,每一個(gè)對(duì)象都是它的子元素。
Set:不包含重復(fù)元素的Collection。
List:有順序的collection,并且可以包含重復(fù)元素。
Map:可以把鍵(key)映射到值(value)的對(duì)象,鍵不能重復(fù)。
4.在Hibernate應(yīng)用中Java對(duì)象的狀態(tài)有哪些?
(1)臨時(shí)狀態(tài)(transient):剛剛用new語(yǔ)句創(chuàng)建,還沒(méi)有被持久化,不處于Session的緩存中。處于臨時(shí)狀態(tài)的Java對(duì)象被稱為臨時(shí)對(duì)象。
(2)持久化狀態(tài)(persistent):已經(jīng)被持久化,加入到Session的緩存中。處于持久化狀態(tài)的Java對(duì)象被稱為持久化對(duì)象。
(3)游離狀態(tài)(detached):已經(jīng)被持久化,但不再處于Session的緩存中。處于游離狀態(tài)的Java對(duì)象被稱為游離對(duì)象。
簡(jiǎn)述篇
1.請(qǐng)簡(jiǎn)述Session的特點(diǎn)有哪些?
(1)不是線程安全的,因此在設(shè)計(jì)軟件架構(gòu)時(shí),應(yīng)該避免多個(gè)線程共享同一個(gè)Session實(shí)例。
(2)Session實(shí)例是輕量級(jí)的,所謂輕量級(jí)是指它的創(chuàng)建和銷毀不需要消耗太多的資源。這意味著在程序中可以經(jīng)常創(chuàng)建或銷毀Session對(duì)象,例如為每個(gè)客戶請(qǐng)求分配單獨(dú)的Session實(shí)例,或者為每個(gè)工作單元分配單獨(dú)的Session實(shí)例。
(3)在Session 中,每個(gè)數(shù)據(jù)庫(kù)操作都是在一個(gè)事務(wù)(transaction)中進(jìn)行的,這樣就可以隔離開不同的操作(甚至包括只讀操作)。
2.Java有沒(méi)有g(shù)oto?
goto 是Java中的保留字,在目前版本的Java中沒(méi)有使用。(根據(jù)James Gosling(Java之父)編寫的《The Java Programming Language》一書的附錄中給出了一個(gè)Java關(guān)鍵字列表,其中有g(shù)oto和const,但是這兩個(gè)是目前無(wú)法使用的關(guān)鍵字,因此有些地方將其稱之為保留字,其實(shí)保留字這個(gè)詞應(yīng)該有更廣泛的意義,因?yàn)槭煜語(yǔ)言的程序員都知道,在系統(tǒng)類庫(kù)中使用過(guò)的有特殊意義的單詞或單詞的組合都被視為保留字)。
3.String,StringBuffer和StringBuilder有什么區(qū)別?
字符串在Java中是不可變的和最終的,所以無(wú)論何時(shí)執(zhí)行字符串操作,都會(huì)創(chuàng)建一個(gè)新的字符串。由于String操作耗費(fèi)資源,因此Java提供了兩個(gè)實(shí)用程序類:StringBuffer和StringBuilder。
StringBuffer和StringBuilder是可變類。在StringBuilder操作不是線程安全的情況下,StringBuffer操作是線程安全的并且是同步的。
當(dāng)多線程在單線程環(huán)境中使用相同的String和StringBuilder時(shí),將使用StringBuffer。
與StringBuffer相比,StringBuilder的性能更快,因?yàn)闆](méi)有同步開銷。
最后祝各位小伙伴們面試成功,早日走上高級(jí)Java開發(fā)工程師崗位,從此邁向人生巔峰!如還有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)