測驗筆試常見題_第1頁
測驗筆試常見題_第2頁
測驗筆試常見題_第3頁
測驗筆試常見題_第4頁
測驗筆試常見題_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一部分:填空題(每空2分,共20分)1、執(zhí)行代碼intx=newint10后,x9的值是0_數(shù)組默認值是02、經(jīng)過以下語句Stringmyflag=(20*5=100)?A:B;后,字符串myflag的值是A_3、在數(shù)據(jù)庫中外鍵是指_表表之間的關(guān)聯(lián)4、Java中引入泛型的主要目的是加強類型安全。5、面向?qū)ο缶幊痰娜齻€基本概念是封裝、繼承、多態(tài),其中多態(tài)是指相同消息產(chǎn)生不同的響應(yīng)。6、數(shù)據(jù)庫中需要建立主鍵的目的是_實現(xiàn)實體完整性。7、在Java語言中,Integer和int的主要區(qū)別是引用類型,基本類型實現(xiàn)對數(shù)據(jù)的拆箱與封箱。&在web.xml中,有如下代碼:30以上配置代碼段的作用是指ses

2、sion的連接時間為30分鐘9、在JSP程序中,頁面404錯誤是指_500,405,200_404指找不到資源;500異常;405在servlet中常見列入使用post時servlet中只有g(shù)et方法;200指請求狀態(tài)成功;10、AOP的全稱是面向切面的編程是基于代理_11、在數(shù)據(jù)庫中觸發(fā)器的作用是當(dāng)促發(fā)事件發(fā)生時促發(fā)觸發(fā)器,并運行,是命名層序的一種_。12、“高內(nèi)聚、低耦合”指的是_組件內(nèi)部嚴謹組件組件之間的聯(lián)系盡松散13、Form表單的method屬性定義表單的提交方法,有_post_和get兩種。請求的后面大小2KBpost封裝大小無限制14、單元格垂直合并所用的屬性是rowspan,單

3、元格橫向合并所用的屬性是_colspan。15、經(jīng)過以下語句Stringmyflag=(20*5100)?A:B;后,字符串myflag的值是&與&前者是邏輯與運算符采用短路法16、在Javascript中,表示與”、或”、非”的邏輯運算符分別為&、_|、!17、在安裝JDK后,用戶需對JDK設(shè)置三個系統(tǒng)變量分別是JAVA_HOME_path、_classpath18、JSP規(guī)范規(guī)定了四種變量的作用域范圍,分別是pageapplication、request19、在SQL語言中,運算符like可以實現(xiàn)模糊匹配,其匹配符有%和_下劃線兩種。20、Java中GC指垃圾回收21、Hibernate中

4、PO是指持久化對象。22、JSP的隱含對象request、session、application,我們可以使用setAttribute()方法往這些對象中添加屬性,而用getAttriibute()_方法從這些對象中獲得屬性。23、Hibernate對象有三種狀態(tài),分別是transient(瞬態(tài)或者自由態(tài))、persistent(持久化狀態(tài))、_托管狀態(tài)_。24、Spring中的“依賴注入”指的是_實現(xiàn)對依賴對象的初始化25、四層J2EE體系結(jié)構(gòu)模型分為表示層、業(yè)務(wù)邏輯層、持久層、數(shù)據(jù)層。26、Java語言具有許多優(yōu)點和特點,其中多線性反映了Java程序并行機制的特點:27、Java中通過re

5、turn,breake跳出多重循環(huán)嵌套第二部分:簡答題(每題5分,8題共40分)1、請描述數(shù)據(jù)庫的第三范式?1)第一范式:表中的列是唯一的不可再分的。2)第二范式:在第一范式的基礎(chǔ)之上,存在非主屬性對主屬性的函數(shù)依賴,通俗說表中要有主鍵3)第三范式:在第二范式的基礎(chǔ)之上不存在對非主屬性的函數(shù)傳遞依賴。通俗說表中要有外鍵。2、請簡述SpringIOC的設(shè)計思想和實現(xiàn)方式。組件內(nèi)部實現(xiàn)高內(nèi)聚;組件之間實現(xiàn)低耦合;DI依賴注入,SET注入或構(gòu)造器注入3、簡述幾種Java語言訪問限制修飾符的作用范圍。public:Java語言中訪問限制最寬的修飾符,一般稱之為“公共的”。被其修飾的類、屬性以及方法不僅

