成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

J2EE筆試題目節選 Java基礎系列

開發 后端
本文收集了一些J2ee筆試部分題目,其中大部分為Java基礎類習題,包括了一些常見概念如匿名類,Overload和Override的區別等等。

1.MVC的各個部分都有那些技術來實現?如何實現?
答:MVC是Model-View-Controller的簡寫。"Model" 代表的是應用的業務邏輯(通過JavaBean,EJB組件實現), "View" 是應用的表示面(由JSP頁面產生),"Controller" 是提供應用的處理過程控制(一般是一個Servlet),通過這種設計模型把應用邏輯,處理過程和顯示邏輯分成不同的組件實現。這些組件可以進行交互和重用。

2.J2EE是什么?
答:Je22是Sun公司提出的多層(multi-diered),分布式(distributed),基于組件(component-base)的企業級應用模型(enterpriese application model).在這樣的一個應用系統中,可按照功能劃分為不同的組件,這些組件又可在不同計算機上,并且處于相應的層次(tier)中。所屬層次包括客戶層(clietn tier)組件,web層和組件,Business層和組件,企業信息系統(EIS)層。

3.J2EE是技術還是平臺還是框架?
答:J2EE本身是一個標準,一個為企業分布式應用的開發提供的標準平臺。
J2EE也是一個框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技術。

4.STRUTS的應用(如STRUTS架構)
答:Struts是采用Java Servlet/JavaServer Pages技術,開發Web應用程序的開放源碼的framework。 采用Struts能開發出基于MVC(Model-View-Controller)設計模式的應用構架。 Struts有如下的主要功能:
一.包含一個controller servlet,能將用戶的請求發送到相應的Action對象。
二.JSP自由tag庫,并且在controller servlet中提供關聯支持,幫助開發員創建交互式表單應用。
三.提供了一系列實用對象:XML處理、通過Java reflection APIs自動處理JavaBeans屬性、國際化的提示和消息。

5.WEB SERVICE名詞解釋。JSWDL開發包的介紹。JAXP、JAXM的解釋。SOAP、UDDI,WSDL解釋。
答:Web ServiceWeb Service是基于網絡的、分布式的模塊化組件,它執行特定的任務,遵守具體的技術規范,這些規范使得Web Service能與其他兼容的組件進行互操作。
JAXP(Java API for XML Parsing) 定義了在Java中使用DOM, SAX, XSLT的通用的接口。這樣在你的程序中你只要使用這些通用的接口,當你需要改變具體的實現時候也不需要修改代碼。
JAXM(Java API for XML Messaging) 是為SOAP通信提供訪問方法和傳輸機制的API。
WSDL是一種 XML 格式,用于將網絡服務描述為一組端點,這些端點對包含面向文檔信息或面向過程信息的消息進行操作。這種格式首先對操作和消息進行抽象描述,然后將其綁定到具體的網絡協議和消息格式上以定義端點。相關的具體端點即組合成為抽象端點(服務)。
SOAP即簡單對象訪問協議(Simple Object Access Protocol),它是用于交換XML編碼信息的輕量級協議。
UDDI 的目的是為電子商務建立標準;UDDI是一套基于Web的、分布式的、為Web Service提供的、信息注冊中心的實現標準規范,同時也包含一組使企業能將自身提供的Web Service注冊,以使別的企業能夠發現的訪問協議的實現標準。

