Java面試題庫(一)

來源:互聯網
上載者:User

  第一,談談final, finally, finalize的區別。

  final 用於聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。
finally是異常處理語句結構的一部分,表示總是執行。
finalize是Object類的一個方法,在垃圾收集器執行的時候會調用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關閉檔案等。
  第二,Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(介面)?
可以繼承其他類或完成其他介面,在swing編程中常用此方式。
  第三,Static Nested Class 和 Inner Class的不同,說得越多越好(面試題有的很籠統)。
Static Nested Class是被聲明為靜態(static)的內部類,它可以不依賴於外部類執行個體被執行個體化。而通常的內部類需要在外部類執行個體化後才能執行個體化。
  第四,&和&&的區別。
&是位元運算符,表示按位與運算,
&&是邏輯運算子,表示邏輯與(and).
  第五,HashMap和Hashtable的區別。
HashMap是Hashtable的輕量級實現(非安全執行緒的實現), 他們都完成了Map介面,主要區別在於HashMap允許空(null)索引值(key),由於非安全執行緒,效率上可能高於Hashtable.hashtable繼承了Dictionary介面,HashMap繼承了AbstractMap類。
第六,Collection 和 Collections的區別。

  Collection是集合類的上級介面,繼承與他的介面主要有Set 和List.
Collections是針對集合類的一個協助類,他提供一系列靜態方法實現對各種集合的搜尋、排序、安全執行緒化等操作。

  第七,什麼時候用assert。
1.4新增關鍵字(文法),用於測試boolean運算式狀態,可用於偵錯工具。
使用方法 assert <boolean運算式>,表示如果運算式為真(true),則下面的語句執行,否則拋出AssertionError。
另外的使用方式assert < boolean運算式>:<other運算式>,表示如果運算式為真,後面的運算式忽略,否則後面運算式的值用於AssertionError的構建參數。
注意編譯時間要增加-source 1.4 參數,否則報錯。]運行時要增加 -ea參數,否則assert行被忽略

  第八,GC是什麼? 為什麼要有GC?

  GC是垃圾收集的意思(Gabage Collection),記憶體處理是編程人員容易出現問題的地方,忘記或者錯誤的記憶體回收會導致程式或系統的不穩定甚至崩潰,Java提供的GC功能可以自動監測對象是否超過範圍從而達到自動回收記憶體的目的,Java語言沒有提供釋放已指派記憶體的顯示操作方法。

  第九,String s = new String("xyz");建立了幾個String Object?
兩個
  第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)==12
Math.round(-11.5)==-11
round方法返回與參數最接近的長整數,參數加1/2後求其floor.
  第十一,short s1 = 1; s1 = s1 + 1;有什麼錯? short s1 = 1; s1 += 1;有什麼錯?
short s1 = 1; s1 = s1 + 1; (s1+1運算結果是int型,需要強制轉換類型)
short s1 = 1; s1 += 1;(可以正確編譯)
  第十二,sleep() 和 wait() 有什麼區別?
sleep是線程類(Thread)的方法,導致此線程暫停執行指定時間,給執行機會給其他線程,但是監控狀態依然保持,到時後會自動回復。調用sleep不會釋放對象鎖。
wait是Object類的方法,對此對象調用wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發出notify方法(或notifyAll)後本線程才進入對象鎖定池準備獲得對象鎖進入運行狀態。
  第十三,Java有沒有goto?
沒有
  很十三的問題,如果哪個面試的問到這個問題,我勸你還是別進這家公司。(完)(job.sohu.com)

第十四,數組有沒有length()這個方法? String有沒有length()這個方法?
數組沒有length()這個方法,有length的屬性。
String有有length()這個方法。

第十五,Overload和Override的區別。Overloaded的方法是否可以改變傳回值的類型?
方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現,重載Overloading是一個類中多態性的一種表現。如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變傳回值的類型。

第十六,Set裡的元素是不能重複的,那麼用什麼方法來區分重複與否呢? 是用==還是equals()? 它們有何區別?
Set裡的元素是不能重複的,那麼用iterator()方法來區分重複與否。equals()是判讀兩個Set是否相等。
equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值。