6、可以跨類訪問,而且允許跨包(package)訪問。private:Java語言中對訪問權(quán)限限制的最窄的修飾符,一般稱之為“私有的”。被其修飾的類、屬性以及方法只能被該類的對象訪問,其子類不能訪問,更不能允許跨包訪問。protect:介于public和private之間的一種訪問修飾符,一般稱之為“保護形”。被其修飾的類、屬性以及方法只能被類本身的方法及子類訪問,即使子類在不同的包中也可以訪問。default:即不加任何訪問修飾符,通常稱為默認訪問模式。該模式下,只允許在同一個包中進行訪問。4、什么是數(shù)據(jù)庫中的事務(wù)?數(shù)據(jù)庫的事務(wù)處理必須滿足ACID原則,ACID分別是指什么?事務(wù)也稱為一個工作單

7、元,是一個或者一組SQL語句組成的序列,這些操作是一個完整的工作單元要么都執(zhí)行,要么都不執(zhí)行,引入事務(wù)管理主要是避免出現(xiàn)數(shù)據(jù)的不一致性1)原子性(Atomicity):每個事務(wù)要么都成功要么都失敗.(2)一致性(Consistency):一旦一個事務(wù)完成,整個系統(tǒng)都處于一個統(tǒng)一的狀態(tài)(3)隔離性(Isolation):事務(wù)之間彼此獨立,互不干擾(4)持久性(Durability):一旦事務(wù)提交對于數(shù)據(jù)庫中的改變是永久的。5、請闡述抽象類和接口的區(qū)別。(3)接口與抽象類的區(qū)別:1)抽象類定義繼承同一個類的子類(相關(guān)類)的共同行為,接口定義了不相關(guān)類的共同行為。2)抽象類中允許定義抽象方法非抽象方

8、法,靜態(tài)成員變量和非靜態(tài)成員變量,或者常量,接口只允許定義public抽象方法和public靜態(tài)常量。3)抽象類不允許多繼承,而接口允許多繼承6、在JDBC編程時為什么要養(yǎng)成釋放連接的習(xí)慣?鏈接是寶貴的資源,提高數(shù)據(jù)庫的響應(yīng)的速度與效率;7、什么是數(shù)據(jù)庫索引?優(yōu)點缺點是什么?是一種數(shù)據(jù)庫對象,索引中保存數(shù)據(jù),類似圖書的目錄,目的是加快數(shù)據(jù)查詢速度。當(dāng)表中有主鍵時默認以主鍵列創(chuàng)建索引。索引一旦創(chuàng)建無須維護,都由數(shù)據(jù)庫管理系統(tǒng)完成大數(shù)據(jù)量查詢時提高性能;數(shù)據(jù)量小時耗內(nèi)存;8、Connection、PreparedStatement、Statement、ResultSet是JDBC編程常用的接口,請

9、分別簡述它們的作用?Connection連接對象,數(shù)據(jù)庫的鏈接與關(guān)閉,并串接SQI容器設(shè)置實物的提交方式;PrepareedStatement動態(tài)SQl語句支持使用占位符;Statement靜態(tài)發(fā)送SQL語句;ResultSet保存結(jié)果查詢語句,通過,it.next遍歷結(jié)果集9、Hibernate號稱是數(shù)據(jù)庫無關(guān)的,那么已有系統(tǒng)從MySQ數(shù)據(jù)庫遷移至到Oracle,會出錯嗎?需要做哪些修改?修改url;修改方言;主鍵生測過策略可能要修改10、Java中的List和Map有什么區(qū)別?List,Set,Map是否繼承自Collection接口?一個是存儲單列數(shù)據(jù)的集合,另一個是存儲鍵和值這樣的雙列

10、數(shù)據(jù)的集合,List中存儲的數(shù)據(jù)是有順序,并且允許重復(fù);Map中存儲的數(shù)據(jù)是沒有順序的,其鍵是不能重復(fù)的,它的值是可以有重復(fù)的;List,Set繼承自Collection,Map繼承自Map接口11、ArrayList和Vector的區(qū)別這兩個類都實現(xiàn)了List接口(List接口繼承了Collection接口),他們都是有序集合,即存儲在這兩個集合中的元素的位置都是有順序的,相當(dāng)于一種動態(tài)的數(shù)組,我們以后可以按位置索引號取出某個元素,并且其中的數(shù)據(jù)是允許重復(fù)的,這是HashSet之類的集合的最大不同處,HashSet之類的集合不可以按索引號去檢索其中的元素,也不允許有重復(fù)的元素(本來題目問的與

11、hashset沒有任何關(guān)系,但為了說清楚ArrayList與Vector的功能,我們使用對比方式,更有利于說明問題)。ArrayList與Vector的區(qū)別,這主要包括兩個方面:1)同步性:Vector是線程安全的,即線程同步,而ArrayList非線性安全,方法之間不同步;最好是使用ArrayList,因為它不考慮線程安全,效率會高些;如果有多個線程會訪問到集合,那最好是使用Vector,因為不需要我們自己再去考慮和編寫線程安全的代碼。2)數(shù)據(jù)增長:ArrayList與Vector都有一個初始的容量大小,當(dāng)存儲進它們里面的元素的個數(shù)超過了容量時,就需要增加ArrayList與Vector的存

