![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)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、1、作用域public,private,protected,以及不寫時的區(qū)別 答:區(qū)別如下: 作用域 當前類 同一package 子孫類 其他package public protected friendly private 不寫時默認為friendly 2、arraylist和vector的區(qū)別,hashmap和hashtable的區(qū)別 答:就arraylist與vector主要從二方面來說. 一.同步性:vector是線程安全的,也就是說是同步的,而arraylist是線程序不安全的,不是同步的 二.數(shù)據(jù)增長:當需要增長時,vector默認增長為原來一培,而arraylist卻是原來的一半
2、 就hashmap與hashtable主要從三方面來說。 一.歷史原因:hashtable是基于陳舊的dictionary類的,hashmap是java 1.2引進的map接口的一個實現(xiàn) 二.同步性:hashtable是線程安全的,也就是說是同步的,而hashmap是線程序不安全的,不是同步的 三.值:只有hashmap可以讓你將空值作為一個表的條目的key或value 3、char型變量中能不能存貯一個中文漢字?為什么? 答:是能夠定義成為一個中文的,因為java中以unicode編碼,一個char占16個字節(jié),所以放一個中文是沒問題的 4、多線程有幾種實現(xiàn)方法,都是什么?同步有幾種實現(xiàn)方法
3、,都是什么? 答:多線程有兩種實現(xiàn)方法,分別是繼承thread類與實現(xiàn)runnable接口 同步的實現(xiàn)方面有兩種,分別是synchronized,wait與notify 5、繼承時候類的執(zhí)行順序問題,一般都是選擇題,問你將會打印出什么? 答:父類: 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(); 輸出結果: c:java test.childclass fatherclass create fatherclass create childclass create 6、內(nèi)部類的實現(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(); 輸出結果: c:java test/outerclass
6、interclass create outerclass create 再一個例題: 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 錯 二.靜態(tài)內(nèi)部類的非靜態(tài)成員可以訪問外部類的靜態(tài)變量,而不可訪
8、問外部類的非靜態(tài)變量;return d1 出錯。 故 d 錯 三.非靜態(tài)內(nèi)部類的非靜態(tài)成員可以訪問外部類的非靜態(tài)變量。 故 c 正確 四.答案為c、e 7、垃圾回收機制,如何優(yōu)化程序? 對于gc來說,當程序員創(chuàng)建對象時,gc就開始監(jiān)控這個對象的地址、大小以及使用情況。通常,gc采用有向圖的方式記錄和管理堆(heap)中的所有對象。通過這種方式確定哪些對象是可達的,哪些對象是不可達的。當gc確定一些對象為不可達時,gc就有責任回收這些內(nèi)存空間。所以。程序員可以手動執(zhí)行system.gc(),通知gc運行,但是java語言規(guī)范并不保證gc一定會執(zhí)行。8、float型float f=3.4是否正確?
9、 答:不正確。精度不準確,應該用強制類型轉換,如下所示:float f=(float)3.4 9、介紹java中的collection framework(包括如何寫自己的數(shù)據(jù)結構)? 答:collection framework如下: collection list linkedlist arraylist vector stack set map hashtable hashmap weakhashmap collection是最基本的集合接口,一個collection代表一組object,即collection的元素(elements) map提供key到value的映射 10、java
10、中異常處理機制,事件機制? 參考11、java中的多形與繼承? 希望大家補上,謝謝 12、抽象類與接口? 答:抽象類與接口都用于抽象,但是抽象類(java中)可以有自己的部分實現(xiàn),而接口則完全是一個標識(同時有多重繼承的功能)。 13、java 的通信編程,編程題(或問答),用java socket編程,讀服務器幾個字符,再寫入本地顯示? 答: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實現(xiàn)一種排序,java類實現(xiàn)序列化的方法(二種)? 如在collection框架中,實現(xiàn)比較要實現(xià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類實現(xiàn)序例化的方法是實現(xiàn)java.io.serializable接口 collection框架中實現(xiàn)比較要實現(xiàn)comparable 接口和 comparator 接口 15、編程:編寫一個截取字符串的函數(shù),輸入為一個字符串和字節(jié)數(shù),輸出為按字節(jié)
19、截取的字符串。 但是要保證漢字不被截半個,如“我abc”4,應該截為“我ab”,輸入“我abc漢def”,6,應該輸出為“我abc”而不是“我abc+漢的半個”。 答:代碼如下: 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寫一個多線程程序,如寫四個線程,二個加1,二個對一個變量減一,輸出。 17、string與stringbuffer的區(qū)別。 答:string的長度是不
22、可變的,stringbuffer的長度是可變的。如果你對字符串中的內(nèi)容經(jīng)常進行操作,特別是內(nèi)容要修改時,那么使用stringbuffer,如果最后需要string,那么使用stringbuffer的tostring()方法 jsp方面 1、jsp有哪些內(nèi)置對象?作用分別是什么? 答:jsp共有以下9種基本內(nèi)置組件(可與asp的6種內(nèi)部組件相對應): request 用戶端請求,此請求會包含來自get/post請求的參數(shù) response 網(wǎng)頁傳回用戶端的回應 pagecontext 網(wǎng)頁的屬性是在這里管理 session 與請求有關的會話期 application servlet 正在執(zhí)行的內(nèi)
23、容 out 用來傳送回應的輸出 config servlet的構架部件 page jsp網(wǎng)頁本身 exception 針對錯誤網(wǎng)頁,未捕捉的例外 2、jsp有哪些動作?作用分別是什么? 答:jsp共有以下6種基本動作 jsp:include:在頁面被請求的時候引入一個文件。 jsp:usebean:尋找或者實例化一個javabean。 jsp:setproperty:設置javabean的屬性。 jsp:getproperty:輸出某個javabean的屬性。 jsp:forward:把請求轉到一個新的頁面。 jsp:plugin:根據(jù)瀏覽器類型為java插件生成object或embed標記
24、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、兩種跳轉方式分別是什么?有什么區(qū)別? 答:有兩種,分別為: 前者頁面不會轉向include所指的頁面,只是顯示該頁的結果,主頁面還是原來的頁面。執(zhí)行完后還會回來,相當于函數(shù)調(diào)用。并且可以帶參數(shù).后者完全轉向新頁面,不會再回來。相當于go to 語句。 servlet方面 1、說一說servlet的生命周期? 答:serv
25、let有良好的生存期的定義,包括加載和實例化、初始化、處理請求以及服務結束。這個生存期由javax.servlet.servlet接口的init,service和destroy方法表達。 2、servlet版本間(忘了問的是哪兩個版本了)的不同? 3、java servlet api中forward() 與redirect()的區(qū)別? 答:前者僅是容器中控制權的轉向,在客戶端瀏覽器地址欄中不會顯示出轉向后的地址;后者則是完全的跳轉,瀏覽器將會得到跳轉的地址,并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時,盡量使用forward()
26、方法,并且,這樣也有助于隱藏實際的鏈接。在有些情況下,比如,需要跳轉到一個其它服務器上的資源,則必須使用sendredirect()方法。 4、servlet的基本架構 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、可能會讓你寫一段jdbc連oracle的程序,并實現(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)用該訪問返回一個以字符串指定類名的類的對象。 3、jdo是什么? 答
31、:jdo是java對象持久化的新的規(guī)范,為java data object的簡稱,也是一個用于存取某種數(shù)據(jù)倉庫中的對象的標準化api。jdo提供了透明的對象存儲,因此對開發(fā)人員來說,存儲數(shù)據(jù)對象完全不需要額外的代碼(如jdbc api的使用)。這些繁瑣的例行工作已經(jīng)轉移到jdo產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時間和精力在業(yè)務邏輯上。另外,jdo很靈活,因為它可以在任何數(shù)據(jù)底層上運行。jdbc只是面向關系數(shù)據(jù)庫(rdbms)jdo更通用,提供到任何數(shù)據(jù)底層的存儲功能,比如關系數(shù)據(jù)庫、文件、xml以及對象數(shù)據(jù)庫(odbms)等等,使得應用可移植性更強。 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)容 /輸出翻頁連接 合計:/第一頁 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有哪些解析技術?區(qū)別是什么? 答:有dom,sax,stax等 dom:處理大型文件時其性能下降的非常厲害。這個問題是由dom的樹結構所造成的,這種結構占用的內(nèi)存較多,而且dom必須在解析文件之前把整個文檔裝入內(nèi)存,適合對xml的隨機訪問sax:不現(xiàn)于dom,sax是事件驅動型的xml解析方式。它順序讀取xml文件,不需要一次全部裝載整個文件。當遇到像文件開頭,文檔結束,或者標簽開頭與標簽結束時,它會觸發(fā)一個事件,用戶通過在其回調(diào)事件中寫入處理代碼來處理xml文件,適合對xml的順序訪問 stax:s
34、treaming api for xml (stax) 2、你在項目中用到了xml技術的哪些方面?如何實現(xiàn)的? 答:用到了數(shù)據(jù)存貯,信息配置兩方面。在做數(shù)據(jù)交換平臺時,將不能數(shù)據(jù)源的數(shù)據(jù)組裝成xml文件,然后將xml文件壓縮打包加密后通過網(wǎng)絡傳送給接收者,接收解密與解壓縮后再同xml文件中還原相關信息進行處理。在做軟件配置時,利用xml可以很方便的進行,軟件的各種配置參數(shù)都存貯在xml文件中。 3、用jdom解析xml文件時如何解決中文問題?如何解析? 答:看如下代碼,用編碼方式加以解決 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文件如下: 王小明 信息學院 6258113 男,1955年生,博士,95年調(diào)入海南大學 事件回調(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 齊魯工業(yè)大學《工程計算》2023-2024學年第二學期期末試卷
- 電工材料在交通領域的運用與展望
- 知識產(chǎn)權管理在企業(yè)文化建設中的作用
- 電梯安全維護故障預測與保養(yǎng)策略
- 現(xiàn)代企業(yè)領導力培養(yǎng)與發(fā)展策略
- 電梯技術教育的未來方向與挑戰(zhàn)
- 現(xiàn)代教育資源供應鏈的信息化升級
- 現(xiàn)代教育技術下學生自主學習能力培養(yǎng)
- 福利彩票申請書
- 電子設備中的人性化交互設計策略
- 2024-2025學年第二學期開學典禮-開學典禮校長致辭
- 生物(A版)-安徽省合肥一中(省十聯(lián)考)2024-2025學年度高二年級上學期期末測試試題和答案
- 蘇教版四年級數(shù)學下冊第三單元第二課時《常見的數(shù)量關系》課件
- 2025年中考物理總復習《壓強》專項測試卷含答案
- 《智能傳感器技術》課件
- SaaS服務具體應用合同范本2024版版
- 2024年資助政策主題班會課件
- 中國慢性阻塞性肺疾病基層診療與管理指南(2024年)
- 部編四年級道德與法治下冊全冊教案(含反思)
- 關于汽車行業(yè)必須了解的縮寫含義
- 天津濱海新區(qū)發(fā)展情況匯報
評論
0/150
提交評論