Java軟件開(kāi)發(fā)工程師筆試題(答案)_第1頁(yè)
Java軟件開(kāi)發(fā)工程師筆試題(答案)_第2頁(yè)
Java軟件開(kāi)發(fā)工程師筆試題(答案)_第3頁(yè)
Java軟件開(kāi)發(fā)工程師筆試題(答案)_第4頁(yè)
Java軟件開(kāi)發(fā)工程師筆試題(答案)_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

word格式-可編輯-感謝下載支持Java工程師筆試題一、填空題(本大題10小題,每空1分,共20分)。1.Java語(yǔ)言的三大特性即是:繼承、封裝、多態(tài)。2.在Java中,char型采用____unicode_______編碼方案,這樣,無(wú)論是中文字符還是英文字符,都是占用__2___個(gè)字節(jié)的內(nèi)存空間。3.形式參數(shù)指的是方法被__定義____時(shí)的參數(shù)行,實(shí)際參數(shù)是方法被__調(diào)用___時(shí)所傳遞進(jìn)去的變量或值。4.JSP內(nèi)置對(duì)象中,application對(duì)象是代表應(yīng)用程序上下文,它允許JSP頁(yè)面與包括在同一應(yīng)用程序中的任何Web組件共享信息,而session對(duì)象則是每個(gè)客戶(hù)專(zhuān)用的。5.如果想把一個(gè)對(duì)象寫(xiě)入一個(gè)流,那么這個(gè)類(lèi)就必須實(shí)現(xiàn)Seralizable接口

。6.程序中實(shí)現(xiàn)多線程的方法有兩種:繼承Thread類(lèi)和實(shí)現(xiàn)___Runable_接口。7.多線程中,可以通過(guò)調(diào)用相應(yīng)的setPriority()方法來(lái)修改一個(gè)線程的相對(duì)優(yōu)先級(jí)。

