java筆試面試題及答案_第1頁(yè)
java筆試面試題及答案_第2頁(yè)
java筆試面試題及答案_第3頁(yè)
java筆試面試題及答案_第4頁(yè)
java筆試面試題及答案_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余12頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、一選擇題(30分)1 .下列哪些情況可以終止當(dāng)前線程的運(yùn)行?a.拋出一個(gè)異常時(shí)。b.當(dāng)該線程調(diào)用sleep()方法時(shí)。c. 當(dāng)創(chuàng)建一個(gè)新線程時(shí)。(與當(dāng)前進(jìn)程無關(guān))d. 當(dāng)一個(gè)優(yōu)先級(jí)高的線程進(jìn)入就緒狀態(tài)時(shí)。2. 下面哪些為構(gòu)造函數(shù)的特性定義a. 在類中聲明構(gòu)造函數(shù)時(shí),名稱應(yīng)該與類名相同b. 具有重載特性,可以建立多個(gè)相同的名稱c. 使用類建立新對(duì)象時(shí),會(huì)自動(dòng)執(zhí)行構(gòu)造函數(shù),因此在構(gòu)造函數(shù)內(nèi)設(shè)定變量的初值或進(jìn)行內(nèi)存分配d. 以上都是3. 關(guān)于異常處理機(jī)制的敘述哪些正確a.catc陪B分捕捉到異常情況時(shí),才會(huì)執(zhí)行finally部分(無論是否有毛病,都執(zhí)行)b.當(dāng)try區(qū)段的程序發(fā)生異常時(shí),才會(huì)執(zhí)行ca

2、tch區(qū)段的程序c.不論程序是否發(fā)生錯(cuò)誤及捕捉到異常情況,都會(huì)執(zhí)行finally部分d.以上都是4. 下列關(guān)于接口的敘述中哪些是正確的a. 接口中的數(shù)據(jù)必須設(shè)定初值(就是接口中的常量)b. 接口中的方法都是抽象方法c. 接口可以聲明引用d. 以上都正確5. Java語(yǔ)言中,方法的重寫(Overriding)和重載(Overloading)是多態(tài)性的不同表現(xiàn)。下邊哪些說法是對(duì)的?A重寫是父類與子類之間多態(tài)性的一種表現(xiàn)。B重寫是一個(gè)類中多態(tài)性的一種表現(xiàn)。C重載是一個(gè)類中多態(tài)性的一種表現(xiàn)。D重載是父類與子類之間多態(tài)性的一種表現(xiàn)。6 .在Struts應(yīng)用的視圖中包含哪些組件?A. JSPB. Serv

3、letC. ActionServletD. ActionE. 代表業(yè)務(wù)邏輯或業(yè)務(wù)數(shù)據(jù)的JavaBeanF. EJBG. 客戶化標(biāo)簽7 .struts框架中,關(guān)于FormBean,下列哪些說法是正確的:AFormBean是一種數(shù)據(jù)bean,主要用來封裝表單提交上來的數(shù)據(jù),并把這些數(shù)據(jù)傳遞給ActionB在FormBean中可以對(duì)頁(yè)面上傳遞來的參數(shù)進(jìn)行一下格式上的驗(yàn)證,這種驗(yàn)證是一種客戶端的驗(yàn)證C用戶每次提交表單,都會(huì)產(chǎn)生一個(gè)新的FormBean實(shí)例D動(dòng)態(tài)FormBean不能進(jìn)行驗(yàn)證操作8 哪些方法可以進(jìn)行servlet的調(diào)試?()A、使用打印語(yǔ)句;在桌面計(jì)算機(jī)上運(yùn)行服務(wù)器R使用ApacheLog

