亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

J2EE培訓(xùn)

J2EE筆試題目及答案

時(shí)間:2024-09-09 04:19:45 J2EE培訓(xùn) 我要投稿
  • 相關(guān)推薦

2016年J2EE筆試題目及答案

  1、heap和stack有什么區(qū)別?

2016年J2EE筆試題目及答案

  答:棧是一種線形集合,其添加和刪除元素的操作應(yīng)在同一段完成。棧按照后進(jìn)先出的方式進(jìn)行處理。堆是棧的一個(gè)組成元素

  2、Java中的異常處理機(jī)制的簡單原理和應(yīng)用

  答:當(dāng)JAVA程序違反了JAVA的語義規(guī)則時(shí),JAVA虛擬機(jī)就會(huì)將發(fā)生的錯(cuò)誤表示為一個(gè)異常。違反語義規(guī)則包括2種情況。一種是JAVA類庫 內(nèi)置的語義檢查。例如數(shù)組下標(biāo)越界,會(huì)引發(fā)IndexOutOfBoundsException;訪問null的對(duì)象時(shí)會(huì)引發(fā) NullPointerException。另一種情況就是JAVA允許程序員擴(kuò)展這種語義檢查,程序員可以創(chuàng)建自己的異常,并自由選擇在何時(shí)用 throw關(guān)鍵字引發(fā)異常。所有的異常都是java.lang.Thowable的子類。

  3、垃圾回收的優(yōu)點(diǎn)和原理。并考慮2種回收機(jī)制

  答:Java語言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使c++程序員最頭疼的內(nèi)存管理的問題迎刃而解,它使得Java程序員在編寫程序的時(shí) 候不再需要考慮內(nèi)存管理。由于有個(gè)垃圾回收機(jī)制,Java中的對(duì)象不再有"作用域"的概念,只有對(duì)象的引用才有"作用域"。垃圾回收可以有效的防止內(nèi)存泄 露,有效的使用可以使用的內(nèi)存。垃圾回收器通常是作為一個(gè)單獨(dú)的低級(jí)別的線程運(yùn)行,不可預(yù)知的情況下對(duì)內(nèi)存堆中已經(jīng)死亡的或者長時(shí)間沒有使用的對(duì)象進(jìn)行清 楚和回收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對(duì)某個(gè)對(duì)象或所有對(duì)象進(jìn)行垃圾回收;厥諜C(jī)制有分代復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收。

  4、你所知道的集合類都有哪些?主要方法?

  答:最常用的集合類是 List 和 Map。 List 的具體實(shí)現(xiàn)包括 ArrayList 和 Vector,它們是可變大小的列表,比較適合構(gòu)建、存儲(chǔ)和操作任何類型對(duì)象的元素列表。 List 適用于按數(shù)值索引訪問元素的情形。

  Map 提供了一個(gè)更通用的元素存儲(chǔ)方法。 Map 集合類用于存儲(chǔ)元素對(duì)(稱作"鍵"和"值"),其中每個(gè)鍵映射到一個(gè)值。

  5、描述一下JVM加載class文件的原理機(jī)制?

  答:JVM中類的裝載是由ClassLoader和它的子類來實(shí)現(xiàn)的,Java ClassLoader 是一個(gè)重要的Java運(yùn)行時(shí)系統(tǒng)組件。它負(fù)責(zé)在運(yùn)行時(shí)查找和裝入類文件的類。

  6、排序都有哪幾種方法?請(qǐng)列舉

  答: 排序的方法有:插入排序(直接插入排序、希爾排序),交換排序(冒泡排序、快速排序),選擇排序(直接選擇排序、堆排序),歸并排序,分配排序(箱排序、基數(shù)排序)

  快速排序的偽代碼。

  / /使用快速排序方法對(duì)a[ 0 :n- 1 ]排序

  從a[ 0 :n- 1 ]中選擇一個(gè)元素作為m i d d l e,該元素為支點(diǎn)

  把余下的元素分割為兩段left 和r i g h t,使得l e f t中的元素都小于等于支點(diǎn),而right 中的元素都大于等于支點(diǎn)

  遞歸地使用快速排序方法對(duì)left 進(jìn)行排序

  遞歸地使用快速排序方法對(duì)right 進(jìn)行排序

  所得結(jié)果為l e f t + m i d d l e + r i g h t

  7、JAVA語言如何進(jìn)行異常處理,關(guān)鍵字:throws,throw,try,catch,finally分別代表什么意義?在try塊中可以拋出異常嗎?

  答:Java通過面向?qū)ο蟮姆椒ㄟM(jìn)行異常處理,把各種不同的異常進(jìn)行分類,并提供了良好的接口。在Java中,每個(gè)異常都是一個(gè)對(duì)象,它是 Throwable類或其它子類的實(shí)例。當(dāng)一個(gè)方法出現(xiàn)異常后便拋出一個(gè)異常對(duì)象,該對(duì)象中包含有異常信息,調(diào)用這個(gè)對(duì)象的方法可以捕獲到這個(gè)異常并進(jìn)行 處理。Java的異常處理是通過5個(gè)關(guān)鍵詞來實(shí)現(xiàn)的:try、catch、throw、throws和finally。一般情況下是用try來執(zhí)行一段程 序,如果出現(xiàn)異常,系統(tǒng)會(huì)拋出(throws)一個(gè)異常,這時(shí)候你可以通過它的類型來捕捉(catch)它,或最后(finally)由缺省處理器來處 理。

  用try來指定一塊預(yù)防所有"異常"的程序。緊跟在try程序后面,應(yīng)包含一個(gè)catch子句來指定你想要捕捉的"異常"的類型。

  throw語句用來明確地拋出一個(gè)"異常"。

  throws用來標(biāo)明一個(gè)成員函數(shù)可能拋出的各種"異常"。

  Finally為確保一段代碼不管發(fā)生什么"異常"都被執(zhí)行一段代碼。

  可以在一個(gè)成員函數(shù)調(diào)用的外面寫一個(gè)try語句,在這個(gè)成員函數(shù)內(nèi)部寫另一個(gè)try語句保護(hù)其他代碼。每當(dāng)遇到一個(gè)try語句,"異常"的框架就 放到堆棧上面,直到所有的try語句都完成。如果下一級(jí)的try語句沒有對(duì)某種"異常"進(jìn)行處理,堆棧就會(huì)展開,直到遇到有處理這種"異常"的try語 句。

  8、一個(gè)".java"源文件中是否可以包括多個(gè)類(不是內(nèi)部類)?有什么限制?

  答:可以。必須只有一個(gè)類名與文件名相同。

  9、java中有幾種類型的流?JDK為每種類型的流提供了一些抽象類以供繼承,請(qǐng)說出他們分別是哪些類?

  答:字節(jié)流,字符流。字節(jié)流繼承于InputStream OutputStream,字符流繼承于InputStreamReader OutputStreamWriter。在java.io包中還有許多其他的流,主要是為了提高性能和使用方便。

  10、java中會(huì)存在內(nèi)存泄漏嗎,請(qǐng)簡單描述。

  答:會(huì)。自己實(shí)現(xiàn)堆載的數(shù)據(jù)結(jié)構(gòu)時(shí)有可能會(huì)出現(xiàn)內(nèi)存泄露

  11、垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收內(nèi)存嗎?有什么辦法主動(dòng)通知虛擬機(jī)進(jìn)行垃圾回收

  答:對(duì)于GC來說,當(dāng)程序員創(chuàng)建對(duì)象時(shí),GC就開始監(jiān)控這個(gè)對(duì)象的地址、大小以及使用情況。通常,GC采用有向圖的方式記錄和管理堆(heap) 中的所有對(duì)象。通過這種方式確定哪些對(duì)象是"可達(dá)的",哪些對(duì)象是"不可達(dá)的"。當(dāng)GC確定一些對(duì)象為"不可達(dá)"時(shí),GC就有責(zé)任回收這些內(nèi)存空間。可 以。程序員可以手動(dòng)執(zhí)行System.gc(),通知GC運(yùn)行,但是Java語言規(guī)范并不保證GC一定會(huì)執(zhí)行。

  12、靜態(tài)變量和實(shí)例變量的區(qū)別?

  答:static i = 10; //常量 class A a; a.i =10;//可變

  13、什么是java序列化,如何實(shí)現(xiàn)java序列化?

  答:序列化就是一種用來處理對(duì)象流的機(jī)制,所謂對(duì)象流也就是將對(duì)象的內(nèi)容進(jìn)行流化?梢詫(duì)流化后的對(duì)象進(jìn)行讀寫操作,也可將流化后的對(duì)象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對(duì)對(duì)象流進(jìn)行讀寫操作時(shí)所引發(fā)的問題。

  序列化的實(shí)現(xiàn):將需要被序列化的類實(shí)現(xiàn)Serializable接口,該接口沒有需要實(shí)現(xiàn)的方法,implements Serializable只是為了標(biāo)注該對(duì)象是可被序列化的,然后使用一個(gè)輸出流(如:FileOutputStream)來構(gòu)造一個(gè) ObjectOutputStream(對(duì)象流)對(duì)象,接著,使用ObjectOutputStream對(duì)象的writeObject(Object obj)方法就可以將參數(shù)為obj的對(duì)象寫出(即保存其狀態(tài)),要恢復(fù)的話則用輸入流。

  14、是否可以從一個(gè)static方法內(nèi)部發(fā)出對(duì)非static方法的調(diào)用?

  答:不可以,如果其中包含對(duì)象的method();不能保證對(duì)象初始化.

  15、寫clone()方法時(shí),通常都有一行代碼,是什么?

  答:Clone 有缺省行為,super.clone();他負(fù)責(zé)產(chǎn)生正確大小的空間,并逐位復(fù)制。

  16、在JAVA中,如何跳出當(dāng)前的多重嵌套循環(huán)?

  答:用break; return 方法。

  17、List、Map、Set三個(gè)接口,存取元素時(shí),各有什么特點(diǎn)?

  答:List 以特定次序來持有元素,可有重復(fù)元素。Set 無法擁有重復(fù)元素,內(nèi)部排序。Map 保存key-value值,value可多值。

  18、說出一些常用的類,包,接口,請(qǐng)各舉5個(gè)

  答:常用的類:BufferedReader BufferedWriter FileReader FileWirter String Integer

  常用的包:java.lang java.awt java.io java.util java.sql

  常用的接口:Remote List Map Document NodeList

  19、描述使用JDBC連接數(shù)據(jù)庫的過程

  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

  String url = "jdbc:obdc:mydb";

  Connection con = DriverManager.getConnection(url);

  Statement stmt = con.createStatement();

  ResultSet rs = stmt.execte("select * from mytable");

  20、什么是JNDI?

  java命名目錄接口

【J2EE筆試題目及答案】相關(guān)文章:

JAVA經(jīng)典筆試題目及答案08-03

J2EE筆試面試題及答案09-06

J2EE經(jīng)典面試試題及答案09-06

J2EE經(jīng)典面試題及答案08-07

PHOTOSHOP認(rèn)證題目及答案08-31

關(guān)于英語的語法題目與答案08-16

EMBA面試常見題目及答案06-23

2016年J2EE認(rèn)證試題(附答案)05-19

2016年J2EE認(rèn)證測(cè)試題及答案09-07

2017年Java筆試題及答案10-29