![java筆試經(jīng)典題匯總_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/290f2b7f-efc0-47ba-ab46-477ae48c0829/290f2b7f-efc0-47ba-ab46-477ae48c08291.gif)
![java筆試經(jīng)典題匯總_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/290f2b7f-efc0-47ba-ab46-477ae48c0829/290f2b7f-efc0-47ba-ab46-477ae48c08292.gif)
![java筆試經(jīng)典題匯總_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/290f2b7f-efc0-47ba-ab46-477ae48c0829/290f2b7f-efc0-47ba-ab46-477ae48c08293.gif)
![java筆試經(jīng)典題匯總_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/290f2b7f-efc0-47ba-ab46-477ae48c0829/290f2b7f-efc0-47ba-ab46-477ae48c08294.gif)
![java筆試經(jīng)典題匯總_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/5/290f2b7f-efc0-47ba-ab46-477ae48c0829/290f2b7f-efc0-47ba-ab46-477ae48c08295.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1、作用域public,private,protected,以及不寫時(shí)的區(qū)別 答:區(qū)別如下: 作用域 當(dāng)前類 同一package 子孫類 其他package public protected friendly private 不寫時(shí)默認(rèn)為friendly 2、arraylist和vector的區(qū)別,hashmap和hashtable的區(qū)別 答:就arraylist與vector主要從二方面來說. 一.同步性:vector是線程安全的,也就是說是同步的,而arraylist是線程序不安全的,不是同步的 二.數(shù)據(jù)增長:當(dāng)需要增長時(shí),vector默認(rèn)增長為原來一培,而arraylist卻是原來的一半
2、 就hashmap與hashtable主要從三方面來說。 一.歷史原因:hashtable是基于陳舊的dictionary類的,hashmap是java 1.2引進(jìn)的map接口的一個(gè)實(shí)現(xiàn) 二.同步性:hashtable是線程安全的,也就是說是同步的,而hashmap是線程序不安全的,不是同步的 三.值:只有hashmap可以讓你將空值作為一個(gè)表的條目的key或value 3、char型變量中能不能存貯一個(gè)中文漢字?為什么? 答:是能夠定義成為一個(gè)中文的,因?yàn)閖ava中以unicode編碼,一個(gè)char占16個(gè)字節(jié),所以放一個(gè)中文是沒問題的 4、多線程有幾種實(shí)現(xiàn)方法,都是什么?同步有幾種實(shí)現(xiàn)方法
3、,都是什么? 答:多線程有兩種實(shí)現(xiàn)方法,分別是繼承thread類與實(shí)現(xiàn)runnable接口 同步的實(shí)現(xiàn)方面有兩種,分別是synchronized,wait與notify 5、繼承時(shí)候類的執(zhí)行順序問題,一般都是選擇題,問你將會(huì)打印出什么? 答:父類: package test; public class fatherclass public fatherclass() system.out.println(fatherclass create); 子類: package test; import test.fatherclass; public class childclass extends
4、fatherclass public childclass() system.out.println(childclass create); public static void main(string args) fatherclass fc = new fatherclass(); childclass cc = new childclass(); 輸出結(jié)果: c:java test.childclass fatherclass create fatherclass create childclass create 6、內(nèi)部類的實(shí)現(xiàn)方式? 答:示例代碼如下: package test; p
5、ublic class outerclass private class interclass public interclass() system.out.println(interclass create); public outerclass() interclass ic = new interclass(); system.out.println(outerclass create); public static void main(string args) outerclass oc = new outerclass(); 輸出結(jié)果: c:java test/outerclass
6、interclass create outerclass create 再一個(gè)例題: public class outerclass private double d1 = 1.0; /insert code here you need to insert an inner class declaration at line 3. which two inner class declarations are valid?(choose two.) a. class innerone public static double methoda() return d1; b. public clas
7、s innerone static double methoda() return d1; c. private class innerone double methoda() return d1; d. static class innerone protected double methoda() return d1; e. abstract class innerone public abstract double methoda(); 說明如下: 一.靜態(tài)內(nèi)部類可以有靜態(tài)成員,而非靜態(tài)內(nèi)部類則不能有靜態(tài)成員。 故 a、b 錯(cuò) 二.靜態(tài)內(nèi)部類的非靜態(tài)成員可以訪問外部類的靜態(tài)變量,而不可訪
8、問外部類的非靜態(tài)變量;return d1 出錯(cuò)。 故 d 錯(cuò) 三.非靜態(tài)內(nèi)部類的非靜態(tài)成員可以訪問外部類的非靜態(tài)變量。 故 c 正確 四.答案為c、e 7、垃圾回收機(jī)制,如何優(yōu)化程序? 對于gc來說,當(dāng)程序員創(chuàng)建對象時(shí),gc就開始監(jiān)控這個(gè)對象的地址、大小以及使用情況。通常,gc采用有向圖的方式記錄和管理堆(heap)中的所有對象。通過這種方式確定哪些對象是可達(dá)的,哪些對象是不可達(dá)的。當(dāng)gc確定一些對象為不可達(dá)時(shí),gc就有責(zé)任回收這些內(nèi)存空間。所以。程序員可以手動(dòng)執(zhí)行system.gc(),通知gc運(yùn)行,但是java語言規(guī)范并不保證gc一定會(huì)執(zhí)行。8、float型float f=3.4是否正確?
9、 答:不正確。精度不準(zhǔn)確,應(yīng)該用強(qiáng)制類型轉(zhuǎn)換,如下所示:float f=(float)3.4 9、介紹java中的collection framework(包括如何寫自己的數(shù)據(jù)結(jié)構(gòu))? 答:collection framework如下: collection list linkedlist arraylist vector stack set map hashtable hashmap weakhashmap collection是最基本的集合接口,一個(gè)collection代表一組object,即collection的元素(elements) map提供key到value的映射 10、java
10、中異常處理機(jī)制,事件機(jī)制? 參考11、java中的多形與繼承? 希望大家補(bǔ)上,謝謝 12、抽象類與接口? 答:抽象類與接口都用于抽象,但是抽象類(java中)可以有自己的部分實(shí)現(xiàn),而接口則完全是一個(gè)標(biāo)識(shí)(同時(shí)有多重繼承的功能)。 13、java 的通信編程,編程題(或問答),用java socket編程,讀服務(wù)器幾個(gè)字符,再寫入本地顯示? 答:server端程序: package test; import .*; import java.io.*; public class server private serversocket ss; private socket socket; priva
11、te bufferedreader in; private printwriter out; public server() try ss=new serversocket(10000); while(true) socket = ss.accept(); string remoteip = socket.getinetaddress().gethostaddress(); string remoteport = :+socket.getlocalport(); system.out.println(a client come in!ip:+remoteip+remoteport); in =
12、 new bufferedreader(new inputstreamreader(socket.getinputstream(); string line = in.readline(); system.out.println(cleint send is : + line); out = new printwriter(socket.getoutputstream(),true); out.println(your message received!); out.close(); in.close(); socket.close(); catch (ioexception e) out.p
13、rintln(wrong); public static void main(string args) new server(); client端程序: package test; import java.io.*; import .*; public class client socket socket; bufferedreader in; printwriter out; public client() try system.out.println(try to connect to :10000); socket = new socket(,1000
14、0); 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.getoutputstream(),true); out.println(line.readline(); in = new bufferedreader(new inputstreamreader
15、(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(); 14、用java實(shí)現(xiàn)一種排序,java類實(shí)現(xiàn)序列化的方法(二種)? 如在collection框架中,實(shí)現(xiàn)比較要實(shí)現(xiàn)什么樣的接口? 答:用插入法進(jìn)行排序代碼如下 package test; import java.u
16、til.*; 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(new integer(math.abs(rand.nextint() % mod + 1); system.out.println(al+i+=+al.get(i); public voi
17、d 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,tempint); maxsize+; system.out.println(al.tostring(); break; system.out.println(the arra
18、ylist 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類實(shí)現(xiàn)序例化的方法是實(shí)現(xiàn)java.io.serializable接口 collection框架中實(shí)現(xiàn)比較要實(shí)現(xiàn)comparable 接口和 comparator 接口 15、編程:編寫一個(gè)截取字符串的函數(shù),輸入為一個(gè)字符串和字節(jié)數(shù),輸出為按字節(jié)
19、截取的字符串。 但是要保證漢字不被截半個(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
20、 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.lengt
21、h(); 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(); 16、java多線程編程。 用java寫一個(gè)多線程程序,如寫四個(gè)線程,二個(gè)加1,二個(gè)對一個(gè)變量減一,輸出。 17、string與stringbuffer的區(qū)別。 答:string的長度是不
22、可變的,stringbuffer的長度是可變的。如果你對字符串中的內(nèi)容經(jīng)常進(jìn)行操作,特別是內(nèi)容要修改時(shí),那么使用stringbuffer,如果最后需要string,那么使用stringbuffer的tostring()方法 jsp方面 1、jsp有哪些內(nèi)置對象?作用分別是什么? 答:jsp共有以下9種基本內(nèi)置組件(可與asp的6種內(nèi)部組件相對應(yīng)): request 用戶端請求,此請求會(huì)包含來自get/post請求的參數(shù) response 網(wǎng)頁傳回用戶端的回應(yīng) pagecontext 網(wǎng)頁的屬性是在這里管理 session 與請求有關(guān)的會(huì)話期 application servlet 正在執(zhí)行的內(nèi)
23、容 out 用來傳送回應(yīng)的輸出 config servlet的構(gòu)架部件 page jsp網(wǎng)頁本身 exception 針對錯(cuò)誤網(wǎng)頁,未捕捉的例外 2、jsp有哪些動(dòng)作?作用分別是什么? 答:jsp共有以下6種基本動(dòng)作 jsp:include:在頁面被請求的時(shí)候引入一個(gè)文件。 jsp:usebean:尋找或者實(shí)例化一個(gè)javabean。 jsp:setproperty:設(shè)置javabean的屬性。 jsp:getproperty:輸出某個(gè)javabean的屬性。 jsp:forward:把請求轉(zhuǎn)到一個(gè)新的頁面。 jsp:plugin:根據(jù)瀏覽器類型為java插件生成object或embed標(biāo)記
24、3、jsp中動(dòng)態(tài)include與靜態(tài)include的區(qū)別? 答:動(dòng)態(tài)include用jsp:include動(dòng)作實(shí)現(xiàn) 它總是會(huì)檢查所含文件中的變化,適合用于包含動(dòng)態(tài)頁面,并且可以帶參數(shù) 靜態(tài)include用include偽碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,適用于包含靜態(tài)頁面 4、兩種跳轉(zhuǎn)方式分別是什么?有什么區(qū)別? 答:有兩種,分別為: 前者頁面不會(huì)轉(zhuǎn)向include所指的頁面,只是顯示該頁的結(jié)果,主頁面還是原來的頁面。執(zhí)行完后還會(huì)回來,相當(dāng)于函數(shù)調(diào)用。并且可以帶參數(shù).后者完全轉(zhuǎn)向新頁面,不會(huì)再回來。相當(dāng)于go to 語句。 servlet方面 1、說一說servlet的生命周期? 答:serv
25、let有良好的生存期的定義,包括加載和實(shí)例化、初始化、處理請求以及服務(wù)結(jié)束。這個(gè)生存期由javax.servlet.servlet接口的init,service和destroy方法表達(dá)。 2、servlet版本間(忘了問的是哪兩個(gè)版本了)的不同? 3、java servlet api中forward() 與redirect()的區(qū)別? 答:前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址;后者則是完全的跳轉(zhuǎn),瀏覽器將會(huì)得到跳轉(zhuǎn)的地址,并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時(shí),盡量使用forward()
26、方法,并且,這樣也有助于隱藏實(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, httpservle
27、tresponse response) throws servletexception, ioexception jdbc、jdo方面 1、可能會(huì)讓你寫一段jdbc連oracle的程序,并實(shí)現(xiàn)數(shù)據(jù)查詢. 答:程序如下: package hello.ant; import java.sql.*; public class jdbc string dburl=jdbc:oracle:thin::1521:orcl; string theuser=admin; string thepw=manager; connection c=null; statement conn; resu
28、ltset rs=null; public jdbc() try class.forname(oracle.jdbc.driver.oracledriver).newinstance(); c = drivermanager.getconnection(dburl,theuser,thepw); conn=c.createstatement(); catch(exception e) e.printstacktrace(); public boolean executeupdate(string sql) try conn.executeupdate(sql); return true; ca
29、tch (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 conn.close(); c.close(); catch (exception e) e.printstacktrace(); public static voi
30、d main(string args) resultset rs; jdbc conn = new jdbc(); rs=conn.executequery(select * from test); try while (rs.next() system.out.println(rs.getstring(id); system.out.println(rs.getstring(name); catch(exception e) e.printstacktrace(); 2、class.forname的作用?為什么要用? 答:調(diào)用該訪問返回一個(gè)以字符串指定類名的類的對象。 3、jdo是什么? 答
31、:jdo是java對象持久化的新的規(guī)范,為java data object的簡稱,也是一個(gè)用于存取某種數(shù)據(jù)倉庫中的對象的標(biāo)準(zhǔn)化api。jdo提供了透明的對象存儲(chǔ),因此對開發(fā)人員來說,存儲(chǔ)數(shù)據(jù)對象完全不需要額外的代碼(如jdbc api的使用)。這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移到j(luò)do產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時(shí)間和精力在業(yè)務(wù)邏輯上。另外,jdo很靈活,因?yàn)樗梢栽谌魏螖?shù)據(jù)底層上運(yùn)行。jdbc只是面向關(guān)系數(shù)據(jù)庫(rdbms)jdo更通用,提供到任何數(shù)據(jù)底層的存儲(chǔ)功能,比如關(guān)系數(shù)據(jù)庫、文件、xml以及對象數(shù)據(jù)庫(odbms)等等,使得應(yīng)用可移植性更強(qiáng)。 4、在oracle大數(shù)據(jù)量下的分
32、頁解決方法。一般用截取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)容 /輸出翻頁連接 合計(jì):/第一頁 a href=list.jsp?page=上一頁 % for(int j=1;j a href=list.jsp?page= a href=list.j
33、sp?page=下一頁a href=list.jsp?page=最后頁 xml方面 1、xml有哪些解析技術(shù)?區(qū)別是什么? 答:有dom,sax,stax等 dom:處理大型文件時(shí)其性能下降的非常厲害。這個(gè)問題是由dom的樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較多,而且dom必須在解析文件之前把整個(gè)文檔裝入內(nèi)存,適合對xml的隨機(jī)訪問sax:不現(xiàn)于dom,sax是事件驅(qū)動(dòng)型的xml解析方式。它順序讀取xml文件,不需要一次全部裝載整個(gè)文件。當(dāng)遇到像文件開頭,文檔結(jié)束,或者標(biāo)簽開頭與標(biāo)簽結(jié)束時(shí),它會(huì)觸發(fā)一個(gè)事件,用戶通過在其回調(diào)事件中寫入處理代碼來處理xml文件,適合對xml的順序訪問 stax:s
34、treaming api for xml (stax) 2、你在項(xiàng)目中用到了xml技術(shù)的哪些方面?如何實(shí)現(xiàn)的? 答:用到了數(shù)據(jù)存貯,信息配置兩方面。在做數(shù)據(jù)交換平臺(tái)時(shí),將不能數(shù)據(jù)源的數(shù)據(jù)組裝成xml文件,然后將xml文件壓縮打包加密后通過網(wǎng)絡(luò)傳送給接收者,接收解密與解壓縮后再同xml文件中還原相關(guān)信息進(jìn)行處理。在做軟件配置時(shí),利用xml可以很方便的進(jìn)行,軟件的各種配置參數(shù)都存貯在xml文件中。 3、用jdom解析xml文件時(shí)如何解決中文問題?如何解析? 答:看如下代碼,用編碼方式加以解決 package test; import java.io.*; public class domtest
35、private string infile = c:people.xml; private string outfile = c:people.xml; public static void main(string args) new domtest(); public domtest() try javax.xml.parsers.documentbuilder builder = javax.xml.parsers. documentbuilderfactory.newinstance().newdocumentbuilder(); org.w3c.dom.document doc = b
36、uilder.newdocument(); org.w3c.dom.element root = doc.createelement(老師); org.w3c.dom.element wang = doc.createelement(王); org.w3c.dom.element liu = doc.createelement(劉); wang.appendchild(doc.createtextnode(我是王老師); root.appendchild(wang); doc.appendchild(root); javax.xml.transform.transformer transfor
37、mer = javax.xml.transform.transformerfactory.newinstance().newtransformer(); transformer.setoutputproperty(javax.xml.transform.outputkeys.encoding, gb2312); transformer.setoutputproperty(javax.xml.transform.outputkeys.indent, yes); transformer.transform(new javax.xml.transform.dom.domsource(doc), ne
38、w javax.xml.transform.stream.streamresult(outfile); catch (exception e) system.out.println (e.getmessage(); 4、編程用java解析xml的方式. 答:用sax方式解析xml,xml文件如下: 王小明 信息學(xué)院 6258113 男,1955年生,博士,95年調(diào)入海南大學(xué) 事件回調(diào)類saxhandler.java import java.io.*; import java.util.hashtable; import org.xml.sax.*; public class saxhandler extends handlerbase private hashtable table = new hashtable(); priva
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年園林苗木電商平臺(tái)合作合同
- 2025年度人力資源招聘與人才儲(chǔ)備專項(xiàng)服務(wù)合同
- 2025年度建筑項(xiàng)目安全文明施工承包合同
- 2025年度家居個(gè)性化定制裝修服務(wù)合同模板
- 2025年度熟食企業(yè)員工激勵(lì)與福利合同
- 2025年度土石方運(yùn)輸與節(jié)能減排技術(shù)合同樣本
- 大學(xué)困難補(bǔ)助申請書
- 2025年度多功能演播室租賃與品牌合作推廣合同
- 2025年度萬科數(shù)據(jù)中心基礎(chǔ)設(shè)施建設(shè)施工合同
- 2025年度消防系統(tǒng)節(jié)能改造分包合同
- 2024年資助政策主題班會(huì)課件
- 中國慢性阻塞性肺疾病基層診療與管理指南(2024年)
- 部編四年級(jí)道德與法治下冊全冊教案(含反思)
- 高中英語選擇性必修三 Unit 2 Healthy Lifestyle Section B Learning about Language(教案)
- 綠色卡通風(fēng)食堂食品安全培訓(xùn)PPT
- 人教版小學(xué)數(shù)學(xué)二年級(jí)上冊口算天天練
- 建筑施工安全檢查標(biāo)準(zhǔn)-JGJ59-2011完整版
- 黃恕伯:必修教材教學(xué)建議
- 排球比賽記錄表
- ASM鑄造缺陷的國際分類7大類(學(xué)習(xí)版0228)
- 關(guān)于汽車行業(yè)必須了解的縮寫含義
評論
0/150
提交評論