4、4JG使用IDE集成的調(diào)試器D直接查看HTM源碼?E、返回錯(cuò)誤頁(yè)面給客戶9、下面關(guān)于servlet的功用說法正確的有哪些?()A、讀取客戶程序發(fā)送來的顯式數(shù)據(jù)R讀取客戶程序發(fā)送來的隱式數(shù)據(jù)G生成相應(yīng)的結(jié)果D發(fā)送顯式的數(shù)據(jù)給客戶程序E、發(fā)送隱式的數(shù)據(jù)給客戶程序10、下面關(guān)于session的用法哪些是錯(cuò)誤的?(A、 HttpSessionsession=newHttpSession();request.getSession();B、 Stringhaha=(String)session.getParameter(Attribute)(“haha”);C、 session.removeAttribu

5、te(“haha”);D、 session.setAttribute(“haha”,值);11、關(guān)于<jsp:includepage="RelativeURL"/>說法正確的有哪些?()AURL勺輸出在請(qǐng)求時(shí)被插入到JS頃面中R不能含有影響整個(gè)頁(yè)面的JSPtt容G被包含文件改變后不需更改使用它的頁(yè)面E、 被包含文件更改后,需要手動(dòng)地更新使用它的頁(yè)面(不需要手動(dòng)更新)12、關(guān)于bean的說法正確的有哪些?()A、具備一個(gè)零參數(shù)(空)的構(gòu)造函數(shù)(不是必須的)R不應(yīng)該有公開的實(shí)例變量(字段)G所有的屬性都必須通過getXxx和setXxx方法來訪問D布爾型的屬性使用i

6、sXxx,而非getXxx13、下面關(guān)于MV說法錯(cuò)誤的有哪些?()A必須使用復(fù)雜的框架R使用內(nèi)建的RequestDispatcher能夠很好地實(shí)現(xiàn)MVCG當(dāng)其中一個(gè)組件發(fā)生變化的時(shí)候,MV影響整個(gè)系統(tǒng)的設(shè)計(jì)D我們可以用MVCe處理單個(gè)請(qǐng)求14、下面的標(biāo)簽中哪些是JST由簽?()A<c:out/>R<c:set/>C<c:if/>D<c:errors/>15、struts框架,錯(cuò)誤的是,下面那些說法正確?AStruts中無法完成上傳功能BStruts框架基于MVC模式CStruts框架容易引起流程復(fù)雜、結(jié)構(gòu)不清晰等問題(清晰)DStruts可以有效

7、地降低項(xiàng)目的類文件數(shù)目二、填空題(5分)1、調(diào)用函數(shù)MOD(123,10)返回彳1為一。2、selectround(123.67,1)fromdual這語(yǔ)句輸出值為。3、創(chuàng)建一個(gè)臨時(shí)替代變量使用的字符是。4、若v_comm=2800,X:=NVL(V_comm,0),則X的值為。5、調(diào)用函數(shù)INSTR(Hereyouare,er)返回值為_。三、判斷題(10分)1 、WHERE子句限制行記錄,也可以指定限制分組結(jié)果的條件。()2 、具有UNIQUE約束的列不能包含多個(gè)空值。()3 、DATE型數(shù)據(jù)中包含著時(shí)間值。()4 、具有外鍵約束的列可以包含空值。()5、如果在類型為char(4)的歹U中

8、輸入“hello",則只能存儲(chǔ)hell。()6 、含有Groupby子句的查詢,其結(jié)果是排好序的。()7 、定義游標(biāo)時(shí),其中的select語(yǔ)句不能使用orderby子句。(子查詢不能用)()8、 過程可以有返回值。()9、 觸發(fā)器一定會(huì)被激發(fā)。()10、 、insteadof觸發(fā)器只是基于視圖的。()SQL語(yǔ)句(括號(hào)內(nèi)為列名)(10分)1、查詢從事各工作(JOB)的員工人數(shù)。2、查詢與員工SMITH在同一部門(DEPTNO)的員工的姓名(ENAME),工資(SAL)和部門。3、查詢所有員工的姓名(ENAME),工資(SAL)和工資等級(jí)(GRADE)。4、查詢獲得工資(SAL)最高的3

9、個(gè)員工信息。5、查詢所有員工的姓名(ENAME)及其主管姓名(ENAME)。五、簡(jiǎn)答題(15分)1 .在PL/SQL程序中,進(jìn)行用戶自定義異常處理的3個(gè)步驟是什么?2 .面向?qū)ο蟮奶卣饔心男┓矫?并簡(jiǎn)要介紹3 .List、Map、Set三個(gè)接口,存取元素時(shí),各有什么特點(diǎn)?List以特定次序來持有元素,可有重復(fù)元素。Set無法擁有重復(fù)元素,內(nèi)部排序。Map保存key-value值,value可多值。4 .struts1.0和struts2.0的區(qū)別?如何控制兩種框架中的單例模式?5 .描述一下如何在struts1.0實(shí)現(xiàn)國(guó)際化,以兩國(guó)語(yǔ)言(中文,英文)為例:6 .struts中怎么酉己置form