8.面向?qū)ο缶幊痰奈宕笤O(shè)計(jì)原則,分別是單一職責(zé)、開(kāi)放封閉、里氏替換、依賴(lài)倒置、接口分離9.通過(guò)Ajax,客戶(hù)端獲取的數(shù)據(jù)主要有兩種類(lèi)型:文本型和xml10.Socket通常也稱(chēng)為套接字,用于描述__ip 和__接口二、選擇題(本大題20小題,每小題2分.共40分)。1.在JAVA中,如果父類(lèi)中某些方法不包含任何邏輯,并且需要由子類(lèi)重寫(xiě).應(yīng)該使用()關(guān)鍵字來(lái)聲明父類(lèi)的這些方法:A)finalB)staticC)abstractD)void2.在JAVA中,已定義兩個(gè)接口B和C,要定義一個(gè)實(shí)現(xiàn)這兩個(gè)接口的類(lèi),以下語(yǔ)句正確的是()。A)interfaceAextendB,CB)interfaceAimplementsB,CC)classAimplementsB,CD)classAimplementsB,implementsC3.在JAVA接口中可以定義()。A)靜態(tài)方法B)常量C)構(gòu)造方法D)抽象方法4.假設(shè)A有構(gòu)造方法A(inta),則在類(lèi)A的其他構(gòu)造方法中調(diào)用該構(gòu)造方法和語(yǔ)句格式應(yīng)為()。A)A(X)B)this.A(x)C)this(x)D)super(x)5.設(shè)x=1,y=2,z=3,則表達(dá)式y(tǒng)+=z--/++x的值是()。A)3B)3.5C)4D)56.下列關(guān)于繼承的說(shuō)法哪個(gè)正確?()。A)子類(lèi)只繼承父類(lèi)public方法和屬性:B)子類(lèi)繼承父類(lèi)的非私有屬性和方法:C)子類(lèi)繼承父類(lèi)的方法,而不繼承父類(lèi)的屬性:D)子類(lèi)將繼承的所有的屬性和方法.7.在java中.在使用JDBC時(shí)。對(duì)于多次調(diào)用同一條SQL語(yǔ)句的情況,使用()通常會(huì)提高效。A)StatementB)CallableStatementC)PreparedStatementD)PrarmeterStatement8.下列不能控制一個(gè)Servlet的生命周期方的法是:A)serviceB)destroyC)doPostD)init9.能夠給一個(gè)byte型變量賦值的范圍是()。A)0~65535B)(-128)~127C)(-32,768)~32,767D)(-256)~25510.java語(yǔ)言中int類(lèi)型數(shù)據(jù)占用多少位?()。A)32B)64C)16D)2011.ServletContext對(duì)象是如何創(chuàng)建的?()。A)由Servlet容器創(chuàng)建,對(duì)于每個(gè)HTTP請(qǐng)求.Servlet容器都會(huì)創(chuàng)建一個(gè)ServletContext對(duì)象B)由JavaWeb應(yīng)用本身為自己創(chuàng)建一個(gè)ServletContext對(duì)象C)由Servlet容器創(chuàng)建,對(duì)于每個(gè)JaveWeb應(yīng)用,在啟動(dòng)時(shí),Servlet容器都會(huì)創(chuàng)建一個(gè)ServletContext對(duì)象12.在JSP中不能在不同用戶(hù)之間共享數(shù)據(jù)的方法是()。A)通過(guò)cookieB)利用文件系統(tǒng)C)利用數(shù)據(jù)庫(kù)D)通過(guò)ServletContext對(duì)象13.以下哪個(gè)不是Collection的子接口?()。A)ListB)SetC)MapD)SortedSet14.下面正確的創(chuàng)建Socket的語(yǔ)句是()。A)Socketa=newSoeket(80): B)Socketb=newSocket("130.3.4.5",80):C)ServerSocketc=newSocket(80)D)ServerSocketd=newSocket("130.3.4,5",80)15.下面的說(shuō)法正確的是()。A)帶有頁(yè)作用域的對(duì)象在一個(gè)web應(yīng)用程序的每個(gè)JSP中都存在.B)指令指定與一個(gè)特定的JSP請(qǐng)求不相關(guān)的全局信息。C)當(dāng)JSP容器遇到開(kāi)始定制標(biāo)簽和結(jié)束定制標(biāo)簽時(shí),分別調(diào)用doInitBody方法和doAfterBody方法。D)<jsp:inclnde>動(dòng)作只在翻譯時(shí)處理一次。16.為了區(qū)分重載多態(tài)中同名的不同方法,要求:()。A)參數(shù)名不同B)采用不同的形式參數(shù)列表C)返回值類(lèi)型不同D)選項(xiàng)A,B,C都對(duì)17.下面是有關(guān)子類(lèi)調(diào)用父類(lèi)構(gòu)造函數(shù)的描述正確的是:()。A)子類(lèi)定義了自己的構(gòu)造函數(shù).就不會(huì)調(diào)用父類(lèi)的構(gòu)造函數(shù)B)子類(lèi)必須通過(guò)Super關(guān)鍵字調(diào)用父類(lèi)有參數(shù)的構(gòu)造函數(shù)C)如果子類(lèi)的構(gòu)造沒(méi)有通過(guò)super調(diào)用父類(lèi)構(gòu)造函數(shù),那么子類(lèi)會(huì)先調(diào)用子類(lèi)自己的構(gòu)造函數(shù),再調(diào)用父類(lèi)不含參數(shù)的構(gòu)造函數(shù)。D)創(chuàng)建子類(lèi)的對(duì)象時(shí),先調(diào)用子類(lèi)自己的構(gòu)造函數(shù),然后調(diào)用父類(lèi)的構(gòu)造函數(shù)18.在Java中,負(fù)責(zé)對(duì)字節(jié)代碼解釋執(zhí)行的是()。A)垃圾回收器B)虛擬機(jī)C)編譯器D)多線程機(jī)制19.一個(gè)java程序運(yùn)行從上到下的環(huán)境次序是()。A)操作系統(tǒng)、Java程序、jre/jvm、硬件B)jre/jvm、Java程序、硬件、操作系統(tǒng)C)java程序、jre/jvm、操作系統(tǒng)、硬件D)java程序、操作系統(tǒng)、jre/jvm、硬件20.對(duì)于從Employee表中選擇記錄的以下代碼片段,識(shí)別其遺漏的代碼行。()Connectioncon=null:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"):con=DriverManager.getConnection("jdbc:odbc:ss","sa","");ResultSetrs=stat.executeQuery("select*fromEmployee");A)Statementstat=createStatement();B)Statementstat=con.createStatement();C)PreparedStatementstat=con.createStatement():D)PreparedStatementstat=createPreparedStatement();三、問(wèn)答題(本大題6小題,共40分)。1.請(qǐng)說(shuō)出ArrayList,Vector,LinkedList的存儲(chǔ)性能和特性。(6分)2.什么是單例模式(Singleton)?請(qǐng)?jiān)谙旅鎸?xiě)出一個(gè)單例模式類(lèi),并支持多線程調(diào)用。(6分)3.請(qǐng)描述一下JVM加載class文件的原理機(jī)制?(6分)4.請(qǐng)談?wù)剬?duì)SQL注入的理解,請(qǐng)給出你知道的防止SQL注入的方法。(6分)5.請(qǐng)談?wù)剬?duì)Hibernate的理解,并簡(jiǎn)要敘述Hibernate的一級(jí)緩存和二級(jí)緩存(8分)。6.請(qǐng)寫(xiě)出你知道的排序方法,并使用Java語(yǔ)言寫(xiě)出其中一種。(8分)三、簡(jiǎn)答題(參考答案)1.ArrayList和Vector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號(hào)索引元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,但是插入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。2.創(chuàng)建某類(lèi)對(duì)象時(shí),無(wú)論創(chuàng)建多少次該類(lèi)對(duì)象只有一份在內(nèi)存中,這就是單例模式。支持多線程調(diào)用,考慮線程安全,只需要加鎖即可。public

