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