JAVA面試題最全集(8)

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同步和異步有和異同,在什麼情況下分別使用他們?舉例說明。  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章