10、-bean、action7. Hibernate自帶的分頁(yè)機(jī)制是什么?如果不使用Hibernate自帶的分頁(yè),則采用什么方式分頁(yè)?8. hibernate中一對(duì)多配置文件返回的是什么?9什么樣的數(shù)據(jù)適合存放到第二級(jí)緩存中?10你一般用spring做什么?11 項(xiàng)目中如何體現(xiàn)Spring中的切面編程,具體說明。12 觸發(fā)觸發(fā)器的數(shù)據(jù)操作有哪些?13 解釋視圖的含義以及使用視圖的好處。14 簡(jiǎn)述ORACLE中5種約束及其作用。15 ORACLE中過程和函數(shù)的異同點(diǎn)。六、編程題(30分)1、創(chuàng)建一個(gè)PL/SQL塊,根據(jù)用戶輸入的編號(hào),在emp表中查詢出該編號(hào)的員工姓名、部門號(hào)及其主管編號(hào),要有異常處

11、理。2、創(chuàng)建一個(gè)PL/SQL塊,根據(jù)用戶輸入的工作,從emp表中逐條輸出從事這一工作的每位員工的編號(hào)、姓名和受雇如期,每條信息格式如下:(用游標(biāo)實(shí)現(xiàn))編號(hào)姓名受雇日期7751JOHN95-12-313、編寫一個(gè)函數(shù),用于判斷EMP表中某一工作(JOB)是否存在,若EMP表存在此工作名稱,則返回TRUE,否則返回FALSE。4、編寫一觸發(fā)器,在EMP表執(zhí)行插入或修改前被激發(fā),此觸發(fā)器將對(duì)員工的工資(SAL)超過5000進(jìn)行報(bào)錯(cuò),不能插入或修改,不超過5000的才將員工編號(hào)、工作及當(dāng)時(shí)的日期(SYSDATE)插入U(xiǎn)P_EMP表(注:此表已建好,表結(jié)構(gòu)為UP_EMP(EMPNONUMBER(4),S

12、ALNUMBER(7,2),UDETEDATE)5 下面程序的輸出結(jié)果是多少?publicclassTestextendsDatepublicstaticvoidmain(Stringargs)newTest().test();publicvoidtest()System.out.println(super.getClass().getName();6 下面的程序代碼輸出的結(jié)果是多少?publicclasssmallTpublicstaticvoidmain(Stringargs)smallTt=newsmallT();intb=t.get();publicintget()tryreturn1

13、;finallyreturn2;7 子線程循環(huán)10次,接著主線程循環(huán)100,接著又回到子線程循環(huán)10次,接著再回到主線程又循環(huán)100,如此循環(huán)50次,請(qǐng)寫出程序。8去掉一個(gè)Vector集合中重復(fù)的元素9有一個(gè)字符串,其中包含中文字符、英文字符和數(shù)字字符,請(qǐng)統(tǒng)計(jì)和打印出各個(gè)字符的個(gè)數(shù)10.xxx公司的sql面試TableEMPLOYEESStructure:EMPLOYEE_IDNUMBERPrimaryKey,FIRST_NAMEVARCHAR2(25),LAST_NAMEVARCHAR2(25),Salarynumber(8,2),HiredDateDATE,Departmentidnumb

14、er(2)TableDepartmentsStructure:Departmentidnumber(2)PrimaryKey,DepartmentNameVARCHAR2(25).(1)基于上述EMPLOYEES表寫出查詢:寫出雇用日期在今年的,或者工資在1000,2000之間的,或者員工姓名(last_nam®以'Obama'打頭的所有員工,列出這些員工的全部個(gè)人信息。(2) 基于上述EMPLOYEES表寫出查詢:查出部門平均工資大于1800元的部門的所有員工,列出這些員工的全部個(gè)人信息。()(3) 基于上述EMPLOYEES表寫出查詢:查出個(gè)人工資高于其所在部門平

15、均工資的員工,列出這些員工的全部個(gè)人信息及該員工工資高出部門平均工資百分比。答案:1 答案:ABD2答案:D3答案:BC4答案:AB5 答案AC6 答案:A,G7 答案:A8ABCDE9ABCDE10ABD11ABC12BD13AC14ABC15ABC16答案:C二填空3123.7&28002三判斷xxVVWxVxV四寫出相應(yīng)的SQL語(yǔ)句1Selectjob,count(*)fromempgroupbyjob;2Selectename,sal,deptnofromempwheredeptno=(selectdeptnofromempwhereename=SMITH);3Selecten

16、ame,sal,gradefromemp,salgradewheresalbetweenlosalandhisal;4Select*from(select*fromemporderbysaldesc)whererownum<=3;5Selecte1.enameempname,e2.enamemgrnamefromempe1,empe2wheree1.mgr=e2.empno;五簡(jiǎn)答1可以通過聲明和發(fā)布來截獲自定義異常。一、在聲明部分為聲明自定義異常名。二、在執(zhí)行部分使用RAISE語(yǔ)句顯式地發(fā)布異常。三、在相應(yīng)的異常處理例程中引用已聲明的異常。2(1).抽象:抽象就是忽略一個(gè)主題中與當(dāng)前目

17、標(biāo)無關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,一是過程抽象,二是數(shù)據(jù)抽象。(2) .繼承:繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵(lì)類的重用,它提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實(shí)例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。(3) .封裝:封裝是把過程和數(shù)據(jù)包圍起來,對(duì)數(shù)據(jù)的訪問只能通過已定義的界面。面向?qū)ο笥?jì)算始

18、于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過一個(gè)受保護(hù)的接口訪問其他對(duì)象。(4) .多態(tài)性:多態(tài)性是指允許不同類的對(duì)象對(duì)同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問題。List以特定次序來持有元素,可有重復(fù)元素。Set無法擁有重復(fù)元素,內(nèi)部排序。Map保存key-value值,value可多值。3List以特定次序來持有元素,可有重復(fù)元素。Set無法擁有重復(fù)元素,內(nèi)部排序。Map保存key-value值,value可多值4a、Action類:struts1.2要求Act

19、ion類繼承一個(gè)基類。struts2.0Action要求繼承ActionSupport基類b、線程模式struts1.2Action是單例模式的并且必須是線程安全的,因?yàn)閮H有一個(gè)Action的實(shí)例來處理所有的請(qǐng)求。單例策略限制了Struts1.2Action能做的事情,并且開發(fā)時(shí)特別小心。Action資源必須是線程安全的或同步的。struts2.0Action為每一個(gè)請(qǐng)求產(chǎn)生一個(gè)實(shí)例,因此沒有線程安全問題。c、Servlet依賴struts1.2Action依賴于ServletAPI,因?yàn)楫?dāng)一個(gè)Action被調(diào)用時(shí)HttpServletRequest和HttpServletResponse被傳