6.C/S 與 B/S 區別:
答:有如下八個方面的不同:
(1)硬件環境不同:
C/S 一般建立在專用的網絡上, 小范圍里的網絡環境, 局域網之間再通過專門服務器提供連接和數據交換服務.
B/S 建立在廣域網之上的, 不必是專門的網絡硬件環境,例與電話上網, 租用設備. 信息自己管理. 有比C/S更強的適應范圍, 一般只要有操作系統和瀏覽器就行
(2)對安全要求不同
C/S 一般面向相對固定的用戶群, 對信息安全的控制能力很強. 一般高度機密的信息系統采用C/S 結構適宜. 可以通過B/S發布部分可公開信息.
B/S 建立在廣域網之上, 對安全的控制能力相對弱, 可能面向不可知的用戶。
(3)對程序架構不同
C/S 程序可以更加注重流程, 可以對權限多層次校驗, 對系統運行速度可以較少考慮.
B/S 對安全以及訪問速度的多重的考慮, 建立在需要更加優化的基礎之上. 比C/S有更高的要求 B/S結構的程序架構是發展的趨勢, 從MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持網絡的構件搭建的系統. SUN 和IBM推的JavaBean 構件技術等,使 B/S更加成熟.
(4)軟件重用不同
C/S 程序可以不可避免的整體性考慮, 構件的重用性不如在B/S要求下的構件的重用性好.
B/S 對的多重結構,要求構件相對獨立的功能. 能夠相對較好的重用.就入買來的餐桌可以再利用,而不是做在墻上的石頭桌子
(5)系統維護不同
C/S 程序由于整體性, 必須整體考察, 處理出現的問題以及系統升級. 升級難. 可能是再做一個全新的系統
B/S 構件組成,方面構件個別的更換,實現系統的無縫升級. 系統維護開銷減到最小.用戶從網上自己下載安裝就可以實現升級.
(6)處理問題不同
C/S 程序可以處理用戶面固定, 并且在相同區域, 安全要求高需求, 與操作系統相關. 應該都是相同的系統
B/S 建立在廣域網上, 面向不同的用戶群, 分散地域, 這是C/S無法作到的. 與操作系統平臺關系最小.
(7)用戶接口不同
C/S 多是建立的Window平臺上,表現方法有限,對程序員普遍要求較高
B/S 建立在瀏覽器上, 有更加豐富和生動的表現方式與用戶交流. 并且大部分難度減低,減低開發成本.
(8)信息流不同
C/S 程序一般是典型的中央集權的機械式處理, 交互性相對低
B/S 信息流向可變化, B-B B-C B-G等信息、流向的變化, 更像交易中心。
7.什么是JNDI
答:(Java Naming & Directory Interface)JAVA命名目錄服務。主要提供的功能是:提供一個目錄系統,讓其它各地的應用程序在其上面留下自己的索引,從而滿足快速查找和定位分布式應用程序的功能。

8.什么是JMS
答:(Java Message Service)JAVA消息服務。主要實現各個應用程序之間的通訊。包括點對點和廣播

9.什么是JTA
答:(Java Transaction API)JAVA事務服務。提供各種分布式事務服務。應用程序只需調用其提供的接口即可。

10.開發中都用到了那些設計模式?用在什么場合?
答:每個模式都描述了一個在我們的環境中不斷出現的問題,然后描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在重復相同的工作。主要用到了MVC的設計模式。用來開發JSP/Servlet或者J2EE的相關應用。簡單工廠模式等。

11.、j2ee常用的設計模式?說明工廠模式。
答:Java中的23種設計模式:
Factory(工廠模式),      Builder(建造模式),       Factory Method(工廠方法模式),
Prototype(原始模型模式),Singleton(單例模式),    Facade(門面模式),
Adapter(適配器模式),    Bridge(橋梁模式),        Composite(合成模式),
Decorator(裝飾模式),    Flyweight(享元模式),     Proxy(代理模式),
Command(命令模式),      Interpreter(解釋器模式), Visitor(訪問者模式),
Iterator(迭代子模式),   Mediator(調停者模式),    Memento(備忘錄模式),
Observer(觀察者模式),   State(狀態模式),         Strategy(策略模式),
Template Method(模板方法模式), Chain Of Responsibleity(責任鏈模式)
工廠模式:工廠模式是一種經常被使用到的模式,根據工廠模式實現的類可以根據提供的數據生成一組類中某一個類的實例,通常這一組類有一個公共的抽象父類并且實現了相同的方法,但是這些方法針對不同的數據進行了不同的操作。首先需要定義一個基類,該類的子類通過不同的方法實現了基類中的方法。然后需要定義一個工廠類,工廠類可以根據條件生成不同的子類實例。當得到子類的實例后,開發人員可以調用基類中的方法而不必考慮到底返回的是哪一個子類的實例。

12.UML方面
答:標準建模語言UML。用例圖,靜態圖(包括類圖、對象圖和包圖),行為圖,交互圖(順序圖,合作圖),實現圖

13.RMI
RMI 指的是遠程方法調用 (Remote Method Invocation)。它是一種機制,能夠讓在某個 Java 虛擬機上的對象調用另一個 Java 虛擬機中的對象上的方法。可以用此方法調用的任何對象必須實現該遠程接口。調用這樣一個對象時,其參數為 "marshalled" 并將其從本地虛擬機發送到遠程虛擬機(該遠程虛擬機的參數為 "unmarshalled")上。該方法終止時,將編組來自遠程機的結果并將結果發送到調用方的虛擬機。如果方法調用導致拋出異常,則該異常將指示給調用方。