第十七,給我一個你最常見到的runtime exception。
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

第十八,error和exception有什麼區別?
error 表示恢複不是不可能但很困難的情況下的一種嚴重問題。比如說記憶體溢出。不可能指望程式能處理這樣的情況。
exception 表示一種設計或實現問題。也就是說,它表示如果程式運行正常,從不會發生的情況。

第十九,List, Set, Map是否繼承自Collection介面?
List,Set是
Map不是

第二十,abstract class和interface有什麼區別?
聲明方法的存在而不去實現它的類被叫做抽象類別(abstract class),它用於要建立一個體現某些基本行為的類,並為該類聲明方法,但不能在該類中實現該類的情況。不能建立abstract 類的執行個體。然而可以建立一個變數,其類型是一個抽象類別,並讓它指向具體子類的一個執行個體。不能有抽象建構函式或抽象靜態方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類別為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法。
介面(interface)是抽象類別的變體。在介面中,所有方法都是抽象的。多繼承性可通過實現這樣的介面而獲得。介面中的所有方法都是抽象的,沒有一個有程式體。介面只可以定義static final成員變數。介面的實現與子類相似,除了該實作類別不能從介面定義中繼承行為。當類實現特殊介面時,它定義(即將程式體給予)所有這種介面的方法。然後,它可以在實現了該介面的類的任何對象上調用介面的方法。由於有抽象類別,它允許使用介面名作為引用變數的類型。通常的動態聯編將生效。引用可以轉換到介面類型或從介面類型轉換,instanceof 運算子可以用來決定某對象的類是否實現了介面。

第二十一,abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?
都不能

第二十二,介面是否可繼承介面? 抽象類別是否可實現(implements)介面? 抽象類別是否可繼承實體類(concrete class)?
介面可以繼承介面。抽象類別可以實現(implements)介面,抽象類別是否可繼承實體類,但前提是實體類必須有明確的建構函式。

第二十三,啟動一個線程是用run()還是start()?
啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處於可運行狀態,這意味著它可以由JVM調度並執行。這並不意味著線程就會立即運行。run()方法可以產生必須退出的標誌來停止一個線程。

第二十四,構造器Constructor是否可被override?
構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。

第二十五,是否可以繼承String類?
String類是final類故不可以繼承。

第二十六,當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?
不能,一個對象的一個synchronized方法只能由一個線程訪問。

第二十七,try {}裡有一個return語句,那麼緊跟在這個try後的finally {}裡的code會不會被執行,什麼時候被執行,在return前還是後?
會執行,在return前執行。

第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?
有C背景的程式員特別喜歡問這種問題。
2 << 3

第二十九,兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對?
不對,有相同的hash code。

第三十,當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這裡到底是值傳遞還是引用傳遞?
是值傳遞。Java 程式設計語言只由值傳遞參數。當一個對象執行個體作為一個參數被傳遞到方法中時,參數的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的。

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一個整數運算式。因此傳遞給 switch 和 case 語句的參數應該是 int、 short、 char 或者 byte。long,string 都不能作用於swtich。

第三十二,編程題: 寫一個Singleton出來。
Singleton模式主要作用是保證在Java應用程式中,一個類Class只有一個執行個體存在。
一般Singleton模式通常有幾種種形式:
第一種形式: 定義一個類,它的建構函式為private的,它有一個static的private的該類變數,在類初始化時執行個體話,通過一個public的getInstance方法擷取對它的引用,繼而調用其中的方法。
public class Singleton {
  private Singleton(){}
  //在自己內部定義自己一個執行個體,是不是很奇怪?
  //注意這是private 只供內部調用
  private static Singleton instance = new Singleton();
  //這裡提供了一個供外部存取本class的靜態方法,可以直接存取  
  public static Singleton getInstance() {
    return instance;   
   }
}
第二種形式:
public class Singleton {
  private static Singleton instance = null;
  public static synchronized Singleton getInstance() {
  //這個方法比上面有所改進,不用每次都進行產生對象,只是第一次     
  //使用時產生執行個體,提高了效率!
  if (instance==null)
    instance=new Singleton();
return instance;   }
}
其他形式:
定義一個類,它的建構函式為private的,所有方法為static的。
一般認為第一種形式要更加安全些