20、遞給execut方法。struts2.0Action不依賴于容器,允許Action脫離容器單獨(dú)測(cè)試。如果需要,Struts2Action仍然可以訪問初始的Request和Response。但是,其他的元素減少或者消除了直接訪問HttpServletRequest和HttpServletResponse的必要性。d、可測(cè)性測(cè)試struts1.2Action的一個(gè)主要問題是execute方法暴露了ServletAPI(這使得測(cè)試要依賴于容器)。一個(gè)第三方擴(kuò)展:strutsTestCase提供了一套struts1.2的模擬對(duì)象來進(jìn)行測(cè)試。Struts2.0Action可以通過初始化、設(shè)置屬性、調(diào)用方

21、法來測(cè)試,“依賴注入”也使得測(cè)試更容易。51. 在工程中加入Struts支持2. 編輯ApplicationRperties文件,在其中加入要使用國(guó)際化的信息,例如:創(chuàng)建英文資源文件ApplicationResource_perites4 .創(chuàng)建臨時(shí)中文資源文件ApplicationResource_perites例如:中國(guó)歡迎您!5 .對(duì)臨時(shí)中文資源文件進(jìn)行編碼轉(zhuǎn)換??梢允褂胢yeclipse的插件,也可以在dos下執(zhí)行:native2ascii-encodinggb2312ApplicationResource_pertie

22、sApplicationResource_zh_CN.properties6 .在jsp中加入struts的bean標(biāo)記庫(kù)<%tagliburi="/WEB-INF/struts-bean.tld"prefix="bean"%>顯示信息:可以在struts-config.xml文件中定義多個(gè)資源包,而每個(gè)資源包可使用key屬性指定包的名稱6.6form-bean配置:(在配置文件struts-config.xml中):7 .name:指定form的名字;type指定form的類型:包名+類名;8 .action配置:(在配置文件struts-

23、config.xml中)9 .path=”?”10.attribute="?"11.input="?"12.name="?"13.parameter="?"14.scope="?"15.type="?"71、hibernate自帶的分頁(yè)機(jī)制:獲得Session對(duì)象后,從Session中獲得Query對(duì)象。用Query.setFirstResult():設(shè)置要顯示的第一行數(shù)據(jù),Query.setMaxResults():設(shè)置要顯示的最后一行數(shù)據(jù)。2、不使用hibernate自帶