#p#

JAVA 基礎

1.如何獲得數組的長度?
數組名.length

2.訪問修飾符“public/private/protected/缺省的修飾符”的使用類?
public : 公共,均可訪問
private: 私有的,同一個java類中可以訪問.子類不能訪問.
protected: 同一個包中的類都可訪問.子類可以訪問.
缺省,friendly :當前類,同一個包,都可以訪問.
作用域           當前類       同一package 子孫類       其他package
public            √              √                  √             √
protected        √              √                  √             ×
friendly          √              √                   ×            ×
private           √              ×                   ×            ×

3.Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類,是否可以implements(實現)interface(接口)?
匿名內部類是沒有名字的內部類,不能繼承其它類,但一個內部類可以作為一個接口,由另一個內部類實現.

一、由于匿名內部類沒有名字,所以它沒有構造函數。因為沒有構造函數,所以它必須完全借用父類的構造函數來實例化,換言之:匿名內部類完全把創建對象的任務交給了父類去完成。

二、在匿名內部類里創建新的方法沒有太大意義,但它可以通過覆蓋父類的方法達到神奇效果,如上例所示。這是多態性的體現。

三、因為匿名內部類沒有名字,所以無法進行向下的強制類型轉換,持有對一個匿名內部類對象引用的變量類型一定是它的直接或間接父類類型。

new <類或接口> <類的主體>

匿名類

匿名類是不能有名稱的類,所以沒辦法引用它們。必須在創建時,作為new語句的一部分來聲明它們。

這就要采用另一種形式的new語句,如下所示:


new <類或接口> <類的主體>

這種形式的new語句聲明一個新的匿名類,它對一個給定的類進行擴展,或者實現一個給定的接口。它還創建那個類的一個新實例,并把它作為語句的結果而返回。要擴展的類和要實現的接口是new語句的操作數,后跟匿名類的主體。

如果匿名類對另一個類進行擴展,它的主體可以訪問類的成員、覆蓋它的方法等等,這和其他任何標準的類都是一樣的。如果匿名類實現了一個接口,它的主體必須實現接口的方法。

注意匿名類的聲明是在編譯時進行的,實例化在運行時進行。這意味著for循環中的一個new語句會創建相同匿名類的幾個實例,而不是創建幾個不同匿名類的一個實例。

從技術上說,匿名類可被視為非靜態的內部類,所以它們具有和方法內部聲明的非靜態內部類一樣的權限和限制。

如果要執行的任務需要一個對象,但卻不值得創建全新的對象(原因可能是所需的類過于簡單,或者是由于它只在一個方法內部使用),匿名類就顯得非常有用。匿名類尤其適合在Swing應用程序中快速創建事件處理程序。

  1. exp:   
  2. return new Contents() {   
  3. private int i = 11;   
  4. public int value() { return i; }   
  5. };  

這種奇怪的語法要表達的意思是:“創建從Contents衍生出來的匿名類的一個對象”。由new表達式返回的句柄會自動上溯造型成一個Contents句柄。匿名內部類的語法其實要表達的是:

  1. class MyContents extends Contents {   
  2. private int i = 11;   
  3. public int value() { return i; }   
  4. }   
  5. return new MyContents();  

若試圖定義內部類,并想使用在匿名內部類外部定義的一個對象,則編譯器要求外部對象必須是final屬性.

  1. public class Parcel9 {   
  2. public Destination   
  3. dest(final String dest, final float price) {   
  4.     return new Destination() {   
  5.       private int cost;   
  6.       // Instance initialization for each object:   
  7.       {   
  8.         cost = Math.round(price);   
  9.         if(cost > 100)   
  10.           System.out.println("Over budget!");   
  11.       }   
  12.       private String label = dest;   
  13.       public String readLabel() { return label; }   
  14.     };   
  15. }   
  16. public static void main(String[] args) {   
  17.     Parcel9 p = new Parcel9();   
  18.     Destination d = p.dest("Tanzania"101.395F);   
  19. }   
  20. }  

4.static nested class 和 inner class的不同?
nested class在c++中是嵌套類,inner class在java中是內部類.不同就是在于是否有指向外部的引用上.靜態內部類意味著創建一個static內部類的對象,不需要一個外部類對象;不能從一個static內部類的一個對象訪問到一個外部類的對象.

5.&和&&的區別
&是位運算符,表示按位與運算;&&是邏輯運算符,表示邏輯與(and)