1 物件導向的特徵有哪些方面

2 String是最基本的資料類型嗎?

3 int 和 Integer 有什麼區別

4 String 和StringBuffer的區別

5運行時異常與一般異常有何異同?

異常表示程式運行過程中可能出現的非正常狀態,運行時異常表示虛擬機器的通常操作中可能遇到的異常,是一種常見運行錯誤。java編譯器要求方法必須聲明拋出可能發生的非運行時異常,但是並不要求必須聲明拋出未被捕獲的運行時異常。

6 說出一些常用的類,包,介面,請各舉5個

7 說出ArrayList,Vector, LinkedList的儲存效能和特性

ArrayList和Vector都是使用數組方式儲存資料,此數組元素數大於實際儲存的資料以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及數組元素移動等記憶體操作,所以索引資料快而插入資料慢,Vector由於使用了synchronized方法(安全執行緒),通常效能上較ArrayList差,而LinkedList使用雙向鏈表實現儲存,按序號索引資料需要進行前向或後向遍曆,但是插入資料時只需要記錄本項的前後項即可,所以插入速度較快。

8設計4個線程,其中兩個線程每次對j增加1,另外兩個線程對j每次減少1。寫出程式。

以下程式使用內部類實現線程,對j增減的時候沒有考慮順序問題。

CORBA方面
1、CORBA是什麼?用途是什麼?
答:CORBA 標準是公用對象請求代理結構(Common Object Request Broker Architecture),由對象管理組織 (Object Management Group,縮寫為 OMG)標準化。它的組成是介面定義語言(IDL), 語言綁定(binding:也譯為聯編)和允許應用程式間互操作的協議。 其目的為:
用不同的程式設計語言書寫
在不同的進程中運行
為不同的作業系統開發
LINUX方面
1、LINUX下線程,GDI類的解釋。
答:LINUX實現的就是基於核心輕量級進程的"一對一"執行緒模式,一個線程實體對應一個核心輕量級進程,而線程之間的管理在核外函數庫中實現。
GDI類為映像裝置編程介面類庫。
JAVA華為面試題
JAVA方面
1 物件導向的特徵有哪些方面
2 String是最基本的資料類型嗎?
3 int 和 Integer 有什麼區別
4 String 和StringBuffer的區別
5運行時異常與一般異常有何異同?
異常表示程式運行過程中可能出現的非正常狀態,運行時異常表示虛擬機器的通常操作中可能遇到的異常,是一種常見運行錯誤。java編譯器要求方法必須聲明拋出可能發生的非運行時異常,但是並不要求必須聲明拋出未被捕獲的運行時異常。
6 說出一些常用的類,包,介面,請各舉5個
7 說出ArrayList,Vector, LinkedList的儲存效能和特性
ArrayList和Vector都是使用數組方式儲存資料,此數組元素數大於實際儲存的資料以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及數組元素移動等記憶體操作,所以索引資料快而插入資料慢,Vector由於使用了synchronized方法(安全執行緒),通常效能上較ArrayList差,而LinkedList使用雙向鏈表實現儲存,按序號索引資料需要進行前向或後向遍曆,但是插入資料時只需要記錄本項的前後項即可,所以插入速度較快。
8設計4個線程,其中兩個線程每次對j增加1,另外兩個線程對j每次減少1。寫出程式。
以下程式使用內部類實現線程,對j增減的時候沒有考慮順序問題。
public class ThreadTest1{
private int j;
public static void main(String args[]){
ThreadTest1 tt=new ThreadTest1();
Inc inc=tt.new Inc();
Dec dec=tt.new Dec();
for(int i=0;i<2;i++){
Thread t=new Thread(inc);
t.start();
t=new Thread(dec);
t.start();
}
}
private synchronized void inc(){
j++;
System.out.println(Thread.currentThread().getName()+"-inc:"+j);
}
private synchronized void dec(){
j--;
System.out.println(Thread.currentThread().getName()+"-dec:"+j);
}
class Inc implements Runnable{
public void run(){
for(int i=0;i<100;i++){
inc();
}
}
}
class Dec implements Runnable{
public void run(){
for(int i=0;i<100;i++){
dec();
}
}
}
}
9. JSP的內建對象及方法。
request request表示HttpServletRequest對象。它包含了有關瀏覽器請求的資訊,並且提供了幾個用於擷取cookie, header, 和session資料的有用的方法。
response response表示HttpServletResponse對象,並提供了幾個用於設定送回 瀏覽器的響應的方法(如cookies,頭資訊等)
out out 對象是javax.jsp.JspWriter的一個執行個體,並提供了幾個方法使你能用於向瀏覽器回送輸出結果。
pageContext pageContext表示一個javax.servlet.jsp.PageContext對象。它是用於方便存取各種範圍的名字空間、servlet相關的對象的API,並且封裝了通用的servlet相關功能的方法。
session session表示一個請求的javax.servlet.http.HttpSession對象。Session可以存貯使用者的狀態資訊
application applicaton 表示一個javax.servle.ServletContext對象。這有助於尋找有關servlet引擎和servlet環境的資訊
config config表示一個javax.servlet.ServletConfig對象。該對象用於存取servlet執行個體的初始化參數。
page page表示從該頁面產生的一個servlet執行個體
10.用socket通訊寫出用戶端和伺服器端的通訊,要求客戶發送資料後能夠回顯相同的資料。
參見課程中socket通訊例子。
11說出Servlet的生命週期,並說出Servlet和CGI的區別。
Servlet被伺服器執行個體化後,容器運行其init方法,請求到達時運行其service方法,service方法自動派遣運行與請求對應的doXXX方法(doGet,doPost)等,當伺服器決定將執行個體銷毀的時候調用其destroy方法。
與cgi的區別在於servlet處於伺服器處理序中,它通過多線程方式運行其service方法,一個執行個體可以服務於多個請求,並且其執行個體一般不會銷毀,而CGI對每個請求都產生新的進程,服務完成後就銷毀,所以效率上低於servlet。
12.EJB是基於哪些技術實現的?並說出SessionBean和EntityBean的區別,StatefulBean和StatelessBean的區別。
13.EJB包括(SessionBean,EntityBean)說出他們的生命週期,及如何管理事務的?
14.說出資料連線池的工作機制是什麼?
15同步和非同步有和異同,在什麼情況下分別使用他們?舉例說明。