24、的分頁(yè),可采用sql語(yǔ)句分頁(yè),如:5:為每頁(yè)顯示的記錄,2為當(dāng)前頁(yè):select*top5fromtablewheretabIdnotin(selecttabIdtop(2-1)*5fromtable);8hibernate中一對(duì)多配置文件會(huì)相應(yīng)的映射為兩張表,并且它們之間的關(guān)系是一對(duì)多的。例如:一個(gè)student和classes表的關(guān)系。一個(gè)學(xué)生只能是一個(gè)班的,一個(gè)班可以有多個(gè)學(xué)生。9 1很少被修改的數(shù)據(jù)2不是很重要的數(shù)據(jù),允許出現(xiàn)偶爾并發(fā)的數(shù)據(jù)3不會(huì)被并發(fā)訪問10 控制反轉(zhuǎn)IOCAOP11面向切面編程:主要是橫切一個(gè)關(guān)注點(diǎn),將一個(gè)關(guān)注點(diǎn)模塊化成一個(gè)切面。在切面上聲明一個(gè)通知(Advice)

25、和切入點(diǎn)(Pointcut);通知:是指在切面的某個(gè)特定的連接點(diǎn)(代表一個(gè)方法的執(zhí)行。通過聲明一個(gè)類型的參數(shù)可以使通知(Advice)的主體部分獲得連接點(diǎn)信息。)上執(zhí)行的動(dòng)作。通知中定義了要插入的方法。切入點(diǎn):切入點(diǎn)的內(nèi)容是一個(gè)表達(dá)式,以描述需要在哪些對(duì)象的哪些方法上插入通知中定義的方法。項(xiàng)目中用到的Spring中的切面編程最多的地方:聲明式事務(wù)管理。a、定義一個(gè)事務(wù)管理器b、配置事務(wù)特性(相當(dāng)于聲明通知。一般在業(yè)務(wù)層的類的一些方法上定義事務(wù))c、配置哪些類的哪些方法需要配置事務(wù)(相當(dāng)于切入點(diǎn)。一般是業(yè)務(wù)類的方法上)12 Insert條件謂詞inserting;Update條件謂詞updati

26、ng;Delete條件謂詞deleting。13 視圖是一種Oracle對(duì)象,是來自一張或多張表或視圖中數(shù)據(jù)的子集的邏輯表示。特點(diǎn):限制對(duì)數(shù)據(jù)庫(kù)的訪問;容易實(shí)現(xiàn)數(shù)據(jù)的復(fù)雜的查詢;維護(hù)數(shù)據(jù)的獨(dú)立性;對(duì)于相同的數(shù)據(jù)可以產(chǎn)生不同的視圖。14 Primarykey確保非空且唯一;Foreignkey確保引用完整性;Unique確保列或者列的組合中的每個(gè)值都是唯一的;Check限制每條記錄都要滿足的條件;Notnull確保該列不能保存空值。15 兩者都帶有0個(gè)或多個(gè)參數(shù),參數(shù)可以具有模式。兩者都是PL/SQL語(yǔ)句塊的不同形式,都有聲明段、可執(zhí)行段以及異常段。兩者都可以存儲(chǔ)在數(shù)據(jù)庫(kù)中或在語(yǔ)句塊中聲明兩者不

27、同的是,過程調(diào)用本身是一個(gè)PL/SQL語(yǔ)句,而函數(shù)總是向調(diào)用塊返回一個(gè)值。16 使用%rowtype屬性聲明記錄變量的優(yōu)點(diǎn)是什么?可以不必知道數(shù)據(jù)庫(kù)中列的數(shù)量和類型。在運(yùn)行期間,數(shù)據(jù)庫(kù)中列的數(shù)量和類型可能發(fā)生變化。在SELECT語(yǔ)句中使用該屬性可以有效地檢索表中的行。六編程1SETserveroutputON;Declarev_empnoemp.empno%type:=&員工編號(hào);v_enameemp.ename%type;v_deptnoemp.deptno%type;v_mgremp.mgr%type;BeginSELECTename,deptno,mgrINTOv_ename,v