6.Collection和Collections的區別
collection是集合類的上級接口,繼承與它的接口主要是set和list
其中list必須以特定的順序容納元素;而一個set不能包含重復的元素.
映射(Map)一系列"鍵-值"對.可以返回自己鍵的一個set,一個包含自己值的list,或者包含自己(鍵-值)對的一個list.
均可構建自己的反復器.
collections類是針對集合類的一個幫助類.它提供一系列的靜態方法對各種集合的搜索,排序,線程安全化等操作.

  1. public class SimpleCollection {   
  2. public static void main(String[] args) {   
  3.     Collection c = new ArrayList();   
  4.     for(int i = 0; i < 10; i++)   
  5.       c.add(Integer.toString(i));   
  6.     Iterator it = c.iterator();   
  7.     while(it.hasNext())   
  8.       System.out.println(it.next());   
  9. }   
  10. }  

7.什么時候用assert
assertion(斷言)在軟件開發中是一種常用的調試方式,很多開發語言中都支持這種機制。在實現中,assertion就是在程序中的一條語句,它對一個boolean表達式進行檢查,一個正確程序必須保證這個boolean表達式的值為true;如果該值為false,說明程序已經處于不正確的狀態下,系統將給出警告或退出。一般來說,assertion用于保證程序最基本、關鍵的正確性。assertion檢查通常在開發和測試時開啟。為了提高性能,在軟件發布后,assertion檢查通常是關閉的.

8.String s = new String("xyz");創建了幾個String Object***
兩個,一個字符對象,一個字符對象引用對象

9.math.round(11.5)和math.round(-11.5)
前者等于12,后者等于-11.round方法返回與參數最接近的長整數.參數加0.5,求其floor

10. short s1 = 1;s1 = s1+1;是否有錯誤? short s1 = 1;s1 += 1;是否有錯誤?
前者s1+1返回一個int型,需要強制類型轉換.
后者正確.

11.java種有沒有goto?
有,為保留字.但是尚未使用.

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

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

14.給我一個你最常見到的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..

15.error和exception有什么區別?
答:error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能處理這樣的情況
    exception 表示一種設計或實現問題。也就是說,它表示如果程序運行正常,從不會發生的情況

#p#

16.List, Set, Map是否繼承自Collection接口
答: List,Set是,Map不是

17.abstract class和interface的區別
答:聲明方法的存在而不去實現它的類叫虛擬類(abstract class).它用于創建一個體現某些基本行為的類,并為該類聲明方法,但不能在該類中實現該類的情況.不能創建abstract class的實例.但是可以聲明一個abstract class變量,將其指向其具體子類的一個實例.不能有抽象構造函數或抽象靜態方法.Abstract 類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法.
接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義static final成員變量。接口的實現與子類相似,除了該實現類不能從接口定義中繼承行為。當類實現特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實現了該接口的類的任何對象上調用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態聯編將生效。引用可以轉換到接口類型或從接口類型轉換,instanceof 運算符可以用來決定某對象的類是否實現了接口.
接口是一個更純的抽象類.
18.接口是否可繼承接口? 抽象類是否可實現(implements)接口? 抽象類是否可繼承實體類(concrete class)
答:接口可以繼承接口。抽象類可以實現(implements)接口,抽象類可繼承實體類,但前提是實體類必須有明確的構造函數

19.abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized
答:都不能.其中synchronized:(同步.避免在你和別人同時訪問一個屬性的時候,屬性的值發生不同步的問題.)
    native:(聲明本地方法的關鍵字,可以通過聲明的方法調用本地的動態鏈接庫或者有C、C++等開發的函數。)

20.構造器Constructor是否可被override(構造函數)
答:構造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading
1). 構造器不能是native,final,static,synchronized 的,可以是public,private,或什么都沒有。
2). 構造器函數里可以寫return呢,但后面什么都不許有(包括null)
3). 構造器不能返回值.
     但如果有個"構造器"返值了,它就不是構造器嘍,只是個普通方法
4). super();this();這兩個方法只能在構造方法里調用.
5). 成員變量聲明時候賦值,比構造函數還早.

21.是否可以繼承String類
答:String類是final類故不可以繼承

22.try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執行,什么時候被執行,在return前還是后
答:會執行,在return前執行

23.用最有效率的方法算出2乘以8等於幾
答:2 << 3