16應用伺服器有那些?
17你所知道的集合類都有哪些?主要方法?
18給你一個:驅動程式A,資料來源名稱為B,使用者名稱稱為C,密碼為D,資料庫表為T,請用JDBC檢索出表T的所有資料。
19.說出在JSP頁面裡是怎麼分頁的?
頁面需要儲存以下參數:
總行數:根據sql語句得到總行數
每頁顯示行數:設定值
當前頁數:請求參數
頁面根據當前頁數和每頁行數計算出當前頁第一行行數,定位結果集到此行,對結果集取出每頁顯示行數的行即可。
資料庫方面:
1. 預存程序和函數的區別
預存程序是使用者定義的一系列sql語句的集合,涉及特定表或其它對象的任務,使用者可以調用預存程序,而函數通常是資料庫已定義的方法,它接收參數並返回某種類型的值並且不涉及特定使用者表。
2. 事務是什嗎?
事務是作為一個邏輯單元執行的一系列操作,一個邏輯工作單元必須有四個屬性,稱為 ACID(原子性、一致性、隔離性和持久性)屬性,只有這樣才能成為一個事務:
原子性
事務必須是原子工作單元;對於其資料修改,要麼全都執行,要麼全都不執行。
一致性
事務在完成時,必須使所有的資料都保持一致狀態。在相關資料庫中,所有規則都必須應用於事務的修改,以保持所有資料的完整性。事務結束時,所有的內部資料結構(如 B 樹索引或雙向鏈表)都必須是正確的。
隔離性
由並發事務所作的修改必須與任何其它並發事務所作的修改隔離。事務查看資料時資料所處的狀態,要麼是另一併發事務修改它之前的狀態,要麼是另一事務修改它之後的狀態,事務不會查看中間狀態的資料。這稱為可串列性,因為它能夠重新裝載起始資料,並且重播一系列事務,以使資料結束時的狀態與原始事務執行的狀態相同。
持久性
事務完成之後,它對於系統的影響是永久性的。該修改即使出現系統故障也將一直保持。
3. 遊標的作用?如何知道遊標已經到了最後?
遊標用於定位結果集的行,通過判斷全域變數@@FETCH_STATUS可以判斷是否到了最後,通常此變數不等於0表示出錯或到了最後。
4. 觸發器分為事前觸發和事後觸發,這兩種觸發有和區別。語句級觸發和行級觸發有何區別。
事前觸發器運行於觸發事件發生之前,而事後觸發器運行於觸發事件發生之後。通常事前觸發器可以擷取事件之前和新的欄位值。
語句級觸發器可以在語句執行前或後執行,而行級觸發在觸發器所影響的每一行觸發一次。
中遠面試題
1、物件導向的三個基本特徵
2、方法重載和方法重寫的概念和區別
3、介面和內部類、抽象類別的特性
4、檔案讀寫的基本類
**5、序列化的注意事項以及如何?序列化
6、線程的基本概念、線程的基本狀態以及狀態之間的關係
7、線程的同步、如何?線程的同步
8、幾種常用的資料結構及內部實現原理。
9、Socket通訊(TCP、UDP區別及Java實現方式)
**10、Java的事件委託機制和記憶體回收機制
11、JDBC調用資料庫的基本步驟
**12、解析XML檔案的幾種方式和區別
13、Java四種基本許可權的定義
14、Java的國際化
二、JSP
1、至少要能說出7個隱含對象以及他們的區別
** 2、forward 和redirect的區別
3、JSP的常用指令
三、servlet
1、什麼情況下調用doGet()和doPost()?
2、servlet的init()方法和service()方法的區別
3、servlet的生命週期
4、如何現實servlet的單線程模式
5、servlet的配置
6、四種會話跟蹤技術
四、EJB
**1、EJB容器提供的服務
主要提供聲明周期管理、代碼產生、持久性管理、安全、交易管理、鎖和並發行管理等服務。
2、EJB的角色和三個對象
EJB角色主要包括Bean開發人員 應用組裝者 部署者 系統管理員 EJB容器提供者 EJB伺服器提供者
三個對象是Remote(Local)介面、Home(LocalHome)介面,Bean類
2、EJB的幾種類型
會話(Session)Bean ,實體(Entity)Bean 訊息驅動的(Message Driven)Bean
會話Bean又可分為有狀態(Stateful)和無狀態(Stateless)兩種
實體Bean可分為Bean管理的持久性(BMP)和容器管理的持久性(CMP)兩種
3、bean 執行個體的生命週期
對於Stateless Session Bean、Entity Bean、Message Driven Bean一般存在緩衝池管理,而對於Entity Bean和Statefull Session Bean存在Cache管理,通常包含建立執行個體,設定上下文、建立EJB Object(create)、業務方法調用、remove等過程,對於存在緩衝池管理的Bean,在create之後執行個體並不從記憶體清除,而是採用緩衝池調度機制不斷重用執行個體,而對於存在Cache管理的Bean則通過啟用和去啟用機制保持Bean的狀態並限制記憶體中執行個體數量。
4、啟用機制
以Statefull Session Bean 為例:其Cache大小決定了記憶體中可以同時存在的Bean執行個體的數量,根據MRU或NRU演算法,執行個體在啟用和去啟用狀態之間遷移,啟用機制是當用戶端調用某個EJB執行個體業務方法時,如果對應EJB Object發現自己沒有綁定對應的Bean執行個體則從其去啟用Bean儲存中(通過序列化機制儲存執行個體)回複(啟用)此執行個體。狀態變遷前會調用對應的ejbActive和ejbPassivate方法。
5、remote介面和home介面主要作用
remote介面定義了業務方法,用於EJB用戶端調用業務方法
home介面是EJB工廠用於建立和移除尋找EJB執行個體
6、客服端調用EJB對象的幾個基本步驟
一、 設定JNDI服務工廠以及JNDI服務地址系統屬性
二、 尋找Home介面
三、 從Home介面調用Create方法建立Remote介面
四、 通過Remote介面調用其業務方法
五、資料庫
1、預存程序的編寫
2、基本的SQL語句
六、weblogic
1、 如何給weblogic指定大小的記憶體?
在啟動Weblogic的指令碼中(位於所在Domian對應伺服器目錄下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以調整最小記憶體為32M,最大200M
2、 如何設定的weblogic的暖開機模式(開發模式)與產品發布模式?
可以在管理主控台中修改對應伺服器的啟動模式為開發或產品模式之一。或者修改服務的開機檔案或者commenv檔案,增加set PRODUCTION_MODE=true。
3、 如何啟動時不需輸入使用者名稱與密碼?
修改服務開機檔案,增加 WLS_USER和WLS_PW項。也可以在boot.properties檔案中增加加密過的使用者名稱和密碼.
4、 在weblogic管理制台中對一個應用域(或者說是一個網站,Domain)進行jms及ejb或串連池等相關資訊進行配置後,實際儲存在什麼檔案中?
儲存在此Domain的config.xml檔案中,它是伺服器的核心設定檔。
5、 說說weblogic中一個Domain的預設目錄結構?比如要將一個簡單的helloWorld.jsp放入何目錄下,然的在瀏覽器上就可打入http://主機:連接埠號碼//helloword.jsp就可以看到運行結果了? 又比如這其中用到了一個自己寫的javaBean該如何辦?
Domain目錄/伺服器目錄/applications,將應用目錄放在此目錄下將可以作為應用訪問,如果是Web應用,應用目錄需要滿足Web應用目錄要求,jsp檔案可以直接放在應用目錄中,Javabean需要放在應用目錄的WEB-INF目錄的classes目錄中,設定伺服器的預設應用將可以實現在瀏覽器上無需輸入應用程式名稱。
6、 如何查看在weblogic中已經發布的EJB?
可以使用管理主控台,在它的Deployment中可以查看所有發行的EJB
7、 如何在weblogic中進行ssl配置與用戶端的認證配置或說說j2ee(標準)進行ssl的配置
預設安裝中使用DemoIdentity.jks和DemoTrust.jks KeyStore實現SSL,需要設定管理員使用Enable SSL,配置其連接埠,在產品模式下需要從CA擷取私人密鑰和數位憑證,建立identity和trust keystore,裝載獲得的密鑰和數位憑證。可以配置此SSL串連是單向還是雙向的。
8、在weblogic中發布ejb需涉及到哪些設定檔
不同類型的EJB涉及的設定檔不同,都涉及到的設定檔包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP實體Bean一般還需要weblogic-cmp-rdbms-jar.xml
9、EJB需直接實現它的業務介面或Home介面嗎,請簡述理由.
遠程介面和Home介面不需要直接實現,他們的實現代碼是由伺服器產生的,程式運行中對應實作類別會作為對應介面類型的執行個體被使用。
10、說說在weblogic中開發訊息Bean時的persistent與non-persisten的差別
persistent方式的MDB可以保證訊息傳遞的可靠性,也就是如果EJB容器出現問題而JMS伺服器依然會將訊息在此MDB可用的時候發送過來,而non-persistent方式的訊息將被丟棄。
11、說說你所熟悉或聽說過的j2ee中的幾種常用模式?及對設計模式的一些看法
Session Facade Pattern:使用SessionBean訪問EntityBean
Message Facade Pattern:實現非同步呼叫
EJB Command Pattern:使用Command JavaBeans取代SessionBean,實現輕量級訪問
Data Transfer Object Factory:通過DTO Factory簡化EntityBean資料提供特性
Generic Attribute Access:通過AttibuteAccess介面簡化EntityBean資料提供特性
Business Interface:通過遠程(本地)介面和Bean類實現相同介面規範商務邏輯一致性
EJB架構的設計好壞將直接影響系統的效能、可擴充性、可維護性、組件可重用性及開發效率。項目越複雜,項目隊伍越龐大則越能體現良好設計的重要性

 

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/kings1108/archive/2009/08/06/4413040.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.