28、_deptno,v_mgrfromempWHEREempno=v_empno;DBMS_OUTPUT.PUT_LINE('員工|v_ename|在部門'|'v_deptno'|主管'|v_mgr);EXCEPTIONWHENNO_DATA_FOUNDTHENDBMS_OUTPUT.PUT_LINE(沒有此員工);END;2DeclareCursoremp_cur(v_jobemp.job%TYPE)isSelectempno,ename,hiredatefromempwherejob=v_job;v_empnoemp.empno%TYPE;v_ename

29、emp.ename%TYPE;v_hiredateemp.hiredate%TYPE;BEGINOPENemp_cur(upper(&job);LOOPFetchemp_curINTOv_empno,v_ename,v_hiredate;Exitwhenemp_cur%NOTFOUND;DBMS_OUTPUT.PUT_LINE(編號(hào)姓名工資);DBMS_OUTPUT.PUT_LINE(v_empno|v_ename|v_hiredate);ENDLOOP;CLOSEemp_cur;END;DeclareCursoremp_cur(v_jobemp.job%TYPE)isSelectem

30、pno,ename,hiredatefromempwherejob=v_job;v_empnoemp.empno%TYPE;v_enameemp.ename%TYPE;v_hiredateemp.hiredate%TYPE;BEGINFORiINemp_cur(upper(&job)LOOPv_empno:=i.empno;v_ename:=i.ename;v_hiredate:=i.hiredate;DBMS_OUTPUT.PUT_LINE(編號(hào)姓名工資);DBMS_OUTPUT.PUT_LINE(v_empno|v_ename|v_hiredate);ENDLOOP;END;3CR

31、EATEORREPLACEFUNCTIONf_emp(f_jobemp.job%TYPE)RETURNBOOLEANIsv_jobemp.job%TYPE;BEGINSELECTDISTINCTjobINTOv_jobFROMempWHEREjob=f_job;RETURNTRUE;EXCEPTIONWHENNO_DATA_FOUNDTHENRETURNFALSE;ENDf_emp;BeginIff_emp(upper('&job')THENDBMS_OUTPUT.PUT_LINE(日');ELSEDBMS_OUTPUT.PUT_LINE('插);END

32、IF;END;4CREATEORREPLACETRIGGERt_emp_salBEFOREINSERTORUPDATEONempBeginIF:new.sal>5000THENRAISE_APPLICATIONG_ERROR('ERROR!');ELSEINSERTintup_empVALUES(empno,sal,sysdate);ENDIF;END;5很奇怪,Z果是Test這屬于腦筋急轉(zhuǎn)彎的題目,在一個(gè)qq群有個(gè)網(wǎng)友正好問過這個(gè)問題,我覺得挺有趣,就研究了一下,沒想到今天還被你面到了,哈哈。在test方法中,直接調(diào)用getClass().getName()方法,返回的

33、是Test類名由于getClass()在Object類中定義成了final,子類不能覆蓋該方法,所以,在test方法中調(diào)用getClass().getName()方法,其實(shí)就是在調(diào)用從父類繼承的getClass()方法,等效于調(diào)用super.getClass().getName()方法,所以,super.getClass().getName()方法返回的也應(yīng)該是Test。如果想得到父類的名稱,應(yīng)該用如下代碼:getClass().getSuperClass().getName();6返回的結(jié)果是2。我可以通過下面一個(gè)例子程序來幫助我解釋這個(gè)答案,從下面例子的運(yùn)行結(jié)果中可以發(fā)現(xiàn),try中的ret

34、urn語(yǔ)句調(diào)用的函數(shù)先于finally中調(diào)用的函數(shù)執(zhí)行,也就是說return語(yǔ)句先執(zhí)行,finally語(yǔ)句后執(zhí)行,所以,返回的結(jié)果是2。Return并不是讓函數(shù)馬上返回,而是return語(yǔ)句執(zhí)行后,將把返回結(jié)果放置進(jìn)函數(shù)棧中,此時(shí)函數(shù)并不是馬上返回,它要執(zhí)行finally語(yǔ)句后才真正開始返回。7最終的程序代碼如下:publicclassThreadTest/*paramargs*/publicstaticvoidmain(String口args)/TODOAuto-generatedmethodstubnewThreadTest().init();publicvoidinit()finalBu

35、sinessbusiness=newBusiness。;newThread(newRunnable()publicvoidrun()for(inti=0;i<50;i+)business.SubThread(i);).start();for(inti=0;i<50;i+)business.MainThread(i);privateclassBusinessbooleanbShouldSub=true;/這里相當(dāng)于定義了控制該誰執(zhí)行的一個(gè)信號(hào)燈publicsynchronizedvoidMainThread(inti)if(bShouldSub)trythis.wait();catch(InterruptedExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();for(intj=0;j<5;j+)System.out.println(Thread.currentThread().getName()+":i="+i+",j="+j);bShouldSu

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論