24.兩個對象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話對不對
答:不對,有相同的hash code
在C++中,每個類多有地址。
java也一樣,不過hash code不是地址,而是一個標識對象用的。(個人認為)
每個對象的hash code是不一樣的,Object的默認hash code記得是按引用地址的。
對于String例外,是按String內容輸出hash code的,這樣可以用equals()來比較String的
內容是否相等了,而不是地址
在 Java 應用程序執行期間,在同一對象上多次調用 hashCode 方法時,必須一致地返回相同的整數,前提是對象上 equals 比較中所用的信息沒有被修改。從某一應用程序的一次執行到同一應用程序的另一次執行,該整數無需保持一致。
如果根據 equals(Object) 方法,兩個對象是相等的,那么在兩個對象中的每個對象上調用 hashCode 方法都必須生成相同的整數結果。
以下情況不 是必需的:如果根據 equals(java.lang.Object) 方法,兩個對象不相等,那么在兩個對象中的任一對象上調用 hashCode 方法必定會生成不同的整數結果。但是,程序員應該知道,為不相等的對象生成不同整數結果可以提高哈希表的性能。
實際上,由 Object 類定義的 hashCode 方法確實會針對不同的對象返回不同的整數。(這一般是通過將該對象的內部地址轉換成一個整數來實現的,但是 JavaTM 編程語言不需要這種實現技巧。)

25.當一個對象被當作參數傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結果,那么這里到底是值傳遞還是引用傳遞
答:是值傳遞。Java 編程語言只有值傳遞參數。當一個對象實例作為一個參數被傳遞到方法中時,參數的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的.

26.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
答:witch(expr1)中,expr1是一個整數表達式。因此傳遞給 switch 和 case 語句的參數應該是 int、 short、 char 或者 byte。long,string 都不能作用于swtich

27.ArrayList和Vector的區別,HashMap和Hashtable的區別
答:就ArrayList與Vector主要從二方面來說.
一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的
二.數據增長:當需要增長時,Vector默認增長為原來一培,而ArrayList卻是原來的一半
就HashMap與HashTable主要從三方面來說。
一.歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現
二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的
三.值:只有HashMap可以讓你將空值作為一個表的條目的key或value

28.GC是什么? 為什么要有GC
答:GC是垃圾收集的意思(Gabage Collection),內存處理是編程人員容易出現問題的地方,忘記或者錯誤的內存回收會導致程序或系統的不穩定甚至崩潰,Java提供的GC功能可以自動監測對象是否超過作用域從而達到自動回收內存的目的,Java語言沒有提供釋放已分配內存的顯示操作方法。

29.float型float f=3.4是否正確?
答:不正確。精度不準確,應該用強制類型轉換,如下所示:float f=(float)3.4

30.介紹JAVA中的Collection FrameWork(包括如何寫自己的數據結構)?
答:Collection FrameWork如下:
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection是最基本的集合接口,一個Collection代表一組Object,即Collection的元素(Elements)
Map提供key到value的映射.

31.抽象類與接口?
答:抽象類與接口都用于抽象,但是抽象類(JAVA中)可以有自己的部分實現,而接口則完全是一個標識(同時有多重繼承的功能)
JAVA類實現序例化的方法是實現java.io.Serializable接口
Collection框架中實現比較要實現Comparable 接口和 Comparator 接口

32.STRING與STRINGBUFFER的區別。
答:STRING的長度是不可變的,STRINGBUFFER的長度是可變的。如果你對字符串中的內容經常進行操作,特別是內容要修改時,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法

33.談談final, finally, finalize的區別
答:final—修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載
finally—再異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那么相匹配的 catch 子句就會執行,然后控制就會進入 finally 塊(如果有的話)
finalize—方法名。Java 技術允許使用 finalize() 方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統資源或者執行其他清理工作。finalize() 方法是在垃圾收集器刪除對象之前對這個對象調用的

34.面向對象的特征有哪些方面
答:主要有以下四方面:
1.抽象:
抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象,二是數據抽象。
2.繼承:
繼承是一種聯結類的層次模型,并且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現有的類中派生,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。
3.封裝:
封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的界面。面向對象計算始于這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象。
4. 多態性:
多態性是指允許不同類的對象對同一消息作出響應。多態性包括參數化多態性和包含多態性。多態性語言具有靈活、抽象、行為共享、代碼共享的優勢,很好的解決了應用程序函數同名問題。

