posts - 189,comments - 115,trackbacks - 0
          java面試題目
          ssuupv 發(fā)表于 2005-3-29 8:42:55

          1.?????? 請(qǐng)說(shuō)出 JSP 內(nèi)含的對(duì)象,及變量的生存范圍?

          2.?????? Connection Pool 的原理及優(yōu)點(diǎn)缺點(diǎn)簡(jiǎn)述?

          3.?????? 請(qǐng)指出 JDBC 三種不同的 Statement 類型,并說(shuō)明其使用場(chǎng)合?

          4.?????? 請(qǐng)簡(jiǎn)述一下,你知道的 JSP Framework, 你常用是那一種?

          5.?????? 在一系統(tǒng)中,如果要實(shí)現(xiàn)國(guó)際化設(shè)計(jì)及多 Style, 你有什么解決方法?應(yīng)該考慮那些因素?

          6.?????? RequestDispatcher 有什么作用?

          7.?????? 如果你用過(guò) EJB ,你怎樣處理 EJB 中的 Primary Key 的自動(dòng)增加的問(wèn)題 ( 要考慮有些數(shù)據(jù)庫(kù)不支持自動(dòng)增長(zhǎng) )

          JAVA 簡(jiǎn)單實(shí)現(xiàn) stack   push(Object object),pop(), revove(int index) 方法。(提示可以借用 Vector, queue 實(shí)現(xiàn))

          北家一家公司面試題目

          jsp 有哪些內(nèi)置對(duì)象?作用分別是什么?
          2 、描述一下 servlet 的生命周期和基本架構(gòu)。
          3 、多線程有幾種實(shí)現(xiàn)方法,都是什么?
          同步有幾種實(shí)現(xiàn)方法,都是什么?
          4 、作用域 public private protected 以及不寫時(shí)的區(qū)別?
          5
          、用 JAVA 實(shí)現(xiàn)數(shù)據(jù)庫(kù)查詢 ( 寫一段完整的程序 )
          6 、用正則表達(dá)式判斷 123456_78 不是一個(gè)數(shù)字。
          7
          、排序都有哪幾種方法?請(qǐng)列舉。用 JAVA 實(shí)現(xiàn)一個(gè)快速排序。

          ?

          1 、寫一個(gè)方法實(shí)現(xiàn)下述功能,返回一個(gè)包含某一字符串中所有奇數(shù)位字符的字符串。

          ?? 例如: ahbhchdheh?? 返回結(jié)果 abcde

          ???????? xaybz??????? 返回結(jié)果 xyz

          ?

          2 、數(shù)據(jù)庫(kù)題:有一學(xué)生表 student(student_id,student_name) 和一張圖書(shū)借閱表 books_loaned(student_id,book_number), 請(qǐng)通過(guò) sql 語(yǔ)句查找出從未借過(guò)一本書(shū)的學(xué)生的列表 ( 請(qǐng)使用 not exist 關(guān)鍵字 )

          ?

          3 html&javascript 題:請(qǐng)?jiān)谙旅娴?/span> html 中添加一個(gè)文本輸入框 (age) 和一個(gè)提交按鈕,同時(shí)添加 javascript 判斷:當(dāng)輸入 age 大于 80 時(shí),給出 javascript 提示信息。

          <html>

          <head>

          ?

          ?

          ?

          </head>

          <body>

          <form name="myform" action="/servlet/myservlet" method="post">

          ?

          ?

          ?

          </form>

          </body>

          </html>

          ?

          servlet 題:

          ⑴如果沒(méi)有 age 參數(shù)給出,下面的語(yǔ)句會(huì)產(chǎn)生什么結(jié)果 ?

          <% String s=request.getParameter("age");

          ?? out.println(s); %>

          A.NullpointerException occurs

          B.Page compiles but there is no output

          c.ServletException occurs

          d.null is printed on screen

          ?

          ⑵下面方法中哪幾是 servlet 的生命周期方法 ()

          A.init()

          B.initial()

          C.service()

          D.delete()

          E.destrey()

          ?

          XML 題:

          ⑴結(jié)構(gòu)良好的 XML 和有效的 XML 有什么不同?

          SAX DOM 的主要區(qū)別是什么?

          1 、寫一個(gè)方法實(shí)現(xiàn)下述功能,返回一個(gè)包含某一字符串中所有奇數(shù)位字符的字符串。

          ?? 例如: ahbhchdheh?? 返回結(jié)果 abcde

          ???????? xaybz??????? 返回結(jié)果 xyz

          public String oddString(String s){

          ?? if(s==null) throw new NullPointerException();

          ?? StringBuffer sb=new StringBuffer(s.length()/2+1);

          ?? int i=0;

          ?? while(i<s.length()){

          ????? sb.append(s.chatAt(i));

          ????? i+=2;

          ?? }

          ?? return sb.toString();

          }

          ?

          ?

          2 、數(shù)據(jù)庫(kù)題:有一學(xué)生表 student(student_id,student_name) 和一張圖書(shū)借閱表 books_loaned(student_id,book_number), 請(qǐng)通過(guò) sql 語(yǔ)句查找出從未借過(guò)一本書(shū)的學(xué)生的列表 ( 請(qǐng)使用 not exist 關(guān)鍵字 )

          select * from student as temp where not exitst(select temp.student_id from temp,books_loaned where temp.student_id = books_loaned)

          為什么要求用 not exist?? 根本不需要 ?

          ?

          ?

          3 html&javascript 題:請(qǐng)?jiān)谙旅娴?/span> html 中添加一個(gè)文本輸入框 (age) 和一個(gè)提交按鈕,同時(shí)添加 javascript 判斷:當(dāng)輸入 age 大于 80 時(shí),給出 javascript 提示信息。

          <html>

          <head>

          ?

          ?

          ?

          </head>

          <body>

          <form name="myform" action="/servlet/myservlet" method="post">

          ?

          ?

          ?

          </form>

          </body>

          </html>

          這個(gè)問(wèn)題還是算了

          servlet 題:

          ⑴如果沒(méi)有 age 參數(shù)給出,下面的語(yǔ)句會(huì)產(chǎn)生什么結(jié)果 ?

          <% String s=request.getParameter("age");

          ?? out.println(s); %>

          A.NullpointerException occurs

          B.Page compiles but there is no output

          c.ServletException occurs

          d.null is printed on screen

          ?

          當(dāng)然是 d

          ?

          ⑵下面方法中哪幾是 servlet 的生命周期方法 ()

          A.init()

          B.initial()

          C.service()

          D.delete()

          E.destrey()

          a,c,e

          XML 題:

          ⑴結(jié)構(gòu)良好的 XML 和有效的 XML 有什么不同?

          不同方面吧 , 有效是語(yǔ)法 , 結(jié)構(gòu)是設(shè)計(jì)

          SAX DOM 的主要區(qū)別是什么?

          實(shí)現(xiàn)技術(shù)不一樣 , 我也忘了誰(shuí)是誰(shuí)了

          ?

          1 、寫一個(gè)方法實(shí)現(xiàn)下述功能,返回一個(gè)包含某一字符串中所有奇數(shù)位字符的字符串。

          ?? 例如: ahbhchdheh?? 返回結(jié)果 abcde

          < TD>


          閱讀全文(1435) | 回復(fù)(14) | 引用通告(0) | 編輯
          ?


          Re:java面試題目
          ssuupv(游客)發(fā)表評(píng)論于2006-2-5 16:54:55
          1.下面哪些類可以被繼承?

             java.lang.Thread?(T)
             java.lang.Number?(T)
             java.lang.Double?(F)
             java.lang.Math??(F)
             java.lang.Void??(F)
             java.lang.Class??(F)
             java.lang.ClassLoader?(T)

            2.抽象類和接口的區(qū)別

            (1)接口可以被多重implements,抽象類只能被單一extends
            (2)接口只有定義,抽象類可以有定義和實(shí)現(xiàn)
            (3)接口的字段定義默認(rèn)為:public?static?final,?抽象類字段默認(rèn)是"friendly"(本包可見(jiàn))

            3.Hashtable的原理,并說(shuō)出HashMap與Hashtable的區(qū)別

            HashTable的原理:通過(guò)節(jié)點(diǎn)的關(guān)鍵碼確定節(jié)點(diǎn)的存儲(chǔ)位置,即給定節(jié)點(diǎn)的關(guān)鍵碼k,通過(guò)一定的函數(shù)關(guān)系H(散列函數(shù)),得到函數(shù)值H(k),將此值解釋為該節(jié)點(diǎn)的存儲(chǔ)地址.
          HashMap?與Hashtable很相似,但HashMap?是非同步(unsynchronizded)和可以以null為關(guān)鍵碼的.

            4.forward和redirect的區(qū)別

            forward:?an?internal?transfer?in?servlet
            redirect:?重定向,有2次request,第2次request將丟失第一次的attributs/parameters等

            5.什么是Web容器?

            實(shí)現(xiàn)J2EE規(guī)范中web協(xié)議的應(yīng)用.該協(xié)議定義了web程序的運(yùn)行時(shí)環(huán)境,包括:并發(fā)性,安全性,生命周期管理等等.

            6.解釋下面關(guān)于J2EE的名詞

            (1)JNDI:Java?Naming?&?Directory?Interface,JAVA命名目錄服務(wù).主要提供的功能是:提供一個(gè)目錄系統(tǒng),讓其它各地的應(yīng)用程序在其上面留下自己的索引,從而滿足快速查找和定位分布式應(yīng)用程序的功能.
            (2)JMS:Java?Message?Service,JAVA消息服務(wù).主要實(shí)現(xiàn)各個(gè)應(yīng)用程序之間的通訊.包括點(diǎn)對(duì)點(diǎn)和廣播.
            (3)JTA:Java?Transaction?API,JAVA事務(wù)服務(wù).提供各種分布式事務(wù)服務(wù).應(yīng)用程序只需調(diào)用其提供的接口即可.
            (4)JAF:?Java?Action?FrameWork,JAVA安全認(rèn)證框架.提供一些安全控制方面的框架.讓開(kāi)發(fā)者通過(guò)各種部署和自定義實(shí)現(xiàn)自己的個(gè)性安全控制策略.
            (5)RMI:Remote?Method?Interface,遠(yuǎn)程方法調(diào)用

          個(gè)人主頁(yè) | 引用 | 返回 | 刪除 | 回復(fù)
          ?


          Re:java面試題目
          ssuupv(游客)發(fā)表評(píng)論于2006-2-5 16:53:50
          7.EJB是基于哪些技術(shù)實(shí)現(xiàn)的?并說(shuō)?出SessionBean和EntityBean的區(qū)別,StatefulBean和StatelessBean的區(qū)別.

            EJB包括Session?Bean、Entity?Bean、Message?Driven?Bean,基于JNDI、RMI、JAT等技術(shù)實(shí)現(xiàn).

            SessionBean在J2EE應(yīng)用程序中被用來(lái)完成一些服務(wù)器端的業(yè)務(wù)操作,例如訪問(wèn)數(shù)據(jù)庫(kù)、調(diào)用其他EJB組件.EntityBean被用來(lái)代表應(yīng)用系統(tǒng)中用到的數(shù)據(jù).對(duì)于客戶機(jī),SessionBean是一種非持久性對(duì)象,它實(shí)現(xiàn)某些在服務(wù)器上運(yùn)行的業(yè)務(wù)邏輯;EntityBean是一種持久性對(duì)象,它代表一個(gè)存儲(chǔ)在持久性存儲(chǔ)器中的實(shí)體的對(duì)象視圖,或是一個(gè)由現(xiàn)有企業(yè)應(yīng)用程序?qū)崿F(xiàn)的實(shí)體.

            Session?Bean?還可以再細(xì)分為?Stateful?Session?Bean?與?Stateless?Session?Bean?.這兩種的?Session?Bean都可以將系統(tǒng)邏輯放在?method之中執(zhí)行,不同的是?Stateful?Session?Bean?可以記錄呼叫者的狀態(tài),因此通常來(lái)說(shuō),一個(gè)使用者會(huì)有一個(gè)相對(duì)應(yīng)的?Stateful?Session?Bean?的實(shí)體.Stateless?Session?Bean?雖然也是邏輯組件,但是他卻不負(fù)責(zé)記錄使用者狀態(tài),也就是說(shuō)當(dāng)使用者呼叫?Stateless?Session?Bean?的時(shí)候,EJB?Container?并不會(huì)找尋特定的?Stateless?Session?Bean?的實(shí)體來(lái)執(zhí)行這個(gè)?method.換言之,很可能數(shù)個(gè)使用者在執(zhí)行某個(gè)?Stateless?Session?Bean?的?methods?時(shí),會(huì)是同一個(gè)?Bean?的?Instance?在執(zhí)行.從內(nèi)存方面來(lái)看,?Stateful?Session?Bean?與?Stateless?Session?Bean?比較,?Stateful?Session?Bean?會(huì)消耗?J2EE?Server?較多的內(nèi)存,然而?Stateful?Session?Bean?的優(yōu)勢(shì)卻在于他可以維持使用者的狀態(tài).

            8.XML的解析方法

            Sax,DOM,JDOM

            9.什么是Web?Service?

            Web?Service就是為了使原來(lái)各孤立的站點(diǎn)之間的信息能夠相互通信、共享而提出的一種接口。
          Web?Service所使用的是Internet上統(tǒng)一、開(kāi)放的標(biāo)準(zhǔn),如HTTP、XML、SOAP(簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)、WSDL等,所以Web?Service可以在任何支持這些標(biāo)準(zhǔn)的環(huán)境(Windows,Linux)中使用。

            注:SOAP協(xié)議(Simple?Object?Access?Protocal,簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議),它是一個(gè)用于分散和分布式環(huán)境下網(wǎng)絡(luò)信息交換的基于XML的通訊協(xié)議。在此協(xié)議下,軟件組件或應(yīng)用程序能夠通過(guò)標(biāo)準(zhǔn)的HTTP協(xié)議進(jìn)行通訊。它的設(shè)計(jì)目標(biāo)就是簡(jiǎn)單性和擴(kuò)展性,這有助于大量異構(gòu)程序和平臺(tái)之間的互操作性,從而使存在的應(yīng)用程序能夠被廣泛的用戶訪問(wèn)。

            優(yōu)勢(shì):

            (1).跨平臺(tái)。
            (2).SOAP協(xié)議是基于XML和HTTP這些業(yè)界的標(biāo)準(zhǔn)的,得到了所有的重要公司的支持。
            (3).由于使用了SOAP,數(shù)據(jù)是以ASCII文本的方式而非二進(jìn)制傳輸,調(diào)試很方便;并且由于這樣,它的數(shù)據(jù)容易通過(guò)防火墻,不需要防火墻為了程序而單獨(dú)開(kāi)一個(gè)“漏洞”。
            (4).此外,WebService實(shí)現(xiàn)的技術(shù)難度要比CORBA和DCOM小得多。
            (5).要實(shí)現(xiàn)B2B集成,EDI比較完善與比較復(fù)雜;而用WebService則可以低成本的實(shí)現(xiàn),小公司也可以用上。
            (6).在C/S的程序中,WebService可以實(shí)現(xiàn)網(wǎng)頁(yè)無(wú)整體刷新的與服務(wù)器打交道并取數(shù)。

            缺點(diǎn):

            (1).WebService使用了XML對(duì)數(shù)據(jù)封裝,會(huì)造成大量的數(shù)據(jù)要在網(wǎng)絡(luò)中傳輸。
            (2).WebService規(guī)范沒(méi)有規(guī)定任何與實(shí)現(xiàn)相關(guān)的細(xì)節(jié),包括對(duì)象模型、編程語(yǔ)言,這一點(diǎn),它不如CORBA。

            10.多線程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?

            答:多線程有兩種實(shí)現(xiàn)方法,分別是繼承Thread類與實(shí)現(xiàn)Runnable接口
            同步的實(shí)現(xiàn)方面有兩種,分別是synchronized,wait與notify

            11.JSP中動(dòng)態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別??

            動(dòng)態(tài)INCLUDE用jsp:include動(dòng)作實(shí)現(xiàn)

          <jsp:include?page="included.jsp"?flush="true"/>

            它總是會(huì)檢查所含文件中的變化,適合用于包含動(dòng)態(tài)頁(yè)面,并且可以帶參數(shù)

            靜態(tài)INCLUDE用include偽碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,適用于包含靜態(tài)頁(yè)面

            <%@?include?file="included.htm"?%>

          個(gè)人主頁(yè) | 引用 | 返回 | 刪除 | 回復(fù)
          ?


          Re:java面試題目
          look(游客)發(fā)表評(píng)論于2006-2-5 16:52:11

          二、Java編程與程序運(yùn)行結(jié)果

            1.Java編程,打印昨天的當(dāng)前時(shí)刻

          public?class?YesterdayCurrent{
          ??public?void?main(String[]?args){
          ????Calendar?cal?=?Calendar.getInstance();
          ????cal.add(Calendar.DATE,?-1);
          ????System.out.println(cal.getTime());
          ??}
          }
            2.文件讀寫,實(shí)現(xiàn)一個(gè)計(jì)數(shù)器

          ??public?int?getNum(){
          ????????int?i?=?-1;
          ????????try{
          ????????????String?stri="";
          ????????????BufferedReader?in?=?new?BufferedReader(new?FileReader(f));
          ????????????while((stri=in.readLine())!=null){
          ????????????????i?=?Integer.parseInt(stri.trim());
          ????????????}
          ????????????in.close();
          ????????}catch(Exception?e){
          ????????????e.printStackTrace();
          ????????}
          ????????return?i;
          ????}
          ????public?void?setNum(){
          ????????int?i?=?getNum();
          ????????i++;????????
          ????????try{
          ????????????PrintWriter?out=new?PrintWriter(new?BufferedWriter(new?FileWriter(f,false)));??
          ????????????out.write(String.valueOf(i));????????????//可能是編碼的原因,如果直接寫入int的話,將出現(xiàn)java編碼和windows編碼的混亂,因此此處寫入的是String
          ????????????out.close()?;
          ????????}catch(Exception?e){
          ????????????e.printStackTrace();
          ????????}
          ????}
            3.?指出下面程序的運(yùn)行結(jié)果:

          class?A{
          ????static{
          ????????System.out.print("1");
          ????}
          ????public?A(){
          ????????System.out.print("2");
          ????}
          }
          class?B?extends?A{
          ????static{
          ????????System.out.print("a");
          ????}
          ????public?B(){
          ????????System.out.print("b");
          ????}???
          }
          public?class?Hello{
          ????public?static?void?main(String[]?ars){
          ????????A?ab?=?new?B();?//執(zhí)行到此處,結(jié)果:?1a2b
          ?ab?=?new?B();?//執(zhí)行到此處,結(jié)果:?1a2bab
          ????}
          }
            注:類的static?代碼段,可以看作是類首次加載(被虛擬機(jī)加載)執(zhí)行的代碼,而對(duì)于類的加載,首先要執(zhí)行其基類的構(gòu)造,再執(zhí)行其本身的構(gòu)造

            4.寫一個(gè)Singleton模式的例子

          public?class?Singleton{
          ?private?static?Singleton?single?=?new?Singleton();
          ?private?Singleton(){}
          ?public?Singleton?getInstance(){
          ??return?single;
          ?}
          }

          個(gè)人主頁(yè) | 引用 | 返回 | 刪除 | 回復(fù)
          ?


          Re:java面試題目
          test(游客)發(fā)表評(píng)論于2006-2-5 16:49:15
          三、數(shù)據(jù)庫(kù)
            1.刪除表的重復(fù)記錄
            如果記錄完全相同才算重復(fù)記錄,那么:? (sql server2000下測(cè)試通過(guò))
          select distinct * into #tmpp from tid
          delete from tid????
          insert into tid select * from #tmpp
          drop table #tmpp
            如果有id主鍵(數(shù)字,自增1的那種),那么:(sql server2000下測(cè)試通過(guò))
          delete from tableA where id not in
          (select id = min(id) from tableA group by name)
            2.delete from tablea & truncate table tablea的區(qū)別
            truncate 語(yǔ)句執(zhí)行速度快,占資源少,并且只記錄頁(yè)刪除的日志;
            delete 對(duì)每條記錄的刪除均需要記錄日志

          個(gè)人主頁(yè) | 引用 | 返回 | 刪除 | 回復(fù)
          ?


          Re:java面試題目
          ssuupv(游客)發(fā)表評(píng)論于2006-2-5 16:48:36

          test


          個(gè)人主頁(yè) | 引用 | 返回 | 刪除 | 回復(fù)
          ?


          回復(fù):java面試題目
          ssuupv發(fā)表評(píng)論于2005-12-1 9:13:59

          最新的面試題目

          1。請(qǐng)大概描述一下Vector和ArrayList的區(qū)別,Hashtable和HashMap的區(qū)別。(5)

          // thread-safe or unsafe, could contain null values or not

          2。請(qǐng)問(wèn)你在什么情況下會(huì)在你的JAVA代碼中使用可序列化?(5)
          為什么放到HttpSession中的對(duì)象必須要是可序列化的?(5)

          // save, communicate

          3。為什么在重寫了equals()方法之后也必須重寫hashCode()方法?(10)

          // implementations of dictionaries need hashCode() and equals()

          4。sleep()和wait()有什么區(qū)別?(10)

          // threads communication: wait() and notifyAll()

          5。編程題:用最有效率的方法算出2乘以17等于多少?(5)

          // 2<<4+2

          6。JAVA是不是沒(méi)有內(nèi)存泄漏問(wèn)題?看下面的代碼片段,并指出這些代碼隱藏的問(wèn)題。(10)
          ...
          Object[] elements = new Object[10];
          int size;
          ...
          public Object pop() {
          if (size == 0)
          return null;
          Object o = elements[--size];
          return o;
          }

          // elements[size] = null;

          7。請(qǐng)闡述一下你對(duì)JAVA多線程中“鎖”的概念的理解。(10)

          // optimistic lock, pessimistic lock, signal, dead lock, starvation, synchronization

          8。所有的遞歸實(shí)現(xiàn)都可以用循環(huán)的方式實(shí)現(xiàn),請(qǐng)描述一下這兩種實(shí)現(xiàn)方式各自的優(yōu)劣。
          并舉例說(shuō)明在什么情況下可以使用遞歸,而在什么情況下只能使用循環(huán)而不能使用遞歸?(5)

          // recursive: when you need a stack and stack memory is enough
          // non-recursive: when you need a queue

          9。請(qǐng)簡(jiǎn)要講一下你對(duì)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)的認(rèn)識(shí)。(10)

          // write unit testing code first

          10。請(qǐng)闡述一下你對(duì)“面向接口編程”的理解。(10)

          // adapter, listener, bridge, decorator, proxy... patterns

          11。在J2EE中有一個(gè)“容器(Container)”的概念,不管是EJB、PICO還是Spring都有他們
          各自實(shí)現(xiàn)的容器,受容器管理的組件會(huì)具有有生命周期的特性,請(qǐng)問(wèn),為什么需要容器?
          它的好處在哪里?它會(huì)帶來(lái)什么樣的問(wèn)題?(15)

          // encapsulation

          12。請(qǐng)闡述一下你對(duì)IOC(Inversion of Control)的理解。(可以以PICO和Spring的IOC作為例子說(shuō)明他們?cè)趯?shí)現(xiàn)上各自的特點(diǎn))(10)

          // reduce classes' dependencies

          13。下面的代碼在絕大部分時(shí)間內(nèi)都運(yùn)行得很正常,請(qǐng)問(wèn)在什么情況下會(huì)出現(xiàn)問(wèn)題?問(wèn)題的根源在哪里?(10)
          import java.util.LinkedList;

          public class Stack {

          LinkedList list = new LinkedList();

          public synchronized void push(Object x) {
          synchronized(list) {
          list.addLast( x );
          notify();
          }
          }

          public synchronized Object pop()
          throws Exception {
          synchronized(list) {
          if( list.size() <= 0 ) {
          wait();
          }
          return list.removeLast();
          }
          }
          }

          // dead lock, synchronized on both 'list' and 'this'


          個(gè)人主頁(yè) | 引用 | 返回 | 刪除 | 回復(fù)
          ?


          回復(fù):java面試題目
          ssuupv(游客)發(fā)表評(píng)論于2005-11-22 9:00:52

          J2EE 面試題綜合
          /**
          ?* By metaphy 2005-11-12
          ?* Version: 0.01
          ?* 注:題目答案來(lái)源于metaphy過(guò)去的知識(shí)或網(wǎng)絡(luò),metaphy不能保證其正確或完整性,僅供參考
          */
          [基礎(chǔ)問(wèn)答]
          1.下面哪些類可以被繼承?
          java.lang.Thread?(T)
          java.lang.Number?(T)
          java.lang.Double?(F)
          java.lang.Math??(F)
          java.lang.Void??(F)
          java.lang.Class??(F)
          java.lang.ClassLoader?(T)

          2.抽象類和接口的區(qū)別
          (1)接口可以被多重implements,抽象類只能被單一extends
          (2)接口只有定義,抽象類可以有定義和實(shí)現(xiàn)
          (3)接口的字段定義默認(rèn)為:public static final, 抽象類字段默認(rèn)是"friendly"(本包可見(jiàn))

          3.Hashtable的原理,并說(shuō)出HashMap與Hashtable的區(qū)別
          HashTable的原理:通過(guò)節(jié)點(diǎn)的關(guān)鍵碼確定節(jié)點(diǎn)的存儲(chǔ)位置,即給定節(jié)點(diǎn)的關(guān)鍵碼k,通過(guò)一定的函數(shù)關(guān)系H(散列函數(shù)),得到函數(shù)值H(k),將此值解釋為該節(jié)點(diǎn)的存儲(chǔ)地址.
          HashMap 與Hashtable很相似,但HashMap 是非同步(unsynchronizded)和可以以null為關(guān)鍵碼的.

          4.forward和redirect的區(qū)別
          forward: an internal transfer in servlet
          redirect: 重定向,有2次request,第2次request將丟失第一次的attributs/parameters等

          5.什么是Web容器?
          實(shí)現(xiàn)J2EE規(guī)范中web協(xié)議的應(yīng)用.該協(xié)議定義了web程序的運(yùn)行時(shí)環(huán)境,包括:并發(fā)性,安全性,生命周期管理等等.

          6.解釋下面關(guān)于J2EE的名詞
          (1)JNDI:Java Naming & Directory Interface,JAVA命名目錄服務(wù).主要提供的功能是:提供一個(gè)目錄系統(tǒng),讓其它各地的應(yīng)用程序在其上面留下自己的索引,從而滿足快速查找和定位分布式應(yīng)用程序的功能.
          (2)JMS:Java Message Service,JAVA消息服務(wù).主要實(shí)現(xiàn)各個(gè)應(yīng)用程序之間的通訊.包括點(diǎn)對(duì)點(diǎn)和廣播.
          (3)JTA:Java Transaction API,JAVA事務(wù)服務(wù).提供各種分布式事務(wù)服務(wù).應(yīng)用程序只需調(diào)用其提供的接口即可.
          (4)JAF: Java Action FrameWork,JAVA安全認(rèn)證框架.提供一些安全控制方面的框架.讓開(kāi)發(fā)者通過(guò)各種部署和自定義實(shí)現(xiàn)自己的個(gè)性安全控制策略.
          (5)RMI:Remote Method Interface,遠(yuǎn)程方法調(diào)用

          7.EJB是基于哪些技術(shù)實(shí)現(xiàn)的?并說(shuō)?出SessionBean和EntityBean的區(qū)別,StatefulBean和StatelessBean的區(qū)別.
          EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技術(shù)實(shí)現(xiàn).
          SessionBean在J2EE應(yīng)用程序中被用來(lái)完成一些服務(wù)器端的業(yè)務(wù)操作,例如訪問(wèn)數(shù)據(jù)庫(kù)、調(diào)用其他EJB組件.EntityBean被用來(lái)代表應(yīng)用系統(tǒng)中用到的數(shù)據(jù).對(duì)于客戶機(jī),SessionBean是一種非持久性對(duì)象,它實(shí)現(xiàn)某些在服務(wù)器上運(yùn)行的業(yè)務(wù)邏輯;EntityBean是一種持久性對(duì)象,它代表一個(gè)存儲(chǔ)在持久性存儲(chǔ)器中的實(shí)體的對(duì)象視圖,或是一個(gè)由現(xiàn)有企業(yè)應(yīng)用程序?qū)崿F(xiàn)的實(shí)體.
          Session Bean 還可以再細(xì)分為 Stateful Session Bean 與 Stateless Session Bean .這兩種的 Session Bean都可以將系統(tǒng)邏輯放在 method之中執(zhí)行,不同的是 Stateful Session Bean 可以記錄呼叫者的狀態(tài),因此通常來(lái)說(shuō),一個(gè)使用者會(huì)有一個(gè)相對(duì)應(yīng)的 Stateful Session Bean 的實(shí)體.Stateless Session Bean 雖然也是邏輯組件,但是他卻不負(fù)責(zé)記錄使用者狀態(tài),也就是說(shuō)當(dāng)使用者呼叫 Stateless Session Bean 的時(shí)候,EJB Container 并不會(huì)找尋特定的 Stateless Session Bean 的實(shí)體來(lái)執(zhí)行這個(gè) method.換言之,很可能數(shù)個(gè)使用者在執(zhí)行某個(gè) Stateless Session Bean 的 methods 時(shí),會(huì)是同一個(gè) Bean 的 Instance 在執(zhí)行.從內(nèi)存方面來(lái)看, Stateful Session Bean 與 Stateless Session Bean 比較, Stateful Session Bean 會(huì)消耗 J2EE Server 較多的內(nèi)存,然而 Stateful Session Bean 的優(yōu)勢(shì)卻在于他可以維持使用者的狀態(tài).

          8.XML的解析方法
          Sax,DOM,JDOM

          9.什么是Web Service?
          Web Service就是為了使原來(lái)各孤立的站點(diǎn)之間的信息能夠相互通信、共享而提出的一種接口。
          Web Service所使用的是Internet上統(tǒng)一、開(kāi)放的標(biāo)準(zhǔn),如HTTP、XML、SOAP(簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)、WSDL等,所以Web Service可以在任何支持這些標(biāo)準(zhǔn)的環(huán)境(Windows,Linux)中使用。
          注:SOAP協(xié)議(Simple Object Access Protocal,簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議),它是一個(gè)用于分散和分布式環(huán)境下網(wǎng)絡(luò)信息交換的基于XML的通訊協(xié)議。在此協(xié)議下,軟件組件或應(yīng)用程序能夠通過(guò)標(biāo)準(zhǔn)的HTTP協(xié)議進(jìn)行通訊。它的設(shè)計(jì)目標(biāo)就是簡(jiǎn)單性和擴(kuò)展性,這有助于大量異構(gòu)程序和平臺(tái)之間的互操作性,從而使存在的應(yīng)用程序能夠被廣泛的用戶訪問(wèn)。

          優(yōu)勢(shì):
          (1).跨平臺(tái);
          (2).SOAP協(xié)議是基于XML和HTTP這些業(yè)界的標(biāo)準(zhǔn)的,得到了所有的重要公司的支持。
          (3).由于使用了SOAP,數(shù)據(jù)是以ASCII文本的方式而非二進(jìn)制傳輸,調(diào)試很方便;并且由于這樣,它的數(shù)據(jù)容易通過(guò)防火墻,不需要防火墻為了程序而單獨(dú)開(kāi)一個(gè)“漏洞”。
          (4).此外,WebService實(shí)現(xiàn)的技術(shù)難度要比CORBA和DCOM小得多。
          (5).要實(shí)現(xiàn)B2B集成,EDI比較完善與比較復(fù)雜;而用WebService則可以低成本的實(shí)現(xiàn),小公司也可以用上。
          (6).在C/S的程序中,WebService可以實(shí)現(xiàn)網(wǎng)頁(yè)無(wú)整體刷新的與服務(wù)器打交道并取數(shù)。
          缺點(diǎn):
          (1).WebService使用了XML對(duì)數(shù)據(jù)封裝,會(huì)造成大量的數(shù)據(jù)要在網(wǎng)絡(luò)中傳輸。
          (2).WebService規(guī)范沒(méi)有規(guī)定任何與實(shí)現(xiàn)相關(guān)的細(xì)節(jié),包括對(duì)象模型、編程語(yǔ)言,這一點(diǎn),它不如CORBA。

          10.多線程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法,都是什么?
          答:多線程有兩種實(shí)現(xiàn)方法,分別是繼承Thread類與實(shí)現(xiàn)Runnable接口
          同步的實(shí)現(xiàn)方面有兩種,分別是synchronized,wait與notify

          11.JSP中動(dòng)態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別?
          動(dòng)態(tài)INCLUDE用jsp:include動(dòng)作實(shí)現(xiàn)
          <jsp:include page="included.jsp" flush="true"/>
          它總是會(huì)檢查所含文件中的變化,適合用于包含動(dòng)態(tài)頁(yè)面,并且可以帶參數(shù)
          靜態(tài)INCLUDE用include偽碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,適用于包含靜態(tài)頁(yè)面
          <%@ include file="included.htm" %>
          ?


          [Java編程與程序運(yùn)行結(jié)果]
          1.Java編程,打印昨天的當(dāng)前時(shí)刻
          public class YesterdayCurrent{
          ? public void main(String[] args){
          ??? Calendar cal = Calendar.getInstance();
          ??? cal.add(Calendar.DATE, -1);
          ??? System.out.println(cal.getTime());
          ? }
          }

          2.文件讀寫,實(shí)現(xiàn)一個(gè)計(jì)數(shù)器
          ? public int getNum(){
          ??????? int i = -1;
          ??????? try{
          ??????????? String stri="";
          ??????????? BufferedReader in = new BufferedReader(new FileReader(f));
          ??????????? while((stri=in.readLine())!=null){
          ??????????????? i = Integer.parseInt(stri.trim());
          ??????????? }
          ??????????? in.close();
          ??????? }catch(Exception e){
          ??????????? e.printStackTrace();
          ??????? }
          ??????? return i;
          ??? }
          ??? public void setNum(){
          ??????? int i = getNum();
          ??????? i++;???????
          ??????? try{
          ??????????? PrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter(f,false)));?
          ??????????? out.write(String.valueOf(i));??????????? //可能是編碼的原因,如果直接寫入int的話,將出現(xiàn)java編碼和windows編碼的混亂,因此此處寫入的是String
          ??????????? out.close() ;
          ??????? }catch(Exception e){
          ??????????? e.printStackTrace();
          ??????? }
          ??? }
          3. 指出下面程序的運(yùn)行結(jié)果:
          class A{
          ??? static{
          ??????? System.out.print("1");
          ??? }
          ??? public A(){
          ??????? System.out.print("2");
          ??? }
          }
          class B extends A{
          ??? static{
          ??????? System.out.print("a");
          ??? }
          ??? public B(){
          ??????? System.out.print("b");
          ??? }??
          }
          public class Hello{
          ??? public static void main(String[] ars){
          ??????? A ab = new B(); //執(zhí)行到此處,結(jié)果: 1a2b
          ?ab = new B();?//執(zhí)行到此處,結(jié)果: 1a2bab
          ??? }
          }
          注:類的static 代碼段,可以看作是類首次加載(被虛擬機(jī)加載)執(zhí)行的代碼,而對(duì)于類的加載,首先要執(zhí)行其基類的構(gòu)造,再執(zhí)行其本身的構(gòu)造
          4.寫一個(gè)Singleton模式的例子
          public class Singleton{
          ?private static Singleton single = new Singleton();
          ?private Singleton(){}
          ?public Singleton getInstance(){
          ??return single;
          ?}
          }

          [數(shù)據(jù)庫(kù)]
          1.刪除表的重復(fù)記錄
          如果記錄完全相同才算重復(fù)記錄,那么:? (sql server2000下測(cè)試通過(guò))
          select distinct * into #tmpp from tid
          delete from tid?????
          insert into tid select * from #tmpp
          drop table #tmpp
          如果有id主鍵(數(shù)字,自增1的那種),那么:(sql server2000下測(cè)試通過(guò))
          delete from tableA where id not in
          (select id = min(id) from tableA group by name)

          2.delete from tablea & truncate table tablea的區(qū)別
          truncate 語(yǔ)句執(zhí)行速度快,占資源少,并且只記錄頁(yè)刪除的日志;
          delete 對(duì)每條記錄的刪除均需要記錄日志

          posted on 2006-03-31 13:25 MEYE 閱讀(1347) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA
          主站蜘蛛池模板: 梧州市| 革吉县| 上蔡县| 射洪县| 焦作市| 贵港市| 靖边县| 郑州市| 剑川县| 望奎县| 泰安市| 菏泽市| 建阳市| 商水县| 同江市| 富川| 墨玉县| 呼伦贝尔市| 广元市| 夏邑县| 蚌埠市| 布尔津县| 若羌县| 湘潭市| 杭锦后旗| 巴中市| 宿州市| 五原县| 浏阳市| 宜川县| 鹿邑县| 彭阳县| 临海市| 丹寨县| 庄浪县| 平定县| 大石桥市| 南川市| 福贡县| 泸定县| 茂名市|