




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Java 面試知識基礎(chǔ)知識:1. C+或Java中的專門處理機(jī)制的簡單原理和應(yīng)用。當(dāng) JAVA 程序違反了 JAVA 的語義規(guī)則時, JAVA 虛擬機(jī)就會將發(fā)生 的錯誤表示為一個專門。 違反語義規(guī)則包括 2種情形。一種是 JAVA 類庫 內(nèi)置的語義檢查。 例如數(shù)組下標(biāo)越界 ,會引發(fā) IndexOutOfBoundsException; 訪咨詢null的對象時會引發(fā) NullPointerException。另一種情形確實是JA VA 承諾程序員擴(kuò)展這種語義檢查,程序員能夠創(chuàng)建自己的專門,并自由 選擇在何時用 throw 關(guān)鍵字引發(fā)專門。 所有的專門差不多上 java.lang.Tho wabl
2、e 的子類。2. Java的接口和C+的虛類的相同和不同處。由于Java不支持多繼承,而有可能某個類或?qū)ο笠褂梅植辉趲讉€ 類或?qū)ο罄锩娴姆椒ɑ驅(qū)傩?,現(xiàn)有的單繼承機(jī)制就不能滿足要求。與繼 承相比,接口有更高的靈活性,因為接口中沒有任何實現(xiàn)代碼。當(dāng)一個 類實現(xiàn)了接口以后,該類要實現(xiàn)接口里面所有的方法和屬性,同時接口 里面的屬性在默認(rèn)狀態(tài)下面差不多上public static,所有方法默認(rèn)情形下是public.一個類能夠?qū)崿F(xiàn)多個接口。3. 垃圾回收的優(yōu)點(diǎn)和原理。并考慮 2種回收機(jī)制。Java語言中一個明顯的特點(diǎn)確實是引入了垃圾回收機(jī)制,使c+程序員最頭疼的內(nèi)存治理的咨詢題迎刃而解,它使得Java程
3、序員在編寫程序的時候不再需要考慮內(nèi)存治理。由于有個垃圾回收機(jī)制,Java中的對象不再有“作用域”的概念,只有對象的引用才有“作用域” 。垃圾回收能 夠有效的防止內(nèi)存泄露,有效的使用能夠使用的內(nèi)存。垃圾回收器通常 是作為一個單獨(dú)的低級不的線程運(yùn)行,不可預(yù)知的情形下對內(nèi)存堆中差 不多死亡的或者長時刻沒有使用的對象進(jìn)行清晰和回收,程序員不能實 時的調(diào)用垃圾回收器對某個對象或所有對象進(jìn)行垃圾回收。回收機(jī)制有 分代復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收。4. 請講出你所明白的線程同步的方法。wait():使一個線程處于等待狀態(tài),同時開釋所持有的對象的lock。sleep():使一個正在運(yùn)行的線程處于睡
4、眠狀態(tài),是一個靜態(tài)方法,調(diào)用此方法要捕捉 InterruptedException 專門。notify(): 喚醒一個處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時 候,并不能確切的喚醒某一個等待狀態(tài)的線程,而是由 JVM 確定喚醒哪 個線程,而且不是按優(yōu)先級。Allnotity(): 喚醒所有處入等待狀態(tài)的線程, 注意并不是給所有喚醒線 程一個對象的鎖,而是讓它們競爭。5. 請講一講析構(gòu)函數(shù)和虛函數(shù)的用法和作用。6. Error 與 Exception 有什么區(qū)不?Error 表示系統(tǒng)級的錯誤和程序不必處理的專門, Exception 表示需要捕捉或者需要程序進(jìn)行處理的專門。7. 在 java
5、 中一個類被聲明為 final 類型,表示了什么意思? 表示該類不能被繼承,是頂級類。8. 描述一下你最常用的編程風(fēng)格。9. heap和stack有什么區(qū)不。棧是一種線形集合,其添加和刪除元素的操作應(yīng)在同一段完成。棧 按照后進(jìn)先出的方式進(jìn)行處理。堆是棧的一個組成元素10. 如果系統(tǒng)要使用超大整數(shù)(超過 long 長度范疇),請你設(shè)計一個 數(shù)據(jù)結(jié)構(gòu)來儲備這種超大型數(shù)字以及設(shè)計一種算法來實現(xiàn)超大整數(shù)加法 運(yùn)算)。public class BigInt()int ArrOne = new ArrOne1000;String intString=” ;public int Arr(String s)i
6、ntString = s;for(int i=0;i 0); / throws an Assertionerror if a = 0 斷言能夠有兩種形式:assert Expression1 ;assert Expression1 : Expression2 ;Expressio n1應(yīng)該總是產(chǎn)生一個布爾值。Expressio n2能夠是得出一個值的任意表達(dá)式。那個值用于生成顯示更多調(diào)試信息的String消息。斷言在默認(rèn)情形下是禁用的。要在編譯時啟用斷言,需要使用source 1.4 標(biāo)記:javae -souree 1.4 Test.java要在運(yùn)行時啟用斷言,可使用-enableasser
7、tions或者-ea標(biāo)記。要在運(yùn)行時選擇禁用斷言,可使用 -da或者-disableassertions標(biāo)記。要系統(tǒng)類中啟用斷言,可使用-esa或者-dsa標(biāo)記。還能夠在包的基 礎(chǔ)上啟用或者禁用斷言。能夠在估量正常情形下可不能到達(dá)的任何位置上放置斷言。斷言能夠用于驗證傳遞給私有方法的參數(shù)。只是,斷言不應(yīng)該用于驗證傳遞給公有方法的參數(shù),因為不管是否啟用了斷言,公有方法都必須檢查其參數(shù)。只是,既能夠在公有方法中,也能夠在非公有方法中利用斷言測試 后置條件。另外,斷言不應(yīng)該以任何方式改變程序的狀態(tài)。18,GC 是什么? 什么緣故要有 GC? (基礎(chǔ))。GC是垃圾收集器。Java程序員不用擔(dān)憂內(nèi)存治理
8、,因為垃圾收集器會自動進(jìn)行治理。要要求垃圾收集,能夠調(diào)用下面的方法之一:System.gc()Runtime.getRuntime().gc()19, String s = new String(“ xyz” );創(chuàng)建了幾個 String Object? 兩個對象,一個是“ xyx ” ,一個是指向“ xyx ”的引用對象 s。20, Math.round(11.5)等於多少? Math.round(-11.5)等於多少?Math.rou nd(11.5)返回(Io ng) 12,Math.rou nd(-11.5)返回(long) -11;21 , short s1 = 1; s1 = s1
9、 + 1;有什么錯 ? short s1 = 1; s1 += 1;有什 么錯?short s1 = 1; s1 = s1 + 1;有錯,s1 是 short型,s1+1 是 int 型不能 顯式轉(zhuǎn)化為 short 型??尚薷臑?s1 =(short)(s1 + 1)。short s1 = 1; s1 += 1 正確。22, sleep() 和 wait() 有什么區(qū)不 ? 搞線程的最愛sleep()方法是使線程停止一段時刻的方法。在sleep時刻間隔期滿后, 線程不一定趕忙復(fù)原執(zhí)行。這是因為在那個時刻,其它線程可能正在運(yùn) 行而且沒有被調(diào)度為舍棄執(zhí)行,除非(a) “醒來”的線程具有更高的優(yōu)先
10、級(b)正在運(yùn)行的線程因為其它緣故而堵塞。wait()是線程交互時,如果線程對一個同步對象x發(fā)出一個wait()調(diào)用,該線程會暫停執(zhí)行,被調(diào)對象進(jìn)入等待狀態(tài),直到被喚醒或等待時 刻到。23, Java有沒有 goto?Goto?java中的保留字,現(xiàn)在沒有在java中使用。24,數(shù)組有沒有l(wèi)ength()那個方法? String有沒有l(wèi)ength()那個方法?數(shù)組沒有l(wèi)ength()那個方法,有l(wèi)ength的屬性。String有l(wèi)ength()那個方法。25,Overload和Override的區(qū)不。Overloaded的方法是否能夠改變返回 值的類型 ?方法的重寫Overriding和重載O
11、verloading是Java多態(tài)性的不同表 現(xiàn)。重寫 Overriding 是父類與子類之間多態(tài)性的一種表現(xiàn),重載 Overloa ding 是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類 有相同的名稱和參數(shù),我們講該方法被重寫(Overriding)。子類的對象使用那個方法時,將調(diào)用子類中的定義,對它而言,父類中的定義如同被 “屏蔽”了。如果在一個類中定義了多個同名的方法,它們或有不同的 參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載 (Overloading)。 Overlo aded的方法是能夠改變返回值的類型。26,Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢
12、?是用=依舊 equals()? 它們有何區(qū)不 ?Set里的元素是不能重復(fù)的,那么用iterator()方法來區(qū)分重復(fù)與否。e quals()是判讀兩個Set是否相等。equals()和=方法決定引用值是否指向同一對象 equals(在類中被覆 蓋,為的是當(dāng)兩個分離的對象的內(nèi)容和類型相配的話,返回真值。27,給我一個你最常見到的 runtime exception。ArithmeticException, ArrayStoreException, BufferOverflowException, Buf ferUnderflowException, CannotRedoException, C
13、annotUndoException, Cla ssCastException, CMMException, ConcurrentModificationException, DO MException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,ImagingOpException, IndexOutOfBoundsException, MissingResourceExce ptio
14、n, NegativeArraySizeException, NoSuchElementException, NullPointer Exception, ProfileDataException, ProviderException, RasterFORMatExcept ion, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException28,error 和 exception 有什么區(qū)不 ?error 表示
15、復(fù)原不是不可能但專門困難的情形下的一種嚴(yán)峻咨詢題。 例如講內(nèi)存溢出。不可能希望程序能處理如此的情形。exception 表示一種設(shè)計或?qū)崿F(xiàn)咨詢題。也確實是講,它表示如果程 序運(yùn)行正常,從可不能發(fā)生的情形。29,List, Set, Map 是否繼承自 Collection 接口 ?List ,Set 是Map 不是30, abstract class 和 in terface 有什么區(qū)不? 聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類(abstract class),它用于要創(chuàng)建一個體現(xiàn)某些差不多行為的類,并為該類聲明方法,但不 能在該類中實現(xiàn)該類的情形。不能創(chuàng)建 abstract類的實例。然而
16、能夠創(chuàng)建 一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不 能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract類的子類為它們父類中的所 有抽象方法提供實現(xiàn),否則它們也是抽象類為。取而代之,在子類中實 現(xiàn)該方法。明白其行為的其它類能夠在類中實現(xiàn)這些方法。接口(interface)是抽象類的變體。在接口中,所有方法差不多上抽 象的。多繼承性可通過實現(xiàn)如此的接口而獲得。接口中的所有方法差不 多上抽象的,沒有一個有程序體。接口只能夠定義 static final 成員變量。 接口的實現(xiàn)與子類相似,除了該實現(xiàn)類不能從接口定義中繼承行為。當(dāng) 類實現(xiàn)專門接口時,它定義(立即程序體給予)所有這種接
17、口的方法。然后,它能夠在實現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于 有抽象類,它承諾使用接口名作為引用變量的類型。通常的動態(tài)聯(lián)編將 生效。引用能夠轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換, instanceof 運(yùn)算符能 夠用來決定某對象的類是否實現(xiàn)了接口。31, abstract的method是否可同時是 static,是否可同時是 native,是否可 同時是 synchronized?都不能32, 接口是否可繼承接口 ?抽象類是否可實現(xiàn)(implements)接口 ?抽象類 是否可繼承實體類 (concrete class)?接口能夠繼承接口。抽象類能夠?qū)崿F(xiàn)(impleme nts)接口,抽
18、象類是否可繼承實體類,但前提是實體類必須有明確的構(gòu)造函數(shù)。33, 啟動一個線程是用run()依舊start()?啟動一個線程是調(diào)用start()方法,使線程所代表的虛擬處理機(jī)處于可 運(yùn)行狀態(tài),這意味著它能夠由 JVM 調(diào)度并執(zhí)行。這并不意味著線程就會 趕忙運(yùn)行。run()方法能夠產(chǎn)生必須退出的標(biāo)志來停止一個線程。34,構(gòu)造器 Constructor是否可被 override?構(gòu)造器Constructor不能被繼承,因此不能重寫Overriding,但能夠被 重載 Overloading。35,是否能夠繼承 String 類?String 類是 final 類故不能夠繼承。36,當(dāng)一個線程進(jìn)入一
19、個對象的一個 synchronized方法后,其它線程是否 可進(jìn)入此對象的其它方法 ?不能,一個對象的一個syn chro nized方法只能由一個線程訪咨詢。37, try 里有一個 return 語句,那么緊跟在那個 try 后的 finally 里的code會可不能被執(zhí)行,什么時候被執(zhí)行,在return前依舊后?會執(zhí)行,在 return 前執(zhí)行。38, 編程題: 用最有效率的方法算出 2乘以 8等於幾?有 C 背景的程序員專門喜愛咨詢這種咨詢題。2 (一千零一拾一元整)輸出。3、繼承時候類的執(zhí)行順序咨詢題 ,一樣差不多上選擇題 ,咨詢你將會打印 出什么 ?答:父類:package tes
20、t;public class FatherClasspublic FatherClass()System.out. println(“FatherClass Create”);子類:package test;import test.FatherClass;public class ChildClass extends FatherClass public ChildClass()System.out.println(“ ChildClass Create” );public static void main(String args)FatherClass fc = new FatherClas
21、s(); ChildClass cc = new ChildClass(); 輸出結(jié)果:C:java test.ChildClassFatherClass Create FatherClass Create ChildClass Create4、內(nèi)部類的實現(xiàn)方式 ? 答:示例代碼如下: package test;public class OuterClassprivate class InterClass public InterClass()System.out.println(“ InterClass Create”); public OuterClass()InterClass ic =
22、 new InterClass();System.out.println(“ OuterClass Create”);public static void main(String args)OuterClass oc = new OuterClass();輸出結(jié)果:C:java test/OuterClassInterClass CreateOuterClass Create 再一個例題: public class OuterClassprivate double d1 = 1.0;/insert code hereYou need to insert an inner class decla
23、ration at line 3. Which two inne r class declarations are valid?(Choose two.)A. class InnerOnepublic static double methoda() return d1;B. public class InnerOnestatic double methoda() return d1;C. private class InnerOne double methoda() return d1; D. static class InnerOneprotected double methoda() re
24、turn d1;E. abstract class InnerOne public abstract double methoda();講明如下: 一.靜態(tài)內(nèi)部類能夠有靜態(tài)成員,而非靜態(tài)內(nèi)部類則不能有靜態(tài)成員。 故 A、B 錯 二.靜態(tài)內(nèi)部類的非靜態(tài)成員能夠訪咨詢外部類的靜態(tài)變量,而不可訪咨 詢外部類的非靜態(tài)變量; return d1 出錯。故D錯三 .非靜態(tài)內(nèi)部類的非靜態(tài)成員能夠訪咨詢外部類的非靜態(tài)變量。故 C正確四.答案為 C、 E5、Java的通信編程,編程題(或咨詢答),用JAVA SOCKET編程,讀服 務(wù)器幾個字符,再寫入本地顯示?答:Server端程序:package test;
25、import .*;import java.io.*;public class Serverprivate ServerSocket ss;private Socket socket;private BufferedReader in;private PrintWriter out;public Server()tryss=new ServerSocket(10000);while(true)socket = ss.accept();String RemoteIP = socket.getInetAddress().getHostAddress();String RemotePort = “:
26、 ”+socket.getLocalPort(); System.out.println(“A client come in!IP: ”+RemoteIP+RemotePort); in = new BufferedReader(newInputStreamReader(socket.getInputStream();String line = in.readLine();System.out.println(“Cleint send is :” + line);out = new PrintWriter(socket.getOutputStream(),true); out.println(
27、 “Your Message Received!” );out.close();in.close();socket.close();catch (IOException e)out.println( “ wrong”);public static void main(String args)new Server();Client 端程序 :package test;import java.io.*;import .*;public class ClientSocket socket;BufferedReader in;PrintWriter out;public Client()trySyst
28、em.out.println(“ Try to Connect to :10000”); socket = new Socket(“ ”,10000);System.out.println(“The Server Connected!” ); System.out.println(“Please enter some Character:”); BufferedReader line = new BufferedReader(new InputStreamReader(System.in);out = new PrintWriter(socket.getOu
29、tputStream(),true); out.println(line.readLine();in = new BufferedReader(new InputStreamReader(socket.getInputStream ();System.out.println(in.readLine(); out.close();in.close(); socket.close();catch(IOException e) out.println( “Wrong”); public static void main(String args)new Client(); ;6、用 JAVA 實現(xiàn)一種
30、排序, JAVA 類實現(xiàn)序列化的方法 (二種 )? 如 在 COLLECTION 框架中,實現(xiàn)比較要實現(xiàn)什么樣的接口? 答:用插入法進(jìn)行排序代碼如下 package test;import java.util.*;class InsertSort ArrayList al;public InsertSort(int num,int mod)al = new ArrayList(num); Random rand = new Random(); System.out.println(The ArrayList Sort Before:);for (int i=0;inum ;i+ )al.add
31、(new Integer(Math.abs(rand.nextInt() % mod + 1); System.out.println(al+i+=+al.get(i);public void SortIt()Integer tempInt;int MaxSize=1;for(int i=1;i=(Integer)al.get(MaxSize-1).intValue() al.add(MaxSize,tempInt);MaxSize+;System.out.println(al.toString(); else for (int j=0;j=tempIValue()al.add(j
32、,tempInt);MaxSize+;System.out.println(al.toString();break;System.out.println(The ArrayList Sort After:);for(int i=0;ial.size();i+)System.out.println(al+i+=+al.get(i);public static void main(String args)InsertSort is = new InsertSort(10,100);is.SortIt();JAVA 類實現(xiàn)序例化的方法是實現(xiàn) java.io.Serializable 接口Collec
33、tion 框架中實現(xiàn)比較要實現(xiàn) Comparable 接口和 Comparator 接口7、編程:編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸 出為按字節(jié)截取的字符串。 然而要保證漢字不被截半個,如“我 ABC ”4,應(yīng)該截為“我AB”,輸入“我ABC漢DEF”,6,應(yīng)該輸出為“我A BC”而不是“我ABC+漢的半個”。答:代碼如下 :package test;class SplitStringString SplitStr;int SplitByte;public SplitString(String str,int bytes)SplitStr=str;SplitByte=byt
34、es;System.out.println(The String is: +SplitStr+ ;SplitBytes二+SplitByte);public void SplitIt()int loopCount;loopCount=(SplitStr.length()%SplitByte=0)?(SplitStr.length()/SplitByte):(Sp litStr.length()/SplitByte+1);System.out.println(Will Split into +loopCount);for (int i=1;i=loopCount ;i+)if (i=loopCo
35、unt)System.out.println(SplitStr.substring(i-1)*SplitByte,SplitStr.length();elseSystem.out.println(SplitStr.substring(i-1)*SplitByte,(i*SplitByte);public static void main(String args)SplitString ss = new SplitString(test 中 dd 文 dsaf 中男大 3443n 中國 43 中國人 0ewldfls=103,4);ss.SplitIt();8、JAVA 多線程編程。 用 JAV
36、A 寫一個多線程程序, 如寫四個線程, 二個加 1,二個對一個變量減一,輸出。期望大伙兒補(bǔ)上,感謝9、STRING 與 STRINGBUFFER 的區(qū)不。答: STRING 的長度是不可變的, STRINGBUFFER 的長度是可變的。如 果你對字符串中的內(nèi)容經(jīng)常進(jìn)行操作, 專門是內(nèi)容要修改時, 那么使用 S tringBuffer,如果最后需要 String,那么使用 StringBuffer 的 toString()方法Jsp方面1、 jsp 有哪些內(nèi)置對象 ?作用分不是什么 ?答:JSP共有以下9種差不多內(nèi)置組件(可與ASP的6種內(nèi)部組件相對應(yīng)):request用戶端要求,此要求會包含來
37、自GET/POST要求的參數(shù)response 網(wǎng)頁傳回用戶端的回應(yīng)pageContext 網(wǎng)頁的屬性是在那個地點(diǎn)治理session 與要求有關(guān)的會話期application servlet 正在執(zhí)行的內(nèi)容out 用來傳送回應(yīng)的輸出config servlet的構(gòu)架部件page JSP網(wǎng)頁本身exception 針對錯誤網(wǎng)頁,未捕捉的例外2、 jsp 有哪些動作 ?作用分不是什么 ?答:JSP共有以下6種差不多動作jsp:include:在頁面被要求的時候引入一個文件。jsp:useBean查找或者實例化一個 JavaBean jsp:setProperty 設(shè)置 JavaBean的屬性。jsp
38、:getProperty:輸出某個 JavaBean的屬性。jsp:forward:把要求轉(zhuǎn)到一個新的頁面。jsp:plugin :按照掃瞄器類型為Java插件生成OBJECT或EMBED標(biāo)記3、JSP中動態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)不?答:動態(tài)INCLUDE用jsp:include動作實現(xiàn)它總是會檢查所含文件中的變化,適合用于包含動態(tài)頁面,同時能夠帶參數(shù)靜態(tài)INCLUDE用include偽碼實現(xiàn),定可不能檢查所含文件的變化,適用于包含靜態(tài)頁面4、兩種跳轉(zhuǎn)方式分不是什么 ?有什么區(qū)不 ?答:有兩種,分不為:前者頁面可不能轉(zhuǎn)向 include 所指的頁面,只是顯示該頁的結(jié)果,主頁面
39、依舊原先的頁面。執(zhí)行完后還會回來,相當(dāng)于函數(shù)調(diào)用。同時能夠帶參 數(shù) .后者完全轉(zhuǎn)向新頁面,可不能再回來。相當(dāng)于go to 語句。Servlet 方面1、講一講Servlet的生命周期?答:servlet有良好的生存期的定義,包括加載和實例化、初始化、處理要求以及服務(wù)終止。那個生存期由javax.servlet.Servlet接口的init,service和destroy 方法表達(dá)。2、Servlet版本間(忘了咨詢的是哪兩個版本了)的不同?期望大伙兒補(bǔ)上,感謝3、JAVA SERVLET API 中 forward。與 redirect()的區(qū)不?答:前者僅是容器中操縱權(quán)的轉(zhuǎn)向,在客戶端掃瞄器
40、地址欄中可不能顯示 出轉(zhuǎn)向后的地址;后者則是完全的跳轉(zhuǎn),掃瞄器將會得到跳轉(zhuǎn)的地址, 并重新發(fā)送要求鏈接。如此,從掃瞄器的地址欄中能夠看到跳轉(zhuǎn)后的鏈 接地址。因此,前者更加高效,在前者能夠滿足需要時,盡量使用 forwa rd()方法,同時,如此也有助于隱藏實際的鏈接。在有些情形下,例如, 需要跳轉(zhuǎn)到一個其它服務(wù)器上的資源,則必須使用sendRedirect(方法。4、Servlet的差不多架構(gòu)public class ServletName extends HttpServletpublic void doPost(HttpServletRequestrequest, HttpServletR
41、esponse r esponse) throwsServletException, IOException public void doGet(HttpServletRequest request, HttpServletResponse re sponse) throwsServletException, IOException Jdbc、 Jdo 方面1、可能會讓你寫一段Jdbc連Oracle的程序,并實現(xiàn)數(shù)據(jù)查詢. 答:程序如下:package hello.ant;import java.sql.*;public class jdbcString dbUrl=jdbc:oracle:t
42、hin::1521:orcl;String theUser=admin;String thePw=manager;Connection c=null;Statement conn;ResultSet rs=null;public jdbc()tryClass.forName(oracle.jdbc.driver.OracleDriver).newInstance(); c = DriverManager.getConnection(dbUrl,theUser,thePw); conn=c.createStatement();catch(Exception e)e.printS
43、tackTrace();public boolean executeUpdate(String sql)tryconn.executeUpdate(sql);return true;catch (SQLException e) e.printStackTrace();return false;public ResultSet executeQuery(String sql)rs=null;try rs=conn.executeQuery(sql);catch (SQLException e)e.printStackTrace();return rs;public void close()try
44、conn.close();c.close();catch (Exception e)e.printStackTrace();public static void main(String args)ResultSet rs;jdbc conn = new jdbc(); rs=conn.executeQuery(select * from test); trywhile (rs.next()System.out.println(rs.getString(id); System.out.println(rs.getString(name);catch(Exception e)e.printStac
45、kTrace();2、Class.forName的作用?什么緣故要用? 答:調(diào)用該訪咨詢返回一個以字符串指定類名的類的對象。3、Jdo是什么?答:JDO是Java對象持久化的新的規(guī)范,為java data object的簡稱也是 一個用于存取某種數(shù)據(jù)倉庫中的對象的標(biāo)準(zhǔn)化API。JDO提供了透亮的對象儲備,因此對開發(fā)人員來講,儲備數(shù)據(jù)對象完全不需要額外的代碼(如JDBC API的使用)。這些繁瑣的例行工作差不多轉(zhuǎn)移到 JDO產(chǎn)品 提供商身上,使開發(fā)人員解脫出來,從而集中時刻和精力在業(yè)務(wù)邏輯上。 另外, JDO 專門靈活, 因為它能夠在任何數(shù)據(jù)底層上運(yùn)行。 JDBC 只是面 向關(guān)系數(shù)據(jù)庫(RDBM
46、S)JDO更通用,提供到任何數(shù)據(jù)底層的儲備功能, 例如關(guān)系數(shù)據(jù)庫、文件、XML以及對象數(shù)據(jù)庫(ODBMS)等等,使得 應(yīng)用可移植性更強(qiáng)。4、在 ORACLE 大數(shù)據(jù)量下的分頁解決方法。一樣用截取 ID 方法,還有 是三層嵌套方法。答:一種分頁方法=intPageCount) nextPage=intPageCount; upPage = currentPage-1;if (upPage=1) upPage=1;rs.close(); sql=select * from tables; rs=DBLink.executeQuery(sql);i=0; while(i/輸出內(nèi)容 /輸出翻頁連接合計
47、:/ 第一頁 上一頁 %for(int j=1;ja href=list.jsp?page=訃一頁 v/aa href二List.jsp?pa ge=最后頁Xml 方面1、 xml 有哪些解析技術(shù) ?區(qū)不是什么 ?答 :有 DOM,SAX,STAX 等DOM: 處理大型文件時其性能下降的專門厲害。那個咨詢題是由DOM 的樹結(jié)構(gòu)所造成的, 這種結(jié)構(gòu)占用的內(nèi)存較多, 而且 DOM 必須在解析文件 之前把整個文檔裝入內(nèi)存 ,適合對 XML 的隨機(jī)訪咨詢 SAX: 不現(xiàn)于 DOM, SAX 是事件驅(qū)動型的 XML 解析方式。 它順序讀取 XML 文件,不需要一 次全部裝載整個文件。當(dāng)遇到像文件開頭,文
48、檔終止,或者標(biāo)簽開頭與 標(biāo)簽終止時,它會觸發(fā)一個事件,用戶通過在其回調(diào)事件中寫入處理代 碼來處理 XML 文件,適合對 XML 的順序訪咨詢 STAX:Streaming API for XML (StAX)2、 你在項目中用到了 xml 技術(shù)的哪些方面 ?如何實現(xiàn)的 ? 答:用到了數(shù)據(jù)存貯,信息配置兩方面。在做數(shù)據(jù)交換平臺時,將不能數(shù) 據(jù)源的數(shù)據(jù)組裝成 XML 文件,然后將 XML 文件壓縮打包加密后通過網(wǎng) 絡(luò)傳送給接收者, 接收解密與解壓縮后再同 XML 文件中還原有關(guān)信息進(jìn) 行處理。在做軟件配置時,利用 XML 能夠?qū)iT方便的進(jìn)行,軟件的各種 配置參數(shù)都存貯在 XML 文件中。3、 用
49、jdom 解析 xml 文件時如何解決中文咨詢題 ?如何解析 ? 答 :看如下代碼 ,用編碼方式加以解決package test;import java.io.*;public class DOMTestprivate String inFile = c:people.xml;private String outFile = c:people.xml;public static void main(String args)new DOMTest();public DOMTest()tryjavax.xml.parsers.DocumentBuilder builder =javax.xml.p
50、arsers.DocumentBuilderFactory.newInstance().newDocumentBuil der();org.w3c.dom.Document doc = builder.newDocument();org.w3c.dom.Eleme nt root = doc.createEleme nt(老師”);org.w3c.dom.Eleme nt wang = doc.createEleme nt(王); org.w3c.dom.Eleme nt liu = doc.createEleme nt( 劉”); wang.appendChild(doc.createTex
51、tNode我是王老師); root.appendChild(wang);doc.appendChild(root);javax.xml.transform.Transformer transformer = javax.xml.transform.TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING,gb2312); transformer.setOutputProperty(javax.xml.transf
52、orm.OutputKeys.INDENT, y es);transformer.transform(new javax.xml.transform.dom.DOMSource(doc), newjavax.xml.transform.stream.StreamResult(outFile);catch (Exception e)System.out.println (e.getMessage();EJB 方面1、EJB2.0有哪些內(nèi)容?分不用在什么場合? EJB2.0和EJB1.1的區(qū)不?答:規(guī)范內(nèi)容包括Bean提供者,應(yīng)用程序裝配者,EJB容器,EJB配置 工具, EJB 服務(wù)提供者,系統(tǒng)
53、治理員。那個地點(diǎn)面, EJB 容器是 EJB 之 因此能夠運(yùn)行的核心。EJB容器治理著EJB的創(chuàng)建,撤消,激活,去活, 與數(shù)據(jù)庫的連接等等重要的核心工作。 JSP,Servlet,EJB,JNDI,JDBC,JMS.2、EJB 與 JAVA BEAN 的區(qū)不?答:Java Bean是可復(fù)用的組件,對Java Bean并沒有嚴(yán)格的規(guī)范,理論 上講,任何一個Java類都能夠是一個Bean。但通常情形下,由于Java Bean是被容器所創(chuàng)建(如Tomcat)的,因此Java Bean應(yīng)具有一個無參的 構(gòu)造器,另外,通常Java Bean還要實現(xiàn)Serializable接口用于實現(xiàn)Bean 的持久性。
54、Java Bean實際上相當(dāng)于微軟 COM模型中的本地進(jìn)程內(nèi)CO M 組件,它是不能被跨進(jìn)程訪咨詢的。 Enterprise Java Bean 相當(dāng)于 DC OM,即分布式組件。它是基于Java的遠(yuǎn)程方法調(diào)用(RMI)技術(shù)的,因 此EJB能夠被遠(yuǎn)程訪咨詢(跨進(jìn)程、跨運(yùn)算機(jī))。但EJB必須被布署在諸 如 Webspere、 WebLogic 如此的容器中, EJB 客戶從不直截了當(dāng)訪咨詢真 正的EJB組件,而是通過其容器訪咨詢。EJB容器是EJB組件的代理,E JB 組件由容器所創(chuàng)建和治理??蛻敉ㄟ^容器來訪咨詢真正的 EJB 組件。3、EJB 的差不多架構(gòu)答:一個 EJB 包括三個部分 :Re
55、mote Interface 接口的代碼package Beans;import javax.ejb.EJBObject;import java.rmi.RemoteException;public interface Add extends EJBObject/some method declareHome Interface 接口的代碼package Beans;import java.rmi.RemoteException;import jaax.ejb.CreateException;import javax.ejb.EJBHome;public interface AddHome e
56、xtends EJBHome/some method declareEJB 類的代碼package Beans;import java.rmi.RemoteException;import javax.ejb.SessionBean;import javx.ejb.SessionContext;public class AddBean Implements SessionBean/some method declareJ2EE,MVC 方面1、 MVC 的各個部分都有那些技術(shù)來實現(xiàn) ?如何實現(xiàn) ?答:MVC是Model View Controller的簡寫。Model代表的是應(yīng)用的 業(yè)務(wù)邏輯(
57、通過JavaBean EJB組件實現(xiàn)),View是應(yīng)用的表示面(由 JSP頁面產(chǎn)生),Controller是提供應(yīng)用的處理過程操縱(一樣是一個 S ervlet),通過這種設(shè)計模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的 組件實現(xiàn)。這些組件能夠進(jìn)行交互和重用。2、應(yīng)用服務(wù)器與 WEB SERVER的區(qū)不?期望大伙兒補(bǔ)上,感謝3、J2EE 是什么?答:Je22是Sun公司提出的多層(multi-diered),分布式(distributed),基于組件 (component-base的企業(yè)級應(yīng)用模型(enterpriese application model).在女口 此的一個應(yīng)用系統(tǒng)中,可按照
58、功能劃分為不同的組件,這些組件又可在 不同運(yùn)算機(jī)上,同時處于相應(yīng)的層次(tier)中。所屬層次包括客戶層(cliet n tier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。4、WEB SERVICE 名詞講明。 JSWDL 開發(fā)包的介紹。 JAXP、 JAXM 的 講明。 SOAP、 UDDI,WSDL 講明。答:Web Service描述語言 WSDLSOAP即簡單對象訪咨詢協(xié)議(Simple Object Access Protocol),它是用于 交換 XML 編碼信息的輕量級協(xié)議。UDDI的目的是為電子商務(wù)建立標(biāo)準(zhǔn);UDDI是一套基于 Web的、分布
59、式的、為Web Service提供的、信息注冊中心的實現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時也包 含一組使企業(yè)能將自身提供的 Web Service注冊,以使不的企業(yè)能夠發(fā)覺 的訪咨詢協(xié)議的實現(xiàn)標(biāo)準(zhǔn)。5、 BS與CS的聯(lián)系與區(qū)不。期望大伙兒補(bǔ)上,感謝6、 STRUTS的應(yīng)用(女口 STRUTS架構(gòu))答:Struts是采納 Java Servlet/JavaServer Pages技術(shù),開發(fā) Web 應(yīng)用程 序的開放源碼的framework。采納Struts能開發(fā)出基于MVC(Model-Vie w-Co ntroller)設(shè)計模式的應(yīng)用構(gòu)架。 Struts有如下的要緊功能:一、包含一個controller serv
60、let,能將用戶的要求發(fā)送到相應(yīng)的 Action對 象。二、JSP自由tag庫,同時在controller servlet中提供關(guān)聯(lián)支持,關(guān)心開 發(fā)員創(chuàng)建交互式表單應(yīng)用。三、提供了一系列有用對象: XML 處理、通過 Java reflection APIs 自動 處理JavaBeans屬性、國際化的提示和消息。設(shè)計模式方面1、 開發(fā)中都用到了那些設(shè)計模式 ?用在什么場合 ?答:每個模式都描述了一個在我們的環(huán)境中持續(xù)顯現(xiàn)的咨詢題,然后描 述了該咨詢題的解決方案的核心。通過這種方式,你能夠許多次地使用 那些已有的解決方案, 無需在重復(fù)相同的工作。 要緊用到了 MVC 的設(shè)計 模式。用來開發(fā)JSP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度泳池救生員安全規(guī)范執(zhí)行責(zé)任合同
- 二零二五年度員工因違紀(jì)終止勞動合同及違約金協(xié)議
- 2025年度鋁合金門窗安裝與環(huán)保材料認(rèn)證合同
- 二零二五年度化妝品電商平臺合作推廣合同
- 二零二五年度大型娛樂活動編劇聘用合同
- 2025年度海洋經(jīng)濟(jì)開發(fā)投資項目合同
- 鼻毛修剪器項目風(fēng)險識別與評估綜合報告
- 高速鐵路客車軸承項目風(fēng)險識別與評估綜合報告
- 智慧交通系統(tǒng)研發(fā)合作合同
- 裝修貸款合同范本5篇
- 生活垃圾焚燒電廠鋼結(jié)構(gòu)施工方案
- (必會)企業(yè)人力資源管理師(二級)近年考試真題題庫(含答案解析)
- 2024年蘇州農(nóng)業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫各版本
- 殼管式換熱器設(shè)計說明書
- 頸椎病知識課件
- 上春山二部合唱鋼琴伴奏正譜
- 有夢就去追主題班會課件
- 班干部的選拔培養(yǎng)和使用
- 小學(xué)三年級下冊心理健康教案
- 市級優(yōu)質(zhì)課一等獎《誰是最可愛的人》七年級語文下冊同步備課課件(統(tǒng)編版)
- 頸源性頭痛演示課件
評論
0/150
提交評論