35.String是最基本的數據類型嗎
答:基本數據類型包括byte、int、char、long、float、double、boolean和short。
java.lang.String類是final類型的,因此不可以繼承這個類、不能修改這個類。為了提高效率節省空間,我們應該用StringBuffer類

36.int 和 Integer 有什么區別
答:Java 提供兩種不同的類型:引用類型和原始類型(或內置類型)。Int是java的原始數據類型,Integer是java為int提供的封裝類。Java為每個原始類型提供了封裝類。原始類型封裝類,booleanBoolean,charCharacter,byteByte,shortShort,intInteger,longLong,floatFloat,doubleDouble引用類型和原始類型的行為完全不同,并且它們具有不同的語義。引用類型和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數據結構存儲,當引用類型和原始類型用作某個類的實例數據時所指定的缺省值。對象引用實例變量的缺省值為 null,而原始類型實例變量的缺省值與它們的類型有關.

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

38.說出ArrayList,Vector, LinkedList的存儲性能和特性
答:ArrayList和Vector都是使用數組方式存儲數據,此數組元素數大于實際存儲的數據以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及數組元素移動等內存操作,所以索引數據快而插入數據慢,Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表實現存儲,按序號索引數據需要進行前向或后向遍歷,但是插入數據時只需要記錄本項的前后項即可,所以插入速度較快

39.HashMap和Hashtable的區別
答:HashMap是Hashtable的輕量級實現(非線程安全的實現),他們都完成了Map接口,主要區別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable。
HashMap允許將null作為一個entry的key或者value,而Hashtable不允許。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。
Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map interface的一個實現。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的方法實現同步,而HashMap 就必須為之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會有很大的差異。

【編輯推薦】

  1. Jboss環境搭建指南
  2. Red Hat開放JBoss ON代理軟件的源代碼
  3. GWT和JBoss聯手促進網絡發展
  4. 倡議JBoss門戶與Enterprise門戶合并
  5. 集成的JBoss中間件的管理平臺

 

責任編輯:book05 來源: 百度博客
相關推薦

2009-06-18 15:48:08

J2EE筆試

2009-06-10 14:10:23

J2EE學習J2EE是什么

2009-06-22 17:05:41

Java EEJava企業應用

2009-06-23 08:06:46

J2EE體系架構J2EE模型J2EE設計模式

2009-06-11 17:06:11

J2EE歷史Java EE概述

2009-06-10 13:37:06

J2EE可伸縮性J2EE靈活性J2EE維護

2009-06-23 16:48:26

J2EE常見問題J2EE平臺

2011-06-30 09:49:40

JSPJ2EE

2009-06-22 17:34:40

J2EE架構

2009-06-18 15:54:57

J2EE下使用JNDI

2009-06-23 08:12:48

J2EE調用存儲過程

2019-01-08 16:26:43

Java EEJ2EEJakarta EE

2009-06-22 16:21:02

J2EE線程

2009-06-18 16:13:14

J2EE開發

2015-04-28 13:41:12

JavaJ2EE中文問題

2009-06-22 17:20:33

J2EE框架

2009-06-19 17:03:44

J2EE學習

2009-06-22 11:04:00

Jdbc存儲過程

2011-05-16 14:07:58

J2EE

2009-06-11 17:19:47

J2EE設計模式Template
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 激情91| 久久久精品综合 | 久久精品欧美电影 | 国产欧美视频一区二区三区 | 亚洲精品一区二区三区在线 | 精品一级 | 国产成人精品免费视频大全最热 | 91精品国产乱码久久久 | 97色综合 | 暖暖成人免费视频 | 99re在线视频 | 中文字幕一区在线观看视频 | 天天操天天舔 | 黄网站免费在线 | 欧美欧美欧美 | 日韩一区不卡 | 中日韩欧美一级片 | 日本精品一区二区三区在线观看视频 | 成年免费在线观看 | 亚洲国产成人在线观看 | 欧美激情欧美激情在线五月 | 国产精品久久久久久久久久了 | 精品中文在线 | 日本亚洲精品 | 久久爱综合 | 亚洲精品一区二区 | 91xxx在线观看 | 爱爱视频日本 | 国产一区亚洲二区三区 | 亚洲激情网站 | 古典武侠第一页久久777 | 中文字幕免费在线观看 | 一区二区在线不卡 | 国产精品久久精品 | 免费激情av | 久久精品国产一区二区三区不卡 | 天天色综| 日韩视频91 | 亚洲一区二区久久 | 成人精品一区二区三区 | 国产日韩视频 |