主頁 > 教育培訓 > 電腦培訓 > java面試題及答案 java筆試試題練習(4)

java面試題及答案 java筆試試題練習(4)

  getParameterNames():獲得客戶端傳送給服務器端的所有參數(shù)的名字,結果是一個枚舉的實例

  getParameterValues(String name):獲得有name指定的參數(shù)的所有值

  getProtocol():獲取客戶端向服務器端傳送數(shù)據(jù)所依據(jù)的協(xié)議名稱

  getQueryString():獲得查詢字符串

  getRequestURI():獲取發(fā)出請求字符串的客戶端地址

  getRemoteAddr():獲取客戶端的IP地址

  getRemoteHost():獲取客戶端的名字

  getSession([Boolean create]):返回和請求相關Session

  getServerName():獲取服務器的名字

  getServletPath():獲取客戶端所請求的腳本文件的路徑

  getServerPort():獲取服務器的端口號

  removeAttribute(String name):刪除請求中的一個屬性

  67、J2EE是技術還是平臺還是框架?

  J2EE本身是一個標準,一個為企業(yè)分布式應用的開發(fā)提供的標準平臺。

  J2EE也是一個框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技術。

  68、我們在web應用開發(fā)過程中經(jīng)常遇到輸出某種編碼的字符,如iso8859-1等,如何輸出一個某種編碼的字符串?

  Public String translate (String str) {

  String tempStr = "";

  try {

  tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");

  tempStr = tempStr.trim();

  }

  catch (Exception e) {

  System.err.println(e.getMessage());

  }

  return tempStr;

  }

  69、簡述邏輯操作(&,|,^)與條件操作(&&,||)的區(qū)別。

  區(qū)別主要答兩點:a.條件操作只能操作布爾型的,而邏輯操作不僅可以操作布爾型,而且可以操作數(shù)值型

  b.邏輯操作不會產(chǎn)生短路

  70、XML文檔定義有幾種形式?它們之間有何本質區(qū)別?解析XML文檔有哪幾種方式?

  a: 兩種形式 dtd schema,b: 本質區(qū)別:schema本身是xml的,可以被XML解析器解析(這也是從DTD上發(fā)展schema的根本目的),c:有DOM,SAX,STAX等

  DOM:處理大型文件時其性能下降的非常厲害。這個問題是由DOM的樹結構所造成的,這種結構占用的內存較多,而且DOM必須在解析文件之前把整個文檔裝入內存,適合對XML的隨機訪問

  SAX:不現(xiàn)于DOM,SAX是事件驅動型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個文件。當遇到像文件開頭,文檔結束,或者標簽開頭與標簽結束時,它會觸發(fā)一個事件,用戶通過在其回調事件中寫入處理代碼來處理XML文件,適合對XML的順序訪問

  STAX:Streaming API for XML (StAX)

  71、簡述synchronized和java.util.concurrent.locks.Lock的異同 ?

  主要相同點:Lock能完成synchronized所實現(xiàn)的所有功能

  主要不同點:Lock有比synchronized更精確的線程語義和更好的性能。synchronized會自動釋放鎖,而Lock一定要求程序員手工釋放,并且必須在finally從句中釋放。

  72、EJB的角色和三個對象

  一個完整的基于EJB的分布式計算結構由六個角色組成,這六個角色可以由不同的開發(fā)商提供,每個角色所作的工作必須遵循Sun公司提供的EJB規(guī)范,以保證彼此之間的兼容性。這六個角色分別是EJB組件開發(fā)者(Enterprise Bean Provider) 、應用組合者(Application Assembler)、部署者(Deployer)、EJB 服務器提供者(EJB Server Provider)、EJB 容器提供者(EJB Container Provider)、系統(tǒng)管理員(System Administrator)

  三個對象是Remote(Local)接口、Home(LocalHome)接口,Bean類

  73、EJB容器提供的服務

  主要提供聲明周期管理、代碼產(chǎn)生、持續(xù)性管理、安全、事務管理、鎖和并發(fā)行管理等服務。

  74、EJB規(guī)范規(guī)定EJB中禁止的操作有哪些?

  1.不能操作線程和線程API(線程API指非線程對象的方法如notify,wait等),2.不能操作awt,3.不能實現(xiàn)服務器功能,4.不能對靜態(tài)屬生存取,5.不能使用IO操作直接存取文件系統(tǒng),6.不能加載本地庫.,7.不能將this作為變量和返回,8.不能循環(huán)調用。

  75、remote接口和home接口主要作用

  remote接口定義了業(yè)務方法,用于EJB客戶端調用業(yè)務方法。

  home接口是EJB工廠用于創(chuàng)建和移除查找EJB實例

  76、bean 實例的生命周期

  對于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在緩沖池管理,而對于Entity Bean和Statefull Session Bean存在Cache管理,通常包含創(chuàng)建實例,設置上下文、創(chuàng)建EJB Object(create)、業(yè)務方法調用、remove等過程,對于存在緩沖池管理的Bean,在create之后實例并不從內存清除,而是采用緩沖池調度機制不斷重用實例,而對于存在Cache管理的Bean則通過激活和去激活機制保持Bean的狀態(tài)并限制內存中實例數(shù)量。

  77、EJB的激活機制

  以Stateful Session Bean 為例:其Cache大小決定了內存中可以同時存在的Bean實例的數(shù)量,根據(jù)MRU或NRU算法,實例在激活和去激活狀態(tài)之間遷移,激活機制是當客戶端調用某個EJB實例業(yè)務方法時,如果對應EJB Object發(fā)現(xiàn)自己沒有綁定對應的Bean實例則從其去激活Bean存儲中(通過序列化機制存儲實例)回復(激活)此實例。狀態(tài)變遷前會調用對應的ejbActive和ejbPassivate方法。

  78、EJB的幾種類型

  會話(Session)Bean ,實體(Entity)Bean 消息驅動的(Message Driven)Bean

  會話Bean又可分為有狀態(tài)(Stateful)和無狀態(tài)(Stateless)兩種

  實體Bean可分為Bean管理的持續(xù)性(BMP)和容器管理的持續(xù)性(CMP)兩種

  79、客服端調用EJB對象的幾個基本步驟

  設置JNDI服務工廠以及JNDI服務地址系統(tǒng)屬性,查找Home接口,從Home接口調用Create方法創(chuàng)建Remote接口,通過Remote接口調用其業(yè)務方法。

  80、如何給weblogic指定大小的內存?

  在啟動Weblogic的腳本中(位于所在Domian對應服務器目錄下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以調整最小內存為32M,最大200M

  81、如何設定的weblogic的熱啟動模式(開發(fā)模式)與產(chǎn)品發(fā)布模式?

  可以在管理控制臺中修改對應服務器的啟動模式為開發(fā)或產(chǎn)品模式之一。或者修改服務的啟動文件或者commenv文件,增加set PRODUCTION_MODE=true。

  82、如何啟動時不需輸入用戶名與密碼?

  修改服務啟動文件,增加 WLS_USER和WLS_PW項。也可以在boot.properties文件中增加加密過的用戶名和密碼.

  83、在weblogic管理制臺中對一個應用域(或者說是一個網(wǎng)站,Domain)進行jms及ejb或連接池等相關信息進行配置后,實際保存在什么文件中?

  保存在此Domain的config.xml文件中,它是服務器的核心配置文件。

  84、說說weblogic中一個Domain的缺省目錄結構?比如要將一個簡單的helloWorld.jsp放入何目錄下,然的在瀏覽器上就可打入http://主機:端口號//helloword.jsp就可以看到運行結果了? 又比如這其中用到了一個自己寫的javaBean該如何辦?

  Domain目錄服務器目錄applications,將應用目錄放在此目錄下將可以作為應用訪問,如果是Web應用,應用目錄需要滿足Web應用目錄要求,jsp文件可以直接放在應用目錄中,Javabean需要放在應用目錄的WEB-INF目錄的classes目錄中,設置服務器的缺省應用將可以實現(xiàn)在瀏覽器上無需輸入應用名。

  85、在weblogic中發(fā)布ejb需涉及到哪些配置文件

  不同類型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP實體Bean一般還需要weblogic-cmp-rdbms-jar.xml

  86、如何在weblogic中進行ssl配置與客戶端的認證配置或說說j2ee(標準)進行ssl的配置

  缺省安裝中使用DemoIdentity.jks和DemoTrust.jks KeyStore實現(xiàn)SSL,需要配置服務器使用Enable SSL,配置其端口,在產(chǎn)品模式下需要從CA獲取私有密鑰和數(shù)字證書,創(chuàng)建identity和trust keystore,裝載獲得的密鑰和數(shù)字證書??梢耘渲么薙SL連接是單向還是雙向的。

  87、如何查看在weblogic中已經(jīng)發(fā)布的EJB?

  可以使用管理控制臺,在它的Deployment中可以查看所有已發(fā)布的EJB

  88、CORBA是什么?用途是什么?

  CORBA 標準是公共對象請求代理結構(Common Object Request Broker Architecture),由對象管理組織 (Object Management Group,縮寫為 OMG)標準化。它的組成是接口定義語言(IDL), 語言綁定(binding:也譯為聯(lián)編)和允許應用程序間互操作的協(xié)議。 其目的為:用不同的程序設計語言書寫在不同的進程中運行,為不同的操作系統(tǒng)開發(fā)。

  89、說說你所熟悉或聽說過的j2ee中的幾種常用模式?及對設計模式的一些看法

  Session Facade Pattern:使用SessionBean訪問EntityBean

  Message Facade Pattern:實現(xiàn)異步調用

  EJB Command Pattern:使用Command JavaBeans取代SessionBean,實現(xiàn)輕量級訪問

  Data Transfer Object Factory:通過DTO Factory簡化EntityBean數(shù)據(jù)提供特性

  Generic Attribute Access:通過AttibuteAccess接口簡化EntityBean數(shù)據(jù)提供特性

  Business Interface:通過遠程(本地)接口和Bean類實現(xiàn)相同接口規(guī)范業(yè)務邏輯一致性

  EJB架構的設計好壞將直接影響系統(tǒng)的性能、可擴展性、可維護性、組件可重用性及開發(fā)效率。項目越復雜,項目隊伍越龐大則越能體現(xiàn)良好設計的重要性。

免責聲明:該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務,不承擔相關法律責任。圖片涉及侵權行為,請發(fā)送郵件至85868317@qq.com舉報,一經(jīng)查實,本站將立刻刪除。返回查查吧首頁,查看更多>>
提示

該文觀點僅代表作者本人,查查吧平臺系信息發(fā)布平臺,僅提供信息存儲空間服務,不承擔相關法律責任。圖片涉及侵權行為,請發(fā)送郵件至85868317@qq.com舉報,一經(jīng)查實,本站將立刻刪除。

優(yōu)惠商城

更多