12、儲空間。Vector增長原來的一倍,ArrayList增加原來的0.5倍12、為什么要使用MVC匡架?為什么要使用ORM匡架?MV使得系統(tǒng)開發(fā)結(jié)構(gòu)結(jié)構(gòu)清晰,結(jié)構(gòu)分層,M為模型層對數(shù)據(jù)庫底層數(shù)據(jù)進行操作,V視圖層,是對數(shù)據(jù)模型層狀態(tài)的顯示,C為控制層,是連接模型層與顯示層的中間橋梁;而ORM為對象依賴注入,該框架使得對象操作更加方便,13、Hiberate緩存:(1)session緩存(一級緩存):當(dāng)想使用session從數(shù)據(jù)庫中查詢出一個對象時,Session也是先從自己內(nèi)部查看是否存在這個對象,存在則直接返回,不存在才去訪問數(shù)據(jù)庫,并將查詢的結(jié)果保存在自己內(nèi)部,由于Session代表一次會話

13、過程,并且不是線程安全的,當(dāng)被多個線程共享時容易出現(xiàn)問題,通常具全局應(yīng)用的緩存才具有緩存價值,而二級緩存SessionFactory主要為hibernate配置全局緩存,多個線程和多個事務(wù)都可以共享這個緩存。(2)sessionFactory緩存(二級緩存)14、Hibernate的對象的三種狀態(tài):(1)瞬時狀態(tài):通過new調(diào)用構(gòu)造方法獲得的對象;出于持久化狀態(tài)的對象被delete;瞬時對象被save、update、saveOrUpdate()、get()、load()(2)持久化狀態(tài):具有持久化標(biāo)識,納入session管理clear()、close()、evict()等(3)脫管狀態(tài):具有持

14、久化標(biāo)識,不在session緩存中15、請簡述Servlet的生命周期。當(dāng)?shù)谝淮握埱髸r會首先調(diào)用Init方法進行必要的初始化,該方法只執(zhí)行一次,接下來調(diào)用service方法完成請求的處理及響應(yīng);當(dāng)服務(wù)器重啟或者項目被卸載時調(diào)用destory()方法銷毀servlet()對象;16、SERVLETAPI中forward。與redirect。的區(qū)別?前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會顯示出轉(zhuǎn)向后的地址;后者則是完全的跳轉(zhuǎn),瀏覽器將會得到跳轉(zhuǎn)的地址,并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時,盡量使用forwar

