面試題全部4存儲過程中怎樣設置觸發(fā)器_第1頁
面試題全部4存儲過程中怎樣設置觸發(fā)器_第2頁
面試題全部4存儲過程中怎樣設置觸發(fā)器_第3頁
面試題全部4存儲過程中怎樣設置觸發(fā)器_第4頁
面試題全部4存儲過程中怎樣設置觸發(fā)器_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

jspservletB/SC/SServletfilter兩個tomcat共個機文件內(nèi)容,也可以修改原文件內(nèi)容SAX解析SAX處理的優(yōu)點非常類似于流的優(yōu)點。分析能夠立即開始,而不是等待所有的數(shù)據(jù)被處理。SAX解析器采用了基于的模型,它在解析XML文檔的時候可以觸發(fā)一系列的,當發(fā)現(xiàn)給定的tag的時候,它可以激活一個回調(diào)方法,告訴該方法制定的已經(jīng)找到。而且,由于應用程序只是在讀取數(shù)據(jù)時檢查數(shù)據(jù),因此不需要將數(shù)據(jù)在內(nèi)存中。這對于大型文檔來說是個巨大的優(yōu)點線性解析,不能隨機,也無法修改原文件JDOM解析 JDOM的目的是成為Java特定文檔模型,它簡化與XML的交互并且比使用DOM實現(xiàn)更快.JDOM僅使用具體類而不使用接口。這在某些方面簡化了API,但是也限制了靈活性。第二,API大量使用了Collections類,簡化了那些已經(jīng)熟悉這些類的Java開發(fā)者的使用。DOM4j解析 DOM4J使用接口和抽象基本類方法。DOM4J大量使用了API中的能或更直接的編碼方法。直接好處是,雖然DOM4J付出了更復雜的API的代價,但是它提供了比JDOM大得多的靈活性。1Servlet2、請求經(jīng)過系列的過濾器,F(xiàn)ilterDispatcher3、ActionMapperAction,F(xiàn)ilterDispatcherAction4、Action通過ConfigurationManager詢問框架的配置文件找到需要調(diào)Action5、Action創(chuàng)建一個ActionInvocation實6、ActionInvocationAction的execute7、ActionActionInvocationstruts.xml3oracleDELETEfrom表WHERE(id)IN(SELECTidFROM表 GROUPBYidHAVINGCOUNT(id)>1)ANDROWIDNOTIN(SELECTMIN(ROWID)FROM表 GROUPBYidHAVINGCOUNT(*)>1);實現(xiàn)方式共有兩種:編碼方式;式事務管理方式XML法上進行@TransactionalgeementById,geementsByName,struts2jarJSPspringjarstruts2-spriong-plugin.jar9(1)WebRoot\pages\User因為spring中的bean的id配置的 <bean(2)JSPaction<formaction="<%=path%>/user_regist.action"10(1)hibernatejar(2)增添pojo3)增加User.hbm.xmlhibernatespringapplicationContext.xmlhibernate如果數(shù)據(jù)庫中創(chuàng)建表,則表示配置成service和在action中調(diào)用 增加和內(nèi)springServletServletServletServletServlet階段:類裝載及實例創(chuàng)建階段、實例初始化階段、服務階段以及實例銷毀階段。9session區(qū)1、數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務器上2、不是很安全,別人可以分析存放在本地的并進行session3、session會在一定時間內(nèi)保存在服務器上。當增多,會比較占用你服務器的考慮到減輕服務器性能方面,應當使用4、單個在客戶端的限制是3K,就是說一個站點在客戶端存放的3K。5其他信息如果需要保留,可以放在ExtJSAjaxjavascriptwebExtJSRIAAJAX應用,是一個與技術無關的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Phpjava12、企業(yè)數(shù)據(jù)支持:XML、XMLDTD、XSL、SAX、DOM、JAXP RML、WEB服務通信等等內(nèi)容4、常見的企業(yè)服務:命名服務 服務、服務、web服務查找JDNI、CORBA名稱、LDAP DSML、JINI、JTA、JTS、JMS JAXM5web:webwebjava小服務、javawebservice6、企業(yè)應用程序支持7、javaEEWebService的、專門的第軟件或硬件,就可相互交換數(shù)據(jù)或集成。依據(jù)WebService規(guī)范實施的應用之間,無論它們所使用的語言、平臺或內(nèi)部協(xié)議是什么,都可以相互交換數(shù)據(jù)。14springaopiocAOPclassAOP15Struts2Strtus23FilterDispatcherActionFilterDispatcher78. HibernateJDBCORMDAOhibernateJava1.spring一、CoreJava:1—951—24基礎及語法:1—61—頁異常:62—6913頁集合:70—8015頁線程:81—9018—21IO&Socket:91—9521—24二、OOAD&UML:96—10124—25三、XML:102—10526—29四、SQL:106—10929—31五、JDBC&Hibernate:110—12131—35六、Web:122—16135—44七、EJB&Spring:162—17944—47八、數(shù)據(jù)結構&算法&計算機基礎:180—18747—51九、C++:188—20151—55十、Weblogic及其它(附加部分)1——1355—57一、CoreJava部分:(95914道基礎及語法部分:(61601道1、面向對象的特征有哪些方面?【基礎】裝封是過據(jù)圍來對據(jù)的只過定的面面對計始這2public,private,protected,以及不寫時的區(qū)別?【基礎】 同包子孫 √protected × × ×3、String是最基本的數(shù)據(jù)類型嗎?【基礎】4、float型floatf=3.4答:不正確;精度確,應該用強制類型轉換,如下所示:floatf=(float)3.4答:不能;應該用強制類型轉換,如下所示:floatf=(float)1.3;。6、shorts1=1;s1=s1+1;有什么錯?shorts11;s11;有什么錯?【基礎】答:shorts11;s1s11;s1+1int型,需要強制轉換類型;shorts11;17、Javagoto?答:gotojavajava8、intInteger有什么區(qū)別?答:Java提供兩種不同的類型 intjava的原始數(shù)據(jù)類型,Integerjava為intJava為每個原始類型提供了封裝類:封裝類型:Boolean,Character,Byte,Short,Integer,Long,F(xiàn)loat,Double類型和原始類型的行為完全不同,并且它們具有不同的語義。類型和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數(shù)據(jù)結構,當類型和原始類型用作某個類的實例數(shù)據(jù)時所指定的缺省值。對象實例變量的缺省值為null,而原始類型實例變量的缺省值與它們的類型有b.邏輯操作不會產(chǎn)生短路。11、heap和stack有什么區(qū)別?【基礎】12、Math.round(11.5)等于多少?Math.round(-11.5)等于多少?【基礎】答:Math.round(11.5)==12Math.round(-11.5)==-11round方法返回與參數(shù)最接近的長整數(shù),參1/2后求其floor。13、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?【基答:switch(expr1)中,expr1switch和caseint、short、char或者byte。long,string都不能作用于swtich。142乘以8等於幾?【基礎】答:2<<3。15length(String有沒有l(wèi)ength(lengthlength的屬性。String有l(wèi)ength()這個方法。16JAVA中,如何跳出當前的多重嵌套循環(huán)?【基礎】label標識,然后用break:label17Constructor是否可被override?答:構造器Constructor不能被繼承,因此不能重寫OverridingOverloading。18、兩個對象值相同(x.equals(y)truehashcode,這句話對不對?【基答:不對,有相同的hashcode19String類?【基礎】答:Stringfinal類,故不可以繼承。20true的有:B:“beijing”.equalsIgnoreCase(newString(“beijing”));【基礎】答:A和B。結果,那么這里到底是值傳遞還是傳遞?【基礎】答:是值傳遞。Java編程語言只有值傳遞參數(shù)。當一個對象實例作為一個參數(shù)被傳遞到方法中時,參數(shù)的值就是對該對象的。對象的內(nèi)容可以在被調(diào)用的方法中改變,但對象的是不會改變22webiso8859-1答:publicStringtranslate(Stringstr){StringtempStr="";tempStr=newString(str.getBytes("ISO-8859-1"),"GBK");tempStr=tempStr.trim();}catch(Exceptione){}return}23、StringStringBuffer的區(qū)別?答:JAVA平臺提供了兩個類:String和StringBuffer,它們可以和操作字符串,即包含多個字符的字符數(shù)據(jù)。這個StringStringBuffer類提供的字StringBuffer。典型地,你可以使用StringBuffers來動態(tài)構造字符數(shù)據(jù)。24、String,StringBufferStringBuilder的區(qū)別。【基礎】答:String的長度是不可變的;StringBuffer的長度是可變的,如果你對字符串中的內(nèi)容經(jīng)常進StringBufferString,那么使用StringBuffer的toString()方法;線程安全;StringBuilder是從JDK5開始,為StringBufferStringBuilder類,因為它25、Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?【基礎】答:方法的重寫OverridingOverloadingJavaOverridingOverloading是一個類中多態(tài)性的一種表現(xiàn)。(Overloading)。Overloaded的方法是可以改變返回值的類型。26A和類BclassA{inta=1;doubled=2.0;voidshow(){System.out.println("ClassA:a="+a}}classBextendsA{floata=3.0f;Stringd="Javaprogram.";voidshow(){super.show(System.out.println("ClassB:a="+a}}mainAa=newA();main方法中定義類B的對象b:Ab=newB();ClassA:a=1d=2.0ClassA:a=1ClassB:a=3.0d=Javaprogram27JVM加載class文件的原理機制?答:JVMClassLoader和它的子類來實現(xiàn)的,JavaClassLoaderJava28、charjava中以unicode編碼,一個char占1629 class和interface有什么區(qū)別?【基礎答:方法的存在而不去實現(xiàn)它的類被叫做抽象類( class),它用于要創(chuàng)建一現(xiàn)某些基本行為的類,并為該類方法,但不能在該類中實現(xiàn)該類的情況。不能創(chuàng)建 象的,所有成員變量都是publicstaticfinal的。一個類可以實現(xiàn)多個接口,當類實現(xiàn)特殊接口時,法。由于有抽象類,它允許使用接口名作為變量的類型。通常的動態(tài)聯(lián)編將生效。可以轉換到接口類型或從接口類型轉換,instanceof運算符可以用來決定某對象的類是否實現(xiàn)了接口。30、StaticNestedClassInnerClass的不同?【基礎】答:StaticNestedClass是被為靜態(tài)(static)的內(nèi)部類,它可以不依賴于外部類實例被實31、javaGC回收,導致耗費內(nèi)存資源。 的method是否可同時是static,是否可同時是native,是否可同時是synchronized?【基礎】答:靜態(tài)變量也稱為類變量,歸全類共有,它不依賴于某個對象,可通過類名直接;而實例變量34staticstatic方法的調(diào)用?【基礎】method(),不能保證對象初始化。答:Clone有缺省行為:super.clone(),他負責產(chǎn)生正確大小的空間,并逐位36、GC是什么?GC?答:GC是收集的意思(GabageCollection),內(nèi)存處理是編程人員容易出現(xiàn)問題的地方,忘記或者錯誤的內(nèi)存回收會導致程序或系統(tǒng)的不穩(wěn)定甚至,Java提供的GC功能可以自動監(jiān)測對象是否超過作用域從而達到自動回收內(nèi)存的目的,Java語言沒有提供釋放已分配內(nèi)存的顯示操作方法。Java程序員不用擔心內(nèi)存管理,因為收集器會自動進行管理。要請求收集,可以調(diào)用下面的方法之一:System.gcRuntime.getRuntime().gc()。37、回收的優(yōu)點和原理。并考慮2種回收機制。【基礎答:Java語言中一個顯著的特點就是引入了回收機制,使c++程序員最頭疼的內(nèi)存管理的問題迎刃而解,它使得Java程序員在編寫程序的時候不再需要考慮內(nèi)存管理。由于有個回收機制,Java中的對象不再有“作用域”的概念,只有對象的才有“作用域”?;厥湛梢杂行У姆乐箖?nèi)存,有效的使用可以使用的內(nèi)存。回收器通常是作為一個單獨的低級別的線程運行,不可預知的收器對某個對象或所有對象進行回收?;厥諜C制有分代回收和標記回收,增量回答:對于GC來說,當程序員創(chuàng)建對象時,GC就開始這個對象的地址、大小以及使用情況。通常,GC采用有向圖的方式記錄和管理堆(heap)中的所有對象。通過這種方式確定哪些對象是"可達的GC確定一些對象為"不可達"時,GC就有責任回收這些內(nèi)存空間??梢浴3绦騿T可以手動執(zhí)行System.gcGC運行,但是Java語言規(guī)范并不保證GC一定會執(zhí)39、Strings=newString(“xyzStringObject?【基礎】答:兩個對象,一個是"xyx",一個是指向"xyx"的對象s。40、接口是否可繼承接口?抽象類是否可實現(xiàn)(implements(concreteclass)?41、Java的接口和CJava不支持多繼承,而有可能某個類或對象要使用分別在幾個類或對象里面的方法或屬publicstaticpublic.一個類可以實現(xiàn)多個接口。435個?!净A】答:常用的類:BufferedReaderBufferedWriterFileReaderFileWirterStringInteger;常用的包:java.langjava.awtjava.iojava.utiljava.sql;常用的接口:RemoteListMap44、AnonymousInnerClass(內(nèi)部類)是否可以extends(繼承)其它類?是否可以implements(實現(xiàn))interface(接口)?【基礎】swing編程中常用此方式。45、內(nèi)部類可以他包含類的成員嗎?有沒有什么限制?【基礎】答:一個內(nèi)部類對象可以創(chuàng)建它的外部類對象的內(nèi)容。46、java答:方法的覆蓋OverridingOverloadingjavaOverridingOverloading47、在java中一個類被為final類型,表示了什么意思?【基礎】48、下面哪些類可以被繼承?【基礎】1)java.lang.Thread(T)2)java.lang.Number(T)3)java.lang.Double(F)4)java.lang.Math(F)5)java.lang.Void(F)6)java.lang.Class(F)7)java.lang.ClassLoader(T)答:1、2、749 下面程序的運行結果:【基礎classA{}publicA(){}}classBextendsA{}publicB(){}}publicclasspublicstaticvoidmain(String[]AabnewB();//執(zhí)行到此處,結果:1a2babnewB();}}1a2b2bstatic代碼段,可以看作是類首次加載(虛擬機加載)執(zhí)行的代碼,而packagepublicclassFatherClass{publicFatherClass(){System.out.println("FatherClass}}packageimportpublicclassChildClassextendsFatherClass{publicChildClass(){System.out.println("ChildClassCreate");}publicstaticvoidmain(String[]args){FatherClassfc=newFatherClass();ChildClasscc=newChildClass();}}FatherClassCreateFatherClassChildClass51、內(nèi)部類的實現(xiàn)方式?【基礎】packagepublicclassOuterClass{privateclassInterClass{publicInterClass(){System.out.println("InterClass}}publicOuterClass()InterClassic=newInterClass();System.out.println("OuterClass}publicstaticvoidmain(String[]args){OuterClassoc=newOuterClass();}}InterClassCreateOuterClass52、關于內(nèi)部類:【基礎】publicclassOuterClassprivatedoubled1=//insertcode}Youneedtoinsertaninnerclassdeclarationatline3,Whichtwoinnerclassdeclarationsarevalid?(Choosetwo.)classpublicstaticdoublemethoda(){return}publicclassstaticdoublemethoda(){return}privateclassInnerOne{doublemethoda(){returnd1;}}staticclassprotecteddoublemethoda(){return}classInnerOne{ doublemethoda();}答:答案為C、E靜態(tài)內(nèi)部類可以有靜態(tài)成員,而非靜態(tài)內(nèi)部類則不能有靜態(tài)成員;故A、BD非靜態(tài)內(nèi)部類的非靜態(tài)成員可以外部類的非靜態(tài)變量;故C正確如何取小數(shù)點前兩位并四舍五入?【基礎】答:1parse***(StringvalueOf(String)即可返回相應基本類String類中valueOftoString()方法獲得相應字符串;java.math.BigDecimal對象,再利用其round()方法進行四舍五入到保留小數(shù)StringBuffer對象,然后調(diào)用StringBuffer中的reverse符串的反轉,調(diào)用rece方法即可實現(xiàn)字符串的替換。55GB2312ISO-8859-1編碼的字符串?【基礎】Strings1Strings2=newString(s1.getBytes("GB2312"),"ISO-8859-publicString[]split(Stringstr,intchars){intn=(str.length()+chars-1)/chars;Stringret[]=newString[n];for(inti=0;i<n;i++){if(i<n-1){ret[i]=str.substring(i*chars,ret[i]=}}return}57、寫一個函數(shù),2個參數(shù),1個字符串,1個字節(jié)數(shù),返回截取的字符串,要求字符串中的中文不能出現(xiàn)亂碼:如(“ABC”,4)AB”,輸入(“ABCDEF”,6)應該輸出為ABCABC+漢的半個”。【基礎】publicStringsubString(Stringstr,intsubBytes)intbytes=0;//用來字符串的總字節(jié)數(shù)for(inti=0;i<str.length();i++){if(bytes==subBytes){returnstr.substring(0,}charc=str.charAt(i);if(c<256){bytes1;//}elsebytes2;2if(bytes-subBytes==1){returnstr.substring(0,}}}return}1970年到現(xiàn)在的毫秒數(shù)?答:1java.util.Calendar實例(Calendar.getInstance())get()方法傳入不同的參Calendartime=Calendar.getInstance();4)java.text.DataFormat類中的format()方法可將日期格式化。59、Java編程,打印昨天的當前時刻?!净A】答:publicclassYesterdayCurrent{publicstaticvoidmain(String[]args){Calendarcal=Calendar.getInstance();cal.add(Calendar.DATE,-1);}}60、java和javasciprt的區(qū)別?!净A】答:JavaScript與Java是兩個公司開發(fā)的不同的兩個產(chǎn)品。Java是SUN公司推出的新一代面Internet應用程序開發(fā);而JavaScript是Netscape公司的產(chǎn)NetscapeNavigatorWeb頁面中的基于對象和LiveScriptJavaOak語言。下面對兩種語言間的異同基于對象和面向對象:Java是一種真正的面向對象的語言,即使是開發(fā)簡單的程序,必須設計對象;JavaScript是種語言,它可以用來制作與網(wǎng)絡無關的,與用戶交互作用的復雜軟件。它是一種基于對象(ObjectBased)和驅動(EventDriver)的編程語言。因而它本身提供了非常豐富的內(nèi)解釋和編譯:Java的源代碼在執(zhí)行之前,必須經(jīng)過編譯;JavaScript是一種解釋性編程語強類型變量和類型弱變量:Java采用強類型變量檢查,即所有變量在編譯之前必須作;JavaScript中變量,采用其弱類型。即變量在使用前不需作,而是解釋器在運行時檢查其數(shù)據(jù)答:ssetio,asertonaertinssetionrualstioerrr。assert(a>0);//throwsanAssertionerrorifa<=assertExpression1assertExpression1:Expression2Expression1Expression2可以是得出一個值的任意表達式;這個值用于生成顯示調(diào)試信息的String消source1.4javac-source1.4要在運行時啟用斷言,可使用-enableassertions或者-ea標記。要在運行時選擇禁用斷言,可使用-da或者-disableassertions標記。要在系統(tǒng)類中啟用斷言,可使用-esa或者-dsa標記。還可以在包的基礎上啟用或者禁用斷言??僧惓2糠郑海?8道62、Java答:當JAVA程序了JAVA的語義規(guī)則時,JAVA虛擬機就會將發(fā)生的錯誤表示為一個異常。2JAVA類庫內(nèi)置的語義檢查。例如數(shù)組下標越界,會IndexOutOfBoundception;null的對象時會NullPointerException。另一種情況就是JAVA允許程序員擴展這種語義檢查,程序員可以創(chuàng)建自己的異常,并在何時用throw關鍵字java.lang.Thowable的子類。63、errorexception有什么區(qū)別?答:error表示系統(tǒng)級的錯誤和程序不必處理的異常,是恢復不是不可能但很的情況下的一種嚴重問題;比如內(nèi)存溢出,不可能指望程序能處理這樣的情況;exception表示需要捕捉或者需要程序64、tryreturn語句,那么緊跟在這個try后的finallycodereturn前還是后?【基礎】答:會執(zhí)行,在return65、JAVA語言如何進行異常處理,關鍵字:throws,throw,try,catch,finallytry塊中可以拋出異常嗎?【基礎】答:Java通過面向對象的方法進行異常處理,把各種不同的異常進行分類,并提供了良好的接口。JavaThrowable類或其它子類的實例。當一個方法出現(xiàn)異常后便Java的異常處理是通過5個來實現(xiàn)的:try、catch、throw、throws和finally。一般情況下try來執(zhí)行一段程序,如果出現(xiàn)異常,系統(tǒng)會拋出(throws)一個異常,這時候你可以通過它的類型來捕捉(catch)它,或最后(finally)由缺省處理器來處理;try用來指定一塊預防所有“異?!钡某绦?;catch子句緊跟在try塊后面,用來指定你想要捕捉的“異?!钡念愋停籺hrow語句用來明確地拋出一個“異?!?;throws用來標明一個成員函數(shù)可能拋出的各種“異?!?;Finally為確保一try語句,在try語句保護其他代碼。每當遇到一個try語句,“異?!钡目蚣芫头诺絫rytry語句沒有對某種“異?!边M行處理,堆棧就會展開,直到遇到有處理這種“異?!钡膖ry語句。的異常,是一種常見運行錯誤。java編譯器要求方法必須拋出可能發(fā)生的非運行時異常,但是并不要求必須拋出未獲的運行時異常。答:ArithmeticException,ArrayStoreException,BufferOverflowException,BufferUnderflowException,CannotRedoException,CannotUndoException,ClassCastException,CMMException,ConcurrentModificationException,DOMException,EmptyStackException,IllegalArgumentException,IllegalMonitorStateException,IllegalPathStateException,IllegalStateException,ImagingOpException,IndexOutOfBoundception,MissingResourceException,NegativeArraySizeException,NoSuchElementException,NullPointerException,ProfileDataException,ProviderException,RasterFormatException,SecurityException,SystemException,UndeclaredThrowableException,UnmodifiableSetException,UnsupportedOperationException68、final,finally,finalize的區(qū)別?答:final:修飾符(關鍵字);如果一個類被為final,意味著它不能再派生出新的子類,不能作為父類被繼承,因此一個類不能既被為的,又被為final的;將變量或方法聲明為final,可以保證它們在使用中不被改變;被為final的變量必須在時給定初值,而在以后的中只能,不可修改;被為final的方法也同樣只能使用,不能重載。finally:再異finallycatch子句就會執(zhí)finally塊(如果有的話)。finalize:方法名;Java技術允許使用finalize()方法在收集器將對象從內(nèi)存中清除出去之前做必要的清理工作。這個方法是由收集器在確定這個對象沒有被時對這個對象調(diào)用的。它是在Object類中定義的,因此所有的類都繼承了它。子類覆蓋finalize()方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize()方法是在69ExampleA繼承ExceptionExampleB繼承ExampleA;【基礎】thrownew}catch(ExampleAe){}catch(Exceptione){}A:ExampleAB:ExceptionC:bD:無答:輸出為A。集合部分:(1111道70JAVA中的CollectionFrameWork(及如何寫自己的數(shù)據(jù)結構)【基礎】答:CollectionFrameWork如下:│CollectionCollectionObjectCollection(Elements);Mapkeyvalue71、List,Set,MapCollection接口?【基礎】答:List,Set是;Map不是。ListMap。List的具體實現(xiàn)包括ArrayList和Vector,它們是可變大小的列表,比較適合構建、和操作任何類型對象的元素列表。List適用于按數(shù)值索引元素的情形。Map提供了一個更通用的元素方法。Map集合類用于元素對(稱作“鍵”和“值”),其73、說出ArrayList,Vector,LinkedList的性能和特性?【基礎答:ArrayList和Vector都是使用數(shù)組方式數(shù)據(jù),此數(shù)組元素數(shù)大于實際的數(shù)據(jù)以便增引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表實現(xiàn),按序號索引數(shù)據(jù)需要進行前向或后向遍歷,但74、Collection和Collections的區(qū)別?【基礎】答:Collection是java.utilSet和List;Collections是個java.util下的類,是針對集合的幫助類,提供一系列靜態(tài)方法實現(xiàn)75、HashMap和Hashtable的區(qū)別?MapHashMapnull鍵和多個nullHashtableHashMapHashtablecontains方法去掉了,改成containsvaluecontainsKey,因為contains方法容易讓人引起誤解;HashtableDictionary類,HashMapJava1.2MapHashtable的方法是Synchronize的,而HashMap不是,在多個線程Hashtable時,不需要自己為它的方法實現(xiàn)同步,而HashMap就必須為之提供外同步。Hashtable和HashMap采用的hash/rehash算法大致一樣,所以性能不會有很大的差異。76、ArraylistVector區(qū)別?【基礎】答:就ArrayList與Vector同步性:Vector是線程安全的(同步)ArrayList是線程序不安全的;數(shù)據(jù)增長:當需要增長時,VectorArrayList77、List、Map、Set答:List以特定次序來持有元素,可有重復元素。Set無法擁有重復元素,內(nèi)部排序。Mapkey-value值,value78、Setequals()?它們有何區(qū)別?【基礎】答:Setequalsequals()方法用來判斷對象的內(nèi)容是否相同,而”==”判斷地址是否相等,用來決定值是否指向同一對象。79101-10packageimportjava.util.ArrayList;importjava.util.Collections;importjava.util.I importjava.util.List;importjava.util.Random;publicclassRandomSortpublicstaticvoidprintRandomBySort()RandomrandomnewRandom();Listlist=new10list中for(inti=0;i<10;i++){}Collections.sort(listItorit=list.itor();intcount=0;while(it.hasNextSystem.out.println(++count+":"+}}publicstaticvoidmain(String[]args){}}80JAVA實現(xiàn)一種排序,JAVA類實現(xiàn)序列化的方法?在COLLECTION框架中,實現(xiàn)比較要packagetest;importjava.util.*;classInsertSort{ArrayListpublicInsertSort(intnum,intmod){al=newArrayList(num);Randomrand=newRandom();System.out.println("TheArrayListSortBefore:");for(inti=0;i<num;i++){al.add(newInteger(Math.abs(rand.nextInt())%mod+}}publicvoidSortIt(){intfor(inti=1;i<al.size();i++){tempInt=(Integer)al.remove(i);if(tempIValue()>=for(intj=0;j<MaxSize;j++if}}}}System.out.println("TheArrayListSortAfter:");for(inti=0;i<al.size();i++){}}publicstaticvoidmain(String[]args){InsertSortis=newInsertSort(10,100);}}JAVA類實現(xiàn)序例化的方法是實現(xiàn)java.io.Serializable接口;Collection框架中實現(xiàn)比較要Comparable接口和Comparator接口。線程部分:(1073道81、sleep()wait()有什么區(qū)別?答:sleep是線程類(Thread)的方法,導致此線程暫停執(zhí)行指定時間,給執(zhí)行機會給其他線程,但是狀態(tài)依然保持,到時后會自動恢復。調(diào)用sleep不會釋放對象鎖。wait是Object類的方wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象notify方法(notifyAll)后本線程才進入對象鎖定池準備獲得對象鎖進入運行狀態(tài)。82synchronized方法后,其它線程是否可進入此對象的其它方法?【基礎】答:waitlock;sleep():使一個正在運行的InterruptedException異常;notify():喚醒JVM確定喚醒哪個線程,而且不是按優(yōu)先級;84Thread類與實現(xiàn)Runnable接口,同步的實現(xiàn)方面有兩種,分別是synchronized,wait與notify。答:如果數(shù)據(jù)將程間共享。例如正在寫的數(shù)據(jù)以后可能被另一個線程讀到,或者正在讀的數(shù)據(jù)可答:啟動一個線程是調(diào)用start()方法,使線程所代表的虛擬處理機處于可運行狀態(tài),這意味著它可JVM調(diào)度并執(zhí)行。這并不意味著線程就會立即運行。run()方法可以產(chǎn)生必須退出的標志來停止一就是程序本身;Java中的線程有四種狀態(tài)分別是:運行、就緒、掛起、結束。88synchronized和java.util.concurrent.locks.Lock的異同?【中等難度】答:主要相同點:Lock能完成synchronized所實現(xiàn)的所有功能;主要不同點:Lock有比synchronized更精確的線程語義和更好的性能。synchronizedLock一定要求程finally從句中釋放。89、java中有幾種方法可以實現(xiàn)一個線程?用什么關鍵字修飾同步方法?stopsuspend()方法hredRnnaesynhroized步法;使用stp(,因它安。會除線獲的有定而如對處于nd(susend定此,他何程不能鎖的源除“起的程復行對何程來nd(,應自己的Thrad類置個志,線應活還掛。標志線應該起便用wat(命進等狀。標志線應恢,用一個otiy(重啟線。904個線程,其中兩個線程每次對j增加1,另兩個線程對j每次減少1答:以下程序使用內(nèi)部類實現(xiàn)線程,對j增減的時候沒有考慮順序問題:publicclassTestThread{privateintj;publicTestThread(intj){this.j=j;}privatesynchronizedvoidinc(){System.out.println(j+"--Inc--"+}privatesynchronizedvoiddec(){System.out.println(j+"--Dec--"+}publicvoidrun(){(newnewThread(newInc()).start();(newDec()).start();newThread(new}classDecextendsThread{publicvoidrun(){for(inti=0;i<100;i++){}}}classIncimplementsRunnable{publicvoidrun(){for(inti=0;i<100;}}}publicstaticvoidmain(String[]args){(newTestThread(5)).run();}}IOSocket部分:(55道91java序列化,如何實現(xiàn)java序列化?【基礎】作時所的問題;序列化的實現(xiàn):將需要被序列化的類實現(xiàn)Serializable接口,該接口沒有需實現(xiàn)的方法,implementsSerializable只是為了標注該對象是可被序列化的,然后使用一個輸出流(如FileOutputStreamObjectOutputStreamObjectOutputStream對writeObject(Objectobjobj的對象寫出(即保存其狀態(tài)),要恢復的話則用92、java中有幾種類型的流?JDK為每種類型的流提供了一些抽象類以供繼承,請說出他們分別InputStream、OutputStreamReader、Writer。java.io包中還有許多其他的流,主要是為了提高性能和使用方便。 Filefile=newFile("e:\\總結");File[]files=file.listFiles();for(inti=0;i<files.length;i++){if(files[i].isFile())}Filefile=newFile("e:\\總結");File[]files=file.listFiles();for(inti=0;i<files.length;i++){if(files[i].isDirectory())}File對象,調(diào)用其exsit()方法即可返回是否存在,如:System.out.println(newFile("d:\\t.txt").exists());FileInputStreamfin=newFileInputStream("e:\\tt.txt");byte[]bs=newbyte[100];intlen=fin.read(bs);if(len<=0)break;System.out.print(new}FileWriterfw=newfw.write("oworld!"+System.getProperty("line.separator"));publicintcountWords(Stringfile,Stringfind)throws{intcount=Readerin=newFileReader(file);intc;while((c=in.read())!=-1){while(c==find.charAt(0)){for(inti=1;i<find.length();i++){c=in.read();if(c!=find.charAt(i))if(i==find.length()-1)}}}return}95、JavaJAVASOCKET編程,讀服務器幾個字符,再寫入本地答:Server端程序:packagetest;import.*;importjava.io.*;publicclassServer{privateServerSocketss;privateSocketsocket;privateBufferedReaderin;privatePrintWriterout;publicServer(){tryss=newServerSocket(10000);socket=StringRemoteIPStringRemotePort=":"+socket.getLocalPort();System.out.println("Acomein!IP:"+in=newBufferedReader(newStringline=in.readLine();System.out.println("Cleintsendis:"+line);out=newPrintWriter(socket.getOutputStream(),true);out.println("YourMessageReceived!");}}catch(IOExceptione){}}publicstaticvoidmain(String[]args){newServer();}}端程序:packagetest;importjava.io.*;.*;publicclass{Socketsocket;BufferedReaderin;PrintWriterout;public(){trySystem.out.println("TrytoConnecttosocket=newSystem.out.println("TheServerConnected!");System.out.println("PleaseentersomeCharacter:");BufferedReaderline=newBufferedReader(newout=newPrintWriter(socket.getOutputStream(),true);in=newnewInputStreamReader(socket.getInputStream()));}catch(IOExceptione){}}publicstaticvoidmain(String[]args){new();}}二、OOA/DUML部分:(624道96、UML答:UML97、編程題:寫一個Singleton出來?!净A】答:Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。舉例:定義一個類,它的構造函數(shù)為private的,它有一個staticprivate的該類變量,在類初始化時實例話,通過一個public的getInstance方法獲取對它的,繼而調(diào)用其中的方法。publicclassSingleton{privateSingleton(){}privatestaticSingletoninstance=newSingleton();publicstaticSingletongetInstance(){return}}publicclassSingletonprivatestaticSingletoninstance=publicstaticsynchronizedSingletongetInstance(){if(instance==null)instance=newSingleton();returninstance;}}private的,所有方法為static的。一般認為第一種 的j2ee中的幾種常用模式?及對設計模式的一些看法?!局械入y度答:SessionFacadePattern:使用SessionBeanEntityBean;MessageFacadePattern:實現(xiàn)異步調(diào)用;EJBCommandPattern:使用CommandJavaBeans取代SessionBean,實現(xiàn)輕量級;DataTransferObjectFactoryDTOFactory簡化EntityBean數(shù)據(jù)提供特性;GenericAttributeAccessAttibuteAccess接口簡化EntityBeanBusinessInterface:通過(本地)接口和Bean類實現(xiàn)相同接口規(guī)范業(yè)務邏輯一致性;EJB架構的設計好壞將直接影響系統(tǒng)的性能、可擴展性、可性、組件可99、Java答:Java23種設計模式:Factory(工廠模式),Builder(式),F(xiàn)actory 式),F(xiàn)acade(門面模式),Adapter(適配器模式),Bridge(橋梁模式),Composite(合成模式),Decorator(裝飾模式),F(xiàn)lyweight(享元模式),(模式),Command(命令模式),Interpreter(解釋器模式),Visitor(者模式),I 式),Mediator(調(diào)停者模式),Memento(備忘錄模式),Observer(觀察者模式),State(狀態(tài)模式),Strategy(策略模式),TemteMethod(模板方法模式),ChainOfResponsibleity(責100通過這種方式,你可以無數(shù)次地使用那些已有的解決方案,無需在重復相同的工作。主要用到了MVC的設計模式,用來開發(fā)JSP/Servlet或者J2EE的相關應用;及簡單工廠模式等。三、XML部分:(4112道102、XMLXML文檔有哪幾種方式?【基礎】答:1)兩種形式:dtd以及schema;本質區(qū)別:schemaxml的,可以被XML解析器解析(這也是從DTDschema的DOM,SAX,STAXDOMDOM的樹結構所造成的,這種結構占用的內(nèi)存較多,而且DOM必須在解析文件之前把整個文檔裝入內(nèi)存,適合對XML的隨機;SAX:不同于DOM,SAX是驅動型的XML解析方式。它順序XML文件,不需要一次全部裝載整個文件。當遇到像文件開頭,文檔結束,或者開頭與結束時,它會觸發(fā)一個,用戶通過在其回調(diào)中寫入處理代碼來處理XML文件,適合對XML的順序;STAX:StreamingAPIforXMLStAX103xml技術的哪些方面?如何實現(xiàn)的?答:用到了數(shù)據(jù)存貯,信息配置兩方面。在做數(shù)據(jù)交換,將不能數(shù)據(jù)源的數(shù)據(jù)組裝成XML文件,然后將XML文件壓縮打包加密后通過網(wǎng)絡傳送給接收者,接收與解壓縮后再同XML文件中還XML可以很方便的進行,軟件的各種配置參數(shù)都存貯在XML文件中。104jdom解析xml文件時如何解決中文問題?如何解析?【較難】packagetest;importjava.io.*;publicclassprivateStringinFile="c:\people.xml";privateStringoutFile="c:\people.xml";publicstaticvoidmain(Stringargs[]){newDOMTest();}publicjavax.xml.parsers.Builderbuilder=org.w3c.dom.doc=builder.new();org.w3c.dom.Elementrootdoc.createElement("老師");org.w3c.dom.Elementwang=doc.createElement("王");org.w3c.dom.Elementliu=doc.createElement("劉");javax.xml.transform.Transformertransformer=javax.xml.transform.OutputKeys.INDENT,"yes");new}catch(Exceptione){System.out.println(e.getMessage());}}}105JAVAXML的方式。【較難】答:用SAX方式解析XML,XML文件如下:<?xmlversion="1.0" <name>< </<notes>男,1955年生,博士,95年調(diào)入海南大學 回調(diào)類SAXHandler.javaimportimportjava.util.Hashtable;importorg.xml.sax.*;publicclassSAXHandlerextendsHandlerBase{privateHashtabletable=newHashtable();privateStringcurrenement=null;privateStringcurrentValue=null;publicvoidsetTable(Hashtabletable){this.table=table;}publicHashtablegetTable(){returntable;}publicvoidstarement(Stringtag,Attribuistattrs)throwsSAXException{currenement=}publicvoidcharacters(char[]ch,intstart,intlength)throwsSAXException{currentValue=newString(ch,start,}publicvoidendElement(Stringname)throwsSAXException{if(currenement.equals(name))table.put(currenement,currentValue);}}JSP內(nèi)容顯示源碼<TITLEXML<%@pagecontentType="text/html;charset=GB2312"<%@pageimport="java.io.*"<%@pageimport="java.util.Hashtable"<%@pageimport="org.w3c.dom.*"<%@pageimport="org.xml.sax.*"<%@pageimport="javax.xml.parsers.SAXParserFactory"<%@pageimport="javax.xml.parsers.SAXParser"<%@pageimport="SAXHandler"Filefile=newFile("c:\people.xml");FileReaderreader=newFileReader(file);Parserparser;SAXParserFactoryspf=SAXParserFactory.newInstance();SAXParsersp=spf.newSAXParser();SAXHandlerhandler=newSAXHandler();sp.parse(newInputSource(reader),handler);HashtablehashTable=handler.getTable();out.println("<TABLEBORDER=2><CAPTION>"+out.println("<TR><TD></TD>"+"<TD>"+(String)hashTable.get(newString("name"))out.println("<TR><TD>學院</TDTD>"(String)hashTable.get(new </TD>"+"<TD>"+(String)hashTable.get(newString("ephone"))+out.println("<TR><TD>備注</TDTD>"(String)hashTable.get(new+SQL部分:(431道1063個表(15分鐘)Student學生表(學號,,,,組織部門)Course課程表(編號,課程名稱)Sc選課表(學號,課程編號,成績)寫一個SQL語句,查詢選修了’計算機原理’的學生學號和(3分鐘寫一個SQL語句,查詢’’同學選修了的課程名字(3分鐘寫一個SQL語句,查詢選修了5門課程的學生學號和(9分鐘)答:1)SQL語句如下:selectstu.sno,stu.snamefromStudentwhere(selectcount(*fromscwheresno=stu.snoandcno(selectcnofromCoursewherecname='計算機原理'))!=0;2)SQL語句如下:selectcnamefromwherecnoin(selectcnofromscwheresno=(selectsnofromStudentwheresname=''));3)SQL語句如下:selectstu.sno,stu.snamefromstudentwhere(selectcount(*)fromscwheresno=stu.sno)=107SCSC,學生可以選修多門課程,一門課程可以被多個學生選SC表關聯(lián)。【基礎】SQLSQL5門以上的課程的學生。答:1)建表語句如下(mysql數(shù)據(jù)庫):createtables(idintegerprimarykey,namevarchar(20));createtablec(idintegerprimarykey,namevarchar(20));createtablesc(sidintegerreferencess(id),cidintegerreferencesc(id),primarykey(sid,cid)2)SQLselectstu.id,fromswhere(selectcount(*)fromscwhere(selectcount(*fromc);3)SQL語句如下:selectstu.id,fromswhere(selectcount(*fromscwheresid=stu.id)>=5;IDNAMEAGEMANAGER106A30109B19104C20107D35112E25119F45要求:列出所有比所屬主管大的人的ID和名字?答:SQL語句如下:selectfromtestwhereemployee.age>(selectmanager.agefromtestmanagerwheremanager.id=employee.manager);city:表state:CityNoCityNameStateNoBJ(Null)SHGZ廣州GDDL大連LN到如下結果:NoCityNameStateNoStateName(Null)(Null)LN廣州GD(Null)(Null)寫相SQL語句。答:SQLSELECTC.CITYNO,C.CITYNAME,C.STATENO,S.STATENAMEFROMCITYC,STATESWHEREC.STATENO=S.STATENO(+)ORDERBY(C.CITYNO);五、JDBCHibernate:(12102道110100用戶同時來訪,要采取什么技術解決?【基礎】答:對象關系映射(Object—RelationalMap,簡稱ORM)是一種為了解決面向對象與面向關系數(shù)據(jù)庫存在的互不匹配的現(xiàn)象的技術;簡單的說,ORM是通過使用描述對象和數(shù)據(jù)庫之間映射的元數(shù)據(jù),將java程序中的對象自動持久化到關系數(shù)據(jù)庫中;本質上就是將數(shù)據(jù)從一種形式轉換到另外一種112、Hibernate有哪5個接口?【基礎答:Configuration接口:配置HibernatehibernateSessionFactory對象;SessionFactory接口:初始化Hibernate,充當數(shù)據(jù)源的,創(chuàng)建session對象,sessionFactory是線程安全的,意味著它的同一個實例可以被應用的多個線程共享,是重量級、二級緩存;Session接口:負責保存、更新、刪除、加載和查詢對象,是線程不安全的,避免多個線程共享同session,是輕量級、一級緩存;Transaction接口:管理事務;Query和Criteria接口:執(zhí)行113hibernate:在hibernate中,在配置文件呈標題一對多,多對多的是什么;2)Hibernate的二級緩存是什么;3)Hibernate是如何處理事務的;答:1)一對多的為<one-to-many>;多對多的為<many-to-sessionFactoryhibernateHibernate的事務實際上是底層的JDBCTransaction的封裝或者是JTATransactionJDBCTransaction。GDLNSDNMG內(nèi)114、Hibernate的應用(Hibernate的結構)?【基礎】SessionFactory的對象SessionFactorysessionFactory=newConfiguration().configure().sessionSessionsession=TransactionTransactiontx=session.save(useruserUser類的對象session.delete(user);//刪除session.update(user);Queryquerysession.createQuery(“fromUserListlist=query.list();session,釋放資源session答:MSSQLServerconn=DriverManager.getConnection(“jdbc:conn=DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:sid”,uid,pwd);conn=DriverManager.getConnection(“jdbc:mysql答:Connection類中提供了3個事務處理方法:mit(Booleanmit):設置是否自動提交事務,默認為自動提交事務,即為true,通過設置false自動提交事務;commit():提交118、Java中數(shù)據(jù)庫的步驟?Statement和PreparedStatement之間的區(qū)別答:Java中數(shù)據(jù)庫的步驟如下1)驅動3)Statement;4)sql語句處理結果集(sql語句為查詢語句PreparedStatementSQL語句,通常用于執(zhí)行多次結構相同的SQL語句。119、用你熟悉的語言寫接ORACLE數(shù)據(jù)庫的程序,能夠完成修改和查詢工作?!净A】答:JDBC示例程序如下:publicvoidtestJdbc(){Connectioncon=null;PreparedStatementps=null;ResultSetrs=null;//step1:驅動//step2:獲取數(shù)據(jù)庫連接;//step3:創(chuàng)建Stringsql="SELECTid,fname,lname,age,FROMps=//step4rs=//step5whileSystem.out.print("id="+rs.getLong("id"));System.out.print(",fname="+35頁共59頁System.out.printlnameSystem.out.print(",age="+}/************************JDBC修改*********************/sql="UPDATE_TblSETage=23WHEREid=?";ps=con.prepareStatement(sql);ps.setLong(1,88);introws=ps.executeUpdate();System.out.println(rows+"rowsaffected.");}catch(Exceptione){}finally{con.close}catch(Exceptione1)}}}120、JDBC,Hibernate分頁怎樣實現(xiàn)?【中等難度】HibernateQueryquery=session.createQuery("fromStudent");Collectionstudents=query.list();JDBCsql例如:Oracle中的sql語句為:"SELECT*FROM(SELECTa.*,rownumrFROMTB_STUDENT)WHERErbetween2and10"查詢從記錄號2到記錄號10之間的所有記錄121ORACLEID方法,還有是三層嵌套方法?!局械萯ntintStringpages=request.getParameter("page");intcurrentPage=1;currentPage=(pages==null)?(1):{Integer.parseInt(pages)}sql="

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論