forget and forget

          能吃能睡是福;能忘是大福......

          posts - 39, comments - 26, trackbacks - 0, articles - 10
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          JAVA面試題集(4)

          Posted on 2006-05-21 10:05 橘子 閱讀(87) 評(píng)論(0)  編輯  收藏
          6、用JAVA實(shí)現(xiàn)一種排序,JAVA類實(shí)現(xiàn)序列化的方法(二種)? 如在COLLECTION框架中,實(shí)現(xiàn)比較要實(shí)現(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;i<num ;i++ )

          {

          al.add(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<al.size();i++)

          {

          tempInt = (Integer)al.remove(i);

          if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue())

          {

          al.add(MaxSize,tempInt);

          MaxSize++;

          System.out.println(al.toString());

          } else {

          for (int j=0;j<MaxSize ;j++ )

          {

          if



          (((Integer)al.get(j)).intValue()>=tempInt.intValue())

          {

          al.add(j,tempInt);

          MaxSize++;

          System.out.println(al.toString());

          break;

          }

          }

          }

          }

          System.out.println("The ArrayList Sort After:");

          for(int i=0;i<al.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類實(shí)現(xiàn)序例化的方法是實(shí)現(xiàn)java.io.Serializable接口

          Collection框架中實(shí)現(xiàn)比較要實(shí)現(xiàn)Comparable 接口和 Comparator 接口

          7、編程:編寫一個(gè)截取字符串的函數(shù),輸入為一個(gè)字符串和字節(jié)數(shù),輸出為按字節(jié)截取的字符串。 但是要保證漢字不被截半個(gè),如“我ABC”4,應(yīng)該截為“我AB”,輸入“我ABC漢DEF”,6,應(yīng)該輸出為“我ABC”而不是“我ABC+漢的半個(gè)”。

          答:代碼如下:

          package test;



          class SplitString

          {

          String SplitStr;

          int SplitByte;

          public SplitString(String str,int bytes)

          {

          SplitStr=str;

          SplitByte=bytes;

          System.out.println("The String is:′"+SplitStr+"′;SplitBytes="+SplitByte);

          }

          public void SplitIt()

          {

          int loopCount;

          loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/Split

          Byte+1);

          System.out.println("Will Split into "+loopCount);

          for (int i=1;i<=loopCount ;i++ )

          {

          if (i==loopCount){

          System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));

          } else {

          System.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多線程編程。 用JAVA寫一個(gè)多線程程序,如寫四個(gè)線程,二個(gè)加1,二個(gè)對(duì)一個(gè)變量減一,輸出。

          希望大家補(bǔ)上,謝謝

          9、STRING與STRINGBUFFER的區(qū)別。

          答:STRING的長度是不可變的,STRINGBUFFER的長度是可變的。如果你對(duì)字符串中的內(nèi)容經(jīng)常進(jìn)行操作,特別是內(nèi)容要修改時(shí),那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法

          Jsp方面

          1、jsp有哪些內(nèi)置對(duì)象?作用分別是什么?

          答:JSP共有以下9種基本內(nèi)置組件(可與ASP的6種內(nèi)部組件相對(duì)應(yīng)):

           request 用戶端請(qǐng)求,此請(qǐng)求會(huì)包含來自GET/POST請(qǐng)求的參數(shù)

          response 網(wǎng)頁傳回用戶端的回應(yīng)

          pageContext 網(wǎng)頁的屬性是在這里管理

          session 與請(qǐng)求有關(guān)的會(huì)話期

          application servlet 正在執(zhí)行的內(nèi)容

          out 用來傳送回應(yīng)的輸出

          config servlet的構(gòu)架部件

          page JSP網(wǎng)頁本身

          exception 針對(duì)錯(cuò)誤網(wǎng)頁,未捕捉的例外

          2、jsp有哪些動(dòng)作?作用分別是什么?

          答:JSP共有以下6種基本動(dòng)作

          jsp:include:在頁面被請(qǐng)求的時(shí)候引入一個(gè)文件。

          jsp:useBean:尋找或者實(shí)例化一個(gè)JavaBean。

          jsp:setProperty:設(shè)置JavaBean的屬性。

          jsp:getProperty:輸出某個(gè)JavaBean的屬性。

          jsp:forward:把請(qǐng)求轉(zhuǎn)到一個(gè)新的頁面。

          jsp:plugin:根據(jù)瀏覽器類型為Java插件生成OBJECT或EMBED標(biāo)記

          3、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)頁面,并且可以帶參數(shù)

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

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

          4、兩種跳轉(zhuǎn)方式分別是什么?有什么區(qū)別?

          答:有兩種,分別為:

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

          <jsp:forward page= "nextpage.jsp"/>

          前者頁面不會(huì)轉(zhuǎn)向include所指的頁面,只是顯示該頁的結(jié)果,主頁面還是原來的頁面。執(zhí)行完后還會(huì)回來,相當(dāng)于函數(shù)調(diào)用。并且可以帶參數(shù).后者完全轉(zhuǎn)向新頁面,不會(huì)再回來。相當(dāng)于go to 語句。

          Servlet方面

          1、說一說Servlet的生命周期?

          答:servlet有良好的生存期的定義,包括加載和實(shí)例化、初始化、處理請(qǐng)求以及服務(wù)結(jié)束。這個(gè)生存期由javax.servlet.Servlet接口的init,service和destroy方法表達(dá)。

          2、Servlet版本間(忘了問的是哪兩個(gè)版本了)的不同?

          希望大家補(bǔ)上,謝謝

          3、JAVA SERVLET API中forward() 與redirect()的區(qū)別?

          答:前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址;后者則是完全的跳轉(zhuǎn),瀏覽器將會(huì)得到跳轉(zhuǎn)的地址,并重新發(fā)送請(qǐng)求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時(shí),盡量使用forward()方法,并且,這樣也有助于隱藏實(shí)際的鏈接。在有些情況下,比如,需要跳轉(zhuǎn)到一個(gè)其它服務(wù)器上的資源,則必須使用sendRedirect()方法。

          4、Servlet的基本架構(gòu)

          public class ServletName extends HttpServlet {

          public void doPost(HttpServletRequest request, HttpServletResponse response) throws

          ServletException, IOException {

          }

          public void doGet(HttpServletRequest request, HttpServletResponse response) throws

          ServletException, IOException {

          }

          }

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 岱山县| 辽宁省| 台北市| 吐鲁番市| 桐柏县| 镶黄旗| 扬州市| 江源县| 寿光市| 白山市| 石家庄市| 新源县| 夹江县| 乌拉特后旗| 玉环县| 玉门市| 蛟河市| 略阳县| 松潘县| 太保市| 西平县| 汶川县| 大同市| 六安市| 永福县| 金川县| 宜兰市| 东港市| 大庆市| 东源县| 扎囊县| 蒲城县| 察哈| 湾仔区| 铜梁县| 焦作市| 包头市| 兴海县| 夏邑县| 丰镇市| 茂名市|