15、d()方法,并且,這樣也有助于隱藏實際的鏈接。在有些情況下,比如,需要跳轉(zhuǎn)到一個其它服務(wù)器上的資源,則必須使用sendRedirect()方法。17、Java中什么是多態(tài)性?多態(tài)性有什么好處?相同的消息被不同的對象接受產(chǎn)生不同的行為結(jié)果,通谷繼承機制或?qū)崿F(xiàn)公共的接口機制完成多臺調(diào)用,好處是統(tǒng)一規(guī)范或協(xié)議,建華調(diào)用,18、簡述JSP中Filter的作用及創(chuàng)建步驟。Filter成為過濾器,對敏感信息進行過濾,同時好可以設(shè)置統(tǒng)一的編碼,防止亂碼的亂碼的發(fā)生。定義一個雷實現(xiàn)Filter并實現(xiàn)全部的抽象方法,并在doFilter(Servletrequerstrequest,ServletRespons

16、eresponse,FilterChainchain)方法的實現(xiàn)中加入如下代碼chain.doFilter(request,reponse),在web.xml中進行如下配置.filterfilter/*19、請簡述SpringAOP的概念及使用方法,并列舉2種應(yīng)用。面向切面的編程,易通明的方式在業(yè)務(wù)代碼中不影響業(yè)務(wù)代碼情況下執(zhí)行的情況下加入其它代碼;這些代碼根據(jù)通知種類的不同在業(yè)務(wù)方法被執(zhí)行過程中執(zhí)行;通知分為前通知后通知環(huán)繞通知拋出異常后通知等;列入權(quán)限驗證日志記錄。申明式的事務(wù)控制20、Session中g(shù)et方法與load方法的區(qū)別:get方法首先會會到session中查找,找不到時道二級

17、緩存中查找,最后才到數(shù)據(jù)庫中查找,當(dāng)數(shù)據(jù)庫中找不到數(shù)據(jù)時,返回null;load方法認定數(shù)據(jù)庫中一定存在索要查詢的值,如果沒有值則拋出ObjectNotFoundException異常.load方法默認不發(fā)送查詢語句,當(dāng)使用sql語句時發(fā)送查詢語句。21、方法重寫override與方法重載overload1)方法重寫,存在于繼承類中,子類覆蓋了父類的方法,子類方法訪問權(quán)限大于父類,當(dāng)發(fā)生異常時,子類的異常小于父類2)方法重載(Overloading):方法名相同,參數(shù)的個數(shù)或者類型不同,重載是在一個類中實現(xiàn)。注意當(dāng)參數(shù)類型個數(shù)相同時,通過改變返回值類型不構(gòu)成方法重載,同一方法內(nèi)參數(shù)類型不能相同

18、,即不能通過訪問權(quán)限、返回類型、拋出的異常進行重載;22、簡述幾種客戶端狀態(tài)的跟蹤方式(會話跟蹤)(1)通過Cookie(2)通過session(3)通過隱藏表單域(4)URL重寫23、“=”和equals方法有什么區(qū)別?=如果操作數(shù)是基本類型是比較值如果操作數(shù)是引用類型;比較地址EquaI比較的是調(diào)用對象與參數(shù)對象的的地址jsp有哪些內(nèi)置對象?作用分別是什么?分別有什么方法?JSP共有以下9個內(nèi)置的對象:request用戶端請求,此請求會包含來自GET/POST請求的參數(shù)response網(wǎng)頁傳回用戶端的回應(yīng)pageContext網(wǎng)頁的屬性是在這里管理session與請求有關(guān)的會話期appli

19、cationservlet正在執(zhí)行的內(nèi)容out用來傳送回應(yīng)的輸出configservlet的構(gòu)架部件pageJSP網(wǎng)頁本身exception針對錯誤網(wǎng)頁,未捕捉的例外jsp有哪些動作?作用分別是什么?jsp:include:在頁面被請求的時候引入一個文件。jsp:useBean:尋找或者實例化一個JavaBean。jsp:setProperty:設(shè)置JavaBean的屬性。jsp:getProperty:輸出某個JavaBean的屬性。jsp:forward:把請求轉(zhuǎn)到一個新的頁面。jsp:plugin:根據(jù)瀏覽器類型為Java插件生成OBJECT或EMBED標(biāo)記JSP中動態(tài)INCLUDE!靜

20、態(tài)INCLUD的區(qū)別?動態(tài)包含,在運行階段完成包含,被包含的頁面與包含的頁面轉(zhuǎn)換成各自對應(yīng)的Servlet.靜態(tài)包含,不包含這樣的標(biāo)簽,在轉(zhuǎn)換階段完成包含,被包含的頁面與包含的頁面轉(zhuǎn)換成一個Servlet.27、什么是運行時異常,他與一般異常有何區(qū)別,請寫出最常見到的5個runtimeexception。運行時異常RuntimeException:編譯階段不能發(fā)現(xiàn),只有在運行時才能發(fā)現(xiàn),發(fā)生的原因多數(shù)是由于程序設(shè)計中存在重大的邏輯錯誤而導(dǎo)致的,出現(xiàn)運行時異常,修改源代碼,糾正存在的邏輯錯誤。非RuntimeException:有可能發(fā)生,也有可能不發(fā)生,但是在編譯階段就能發(fā)現(xiàn),這樣的異常類型必

21、須進行異常處理NullPointerException、IndexOutOfBoundsExceptionArrayIndexOutOfBoundsException、ClassCastException。28、throws,throw,throwable的區(qū)別通過throws用來表明一個成員函數(shù)中可能拋出的各種異常;Throw明確拋出某個異常;Throwable是各種異常類的父類29、字節(jié)流與字符流字節(jié)流繼承于InputStreamOutputStream,字符流繼承于InputStreamReaderOutputStreamWriter。30、Finalfinallyfinalize的區(qū)別

22、Final用于聲明屬性方法和類,表示其屬性不可變,方法不可覆蓋,類不可繼承;Finally為異常處理無條件執(zhí)行的語句;Fianlize為Object類的一個方法,當(dāng)使用垃圾回收時,會調(diào)用被回收對象的此方法,31、什么是線程,線程的狀態(tài)與生命周期,使用線程所需要實現(xiàn)的接口,什么是線程的同步?一個進程中有多個執(zhí)行的線索,這些線索根據(jù)分配的時間片可以啟動運行充分利用空閑資源,達到并行的運行目的縣城依賴于進程而存在,分守護線程與用戶線程,其生命周期分為新建態(tài)就緒態(tài),運行態(tài)(run()阻塞掛起態(tài)joinsuspend(),終止態(tài)(方法正常運行并調(diào)用stop()方法),線程的兩種方式繼承實現(xiàn)Thread類

23、或?qū)崿F(xiàn)Runnable接口;線程同步:有一個共享資源對象,該對象中有兩個同步方法,當(dāng)一個線程使用這個對象調(diào)用其中的某一個同步方法,在該方法執(zhí)行過程中,共享資源對象被鎖定,其他線程不能使用這個對象當(dāng)應(yīng)用程序在對象上調(diào)用了一個需要花費很長時間來執(zhí)行的方法,并且不希望讓程序等待方法的返回時,就應(yīng)該使用異步編程,在很多情況下采用異步途徑往往更有效率。32、sleep()和wait()有什么區(qū)別?sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時間,給執(zhí)行機會給其他線程,但是監(jiān)控狀態(tài)依然保持,到時后會自動恢復(fù)。調(diào)用sleep不會釋放對象鎖。wait是Object類的方法,對此對象調(diào)用wa

24、it方法導(dǎo)致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify方法(或notifyAll)后本線程才進入對象鎖定池準(zhǔn)備獲得對象鎖進入運行狀態(tài)。33、java中XM文檔定義有幾種形式,他們之間有何區(qū)別,java是如何解析xml文件的有兩種形式:dtd,schem;本質(zhì)區(qū)別是schema本身是XML文件,可以被解析器解析通過DOM(DocumentObjectMapping),SAX(simpleAPIforXML),StAX(StreamingAPIforXML)進行解析;DOM:為樹狀結(jié)構(gòu),其訪問是隨機的,且需要一次性加載XML文件,當(dāng)使用大型數(shù)據(jù)時,其性能下降的十分

25、厲害因此十分耗內(nèi)存,SAX為事件型驅(qū)動,順序讀取XML文件,當(dāng)遇到標(biāo)簽開頭,結(jié)束時會觸發(fā)一個事件,用戶可以通過其回調(diào)事件中寫入代碼,來處理XML文件,完成順序訪問;StAX:在StAX中,程序的切入點是表示XML文檔中一個位置的光標(biāo)。應(yīng)用程序在需要時向前移動光標(biāo),從解析器拉出信息。與基于事件的API(如SAX)將數(shù)據(jù)推送”給應(yīng)用程序不同的是,SAX需要應(yīng)用程序維持時間間的狀態(tài),以保持文檔內(nèi)的位置信息。它位于包中。XMLStreamReader接口用于分析一個XML文檔,而XMLStreamWriter接口用于生成一個XML文檔。XMLEventReader負責(zé)使用一個對象事件迭代子分析XML事

26、件-這與XMLStreamReader所使用的光標(biāo)機制形成對照。34、什么是java序列化,如何實現(xiàn)java序列化?序列化就是一種用來處理對象流的機制,所謂對象流也就是將對象的內(nèi)容進行流化??梢詫α骰蟮膶ο筮M行讀寫操作,也可將流化后的對象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對對象流進行讀寫操作時所引發(fā)的問題。序列化的實現(xiàn):將需要被序列化的類實現(xiàn)Serializable接口,該接口沒有需要實現(xiàn)的方法,implementsSerializable只是為了標(biāo)注該對象是可被序列化的,然后使用一個輸出流(如:FileOutputStream)來構(gòu)造一個ObjectOutputStream(對象流)對象,接著,使用ObjectOutputStream對象的writeObject(Objectobj)方法就可以將參數(shù)為obj的對象寫出(即保存其狀態(tài)),要恢復(fù)的話則用輸入流。35、什么是內(nèi)存溢出什么是內(nèi)存泄漏內(nèi)存溢出多發(fā)生與C/C+是其語言環(huán)境固有的缺陷,堆由程序員分配,棧由系統(tǒng)分配內(nèi)存泄露指一個不再被程序使用的對象或變量一直被占據(jù)在內(nèi)存中。java中有垃圾回收機制,它可以保證一對象不再被引用的時候被回收36、java中特殊的關(guān)鍵字this:在類的非靜態(tài)成員方法中使用this.xxx表示調(diào)

溫馨提示

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

最新文檔

評論

0/150

提交評論