class

Singleton{private

static

Singletoninstance=

null;private

Singleton(){}private

static

synchronized

void

syncInit(){if(instance==

null){instance=

new

Singleton();}}public

static

SingletongetInstance(){if(instance==

null){syncInit();}return

instance;}}3.JVM中類(lèi)的裝載是由ClassLoader和它的子類(lèi)來(lái)實(shí)現(xiàn)的,JavaClassLoader是一個(gè)重要的Java運(yùn)行時(shí)系統(tǒng)組件。它負(fù)責(zé)在運(yùn)行時(shí)查找和裝入類(lèi)文件的類(lèi)。4.解決辦法:a.利用Javascript,在客戶(hù)端進(jìn)行校驗(yàn)。 b.程序判斷

c.使用PreparedStatement連接數(shù)據(jù)庫(kù)。(參數(shù)化) d.利用框架技術(shù)5.Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶(hù)端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用。一級(jí)緩存就是Session級(jí)別的緩存,一個(gè)Session做了一個(gè)查詢(xún)操作,它會(huì)把這個(gè)操作的結(jié)果放在一級(jí)緩存中,如果短時(shí)間內(nèi)這個(gè)session(一定要同一個(gè)session)又做了同一個(gè)操作,那么hibernate直接從一級(jí)緩存中拿,而不會(huì)再去連數(shù)據(jù)庫(kù),取數(shù)據(jù);二級(jí)緩存就是SessionFactory級(jí)別的緩存,顧名思義,就是查詢(xún)的時(shí)候會(huì)把查詢(xún)結(jié)果緩存到二級(jí)緩存中,如果同一個(gè)sessionFactory創(chuàng)建的某個(gè)session執(zhí)行了相同的操作,hibernate就會(huì)從二級(jí)緩存中拿結(jié)果,而不會(huì)再去連接數(shù)據(jù)庫(kù);6.插入排序、希爾排序、冒泡排序、快速排序、直接排序、歸并排序下面以快速排序?yàn)槔?.publicclassquickSort{2.3.inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};4.publicquickSort(){5.quick(a);6.for(inti=0;i<a.length;i++){7.System.out.println(a[i]);8.}9.}10.publicintgetMiddle(int[]list,intlow,inthigh){11.inttmp=list[low];//數(shù)組的第一個(gè)作為中軸12.while(low<high){13.while(low<high&&list[high]>=tmp){14.high--;15.}16.17.list[low]=list[high];//比中軸小的記錄移到低端18.while(low<high&&list[low]<=tmp){19.low++;20.}21.22.list[high]=list[low];//比中軸大的記錄移到高端23.}24.list[low]=tmp;/

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論