2003級大學物理(II)期末試題_第1頁
2003級大學物理(II)期末試題_第2頁
2003級大學物理(II)期末試題_第3頁
2003級大學物理(II)期末試題_第4頁
2003級大學物理(II)期末試題_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、EJB方面 1、EJB2.0有哪些內容?分別用在什么場合? EJB2.0和EJB1.1的區(qū)別? 答:規(guī)范內容包括Bean提供者,應用程序裝配者,EJB容器,EJB配置工具,EJB服務提供者,系統(tǒng)管理員。這里面,EJB容器是EJB之所以能夠運行的核心。EJB容器管理著EJB的創(chuàng)建,撤消,激活,去活,與數(shù)據(jù)庫的連接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS. 2、EJB與JAVA BEAN的區(qū)別? 答:Java Bean 是可復用的組件,對Java Bean并沒有嚴格的規(guī)范,理論上講,任何一個Java類都可以是一個Bean。但通常情況下,由于Java Bean是

2、被容器所創(chuàng)建(如Tomcat)的,所以Java Bean應具有一個無參的構造器,另外,通常Java Bean還要實現(xiàn)Serializable接口用于實現(xiàn)Bean的持久性。Java Bean實際上相當于微軟COM模型中的本地進程內COM組件,它是不能被跨進程訪問的。Enterprise Java Bean 相當于DCOM,即分布式組件。它是基于Java的遠程方法調用(RMI)技術的,所以EJB可以被遠程訪問(跨進程、跨計算機)。但EJB必須被布署在諸如Webspere、WebLogic這樣的容器中,EJB客戶從不直接訪問真正的EJB組件,而是通過其容器訪問。EJB容器是EJB組件的代理,EJB組

3、件由容器所創(chuàng)建和管理。客戶通過容器來訪問真正的EJB組件。 3、EJB的基本架構 答:一個EJB包括三個部分: Remote Interface 接口的代碼 package Beans; import javax.ejb.EJBObject; import java.rmi.RemoteException; public interface Add extends EJBObject /some method declare Home Interface 接口的代碼 package Beans; import java.rmi.RemoteException; import jaax.ejb.

4、CreateException; import javax.ejb.EJBHome; public interface AddHome extends EJBHome /some method declare EJB類的代碼 package Beans; import java.rmi.RemoteException; import javax.ejb.SessionBean; import javx.ejb.SessionContext; public class AddBean Implements SessionBean /some method declare J2EE,MVC方面 1

5、、MVC的各個部分都有那些技術來實現(xiàn)?如何實現(xiàn)? 答:MVC是ModelViewController的簡寫。Model 代表的是應用的業(yè)務邏輯(通過JavaBean,EJB組件實現(xiàn)), View 是應用的表示面(由JSP頁面產(chǎn)生),Controller 是提供應用的處理過程控制(一般是一個Servlet),通過這種設計模型把應用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進行交互和重用。 2、應用服務器與WEB SERVER的區(qū)別? 希望大家補上,謝謝 3、J2EE是什么? 答:Je22是Sun公司提出的多層(multi-diered),分布式(distributed),基于組件(

6、component-base)的企業(yè)級應用模型(enterpriese application model).在這樣的一個應用系統(tǒng)中,可按照功能劃分為不同的組件,這些組件又可在不同計算機上,并且處于相應的層次(tier)中。所屬層次包括客戶層(clietn tier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。 4、WEB SERVICE名詞解釋。JSWDL開發(fā)包的介紹。JAXP、JAXM的解釋。SOAP、UDDI,WSDL解釋。 答:Web Service描述語言WSDL SOAP即簡單對象訪問協(xié)議(Simple Object Access Protocol),

7、它是用于交換XML編碼信息的輕量級協(xié)議。 UDDI 的目的是為電子商務建立標準;UDDI是一套基于Web的、分布式的、為Web Service提供的、信息注冊中心的實現(xiàn)標準規(guī)范,同時也包含一組使企業(yè)能將自身提供的Web Service注冊,以使別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實現(xiàn)標準。 5、BS與CS的聯(lián)系與區(qū)別。 希望大家補上,謝謝 6、STRUTS的應用(如STRUTS架構) 答:Struts是采用Java Servlet/JavaServer Pages技術,開發(fā)Web應用程序的開放源碼的framework。 采用Struts能開發(fā)出基于MVC(Model-View-Controller)設

8、計模式的應用構架。 Struts有如下的主要功能: 一.包含一個controller servlet,能將用戶的請求發(fā)送到相應的Action對象。 二.JSP自由tag庫,并且在controller servlet中提供關聯(lián)支持,幫助開發(fā)員創(chuàng)建交互式表單應用。 三.提供了一系列實用對象:XML處理、通過Java reflection APIs自動處理JavaBeans屬性、國際化的提示和消息。 設計模式方面 1、開發(fā)中都用到了那些設計模式?用在什么場合? 答:每個模式都描述了一個在我們的環(huán)境中不斷出現(xiàn)的問題,然后描述了該問題的解決方案的核心。通過這種方式,你可以無數(shù)次地使用那些已有的解決方案,

9、無需在重復相同的工作。主要用到了MVC的設計模式。用來開發(fā)JSP/Servlet或者J2EE的相關應用。簡單工廠模式等。 2、UML方面 答:標準建模語言UML。用例圖,靜態(tài)圖(包括類圖、對象圖和包圖),行為圖,交互圖(順序圖,合作圖),實現(xiàn)圖, JavaScript方面 1、如何校驗數(shù)字型? var re=/d1,8$|.d1,2$/; var str=document.form1.all(i).value; var r=str.match(re); if (r=null) sign=-4; break; else document.form1.all(i).value=parseFloat

10、(str); CORBA方面 1、CORBA是什么?用途是什么? 答:CORBA 標準是公共對象請求代理結構(Common Object Request Broker Architecture),由對象管理組織 (Object Management Group,縮寫為 OMG)標準化。它的組成是接口定義語言(IDL), 語言綁定(binding:也譯為聯(lián)編)和允許應用程序間互操作的協(xié)議。 其目的為: 用不同的程序設計語言書寫 在不同的進程中運行 為不同的操作系統(tǒng)開發(fā) LINUX方面 1、LINUX下線程,GDI類的解釋。 答:LINUX實現(xiàn)的就是基于核心輕量級進程的一對一線程模型,一個線程實體

11、對應一個核心輕量級進程,而線程之間的管理在核外函數(shù)庫中實現(xiàn)。 GDI類為圖像設備編程接口類庫。 1、面向對象的三個基本特征 2、方法重載和方法重寫的概念和區(qū)別 3、接口和內部類、抽象類的特性 4、文件讀寫的基本類 *5、串行化的注意事項以及如何實現(xiàn)串行化 6、線程的基本概念、線程的基本狀態(tài)以及狀態(tài)之間的關系 7、線程的同步、如何實現(xiàn)線程的同步 8、幾種常用的數(shù)據(jù)結構及內部實現(xiàn)原理。 9、Socket通信(TCP、UDP區(qū)別及Java實現(xiàn)方式) *10、Java的事件委托機制和垃圾回收機制 11、JDBC調用數(shù)據(jù)庫的基本步驟 *12、解析XML文件的幾種方式和區(qū)別 13、Java四種基本權限的定

12、義 14、Java的國際化 二、JSP 1、至少要能說出7個隱含對象以及他們的區(qū)別 * 2、forward 和redirect的區(qū)別 3、JSP的常用指令 三、servlet 1、什么情況下調用doGet()和doPost()? 2、servlet的init()方法和service()方法的區(qū)別 3、servlet的生命周期 4、如何現(xiàn)實servlet的單線程模式 5、servlet的配置 6、四種會話跟蹤技術 四、EJB *1、EJB容器提供的服務 主要提供聲明周期管理、代碼產(chǎn)生、持續(xù)性管理、安全、事務管理、鎖和并發(fā)行管理等服務。 2、EJB的角色和三個對象 EJB角色主要包括Bean開發(fā)者

13、 應用組裝者 部署者 系統(tǒng)管理員 EJB容器提供者 EJB服務器提供者 三個對象是Remote(Local)接口、Home(LocalHome)接口,Bean類 2、EJB的幾種類型 會話(Session)Bean ,實體(Entity)Bean 消息驅動的(Message Driven)Bean 會話Bean又可分為有狀態(tài)(Stateful)和無狀態(tài)(Stateless)兩種 實體Bean可分為Bean管理的持續(xù)性(BMP)和容器管理的持續(xù)性(CMP)兩種 3、bean 實例的生命周期 對于Stateless Session Bean、Entity Bean、Message Driven B

14、ean一般存在緩沖池管理,而對于Entity Bean和Statefull Session Bean存在Cache管理,通常包含創(chuàng)建實例,設置上下文、創(chuàng)建EJB Object(create)、業(yè)務方法調用、remove等過程,對于存在緩沖池管理的Bean,在create之后實例并不從內存清除,而是采用緩沖池調度機制不斷重用實例,而對于存在Cache管理的Bean則通過激活和去激活機制保持Bean的狀態(tài)并限制內存中實例數(shù)量。 4、激活機制 以Statefull Session Bean 為例:其Cache大小決定了內存中可以同時存在的Bean實例的數(shù)量,根據(jù)MRU或NRU算法,實例在激活和去激活

15、狀態(tài)之間遷移,激活機制是當客戶端調用某個EJB實例業(yè)務方法時,如果對應EJB Object發(fā)現(xiàn)自己沒有綁定對應的Bean實例則從其去激活Bean存儲中(通過序列化機制存儲實例)回復(激活)此實例。狀態(tài)變遷前會調用對應的ejbActive和ejbPassivate方法。 5、remote接口和home接口主要作用 remote接口定義了業(yè)務方法,用于EJB客戶端調用業(yè)務方法 home接口是EJB工廠用于創(chuàng)建和移除查找EJB實例 6、客服端調用EJB對象的幾個基本步驟 一、 設置JNDI服務工廠以及JNDI服務地址系統(tǒng)屬性 二、 查找Home接口 三、 從Home接口調用Create方法創(chuàng)建Rem

16、ote接口 四、 通過Remote接口調用其業(yè)務方法 五、數(shù)據(jù)庫 1、存儲過程的編寫 2、基本的SQL語句 六、weblogic 1、 如何給weblogic指定大小的內存? 在啟動Weblogic的腳本中(位于所在Domian對應服務器目錄下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以調整最小內存為32M,最大200M 2、 如何設定的weblogic的熱啟動模式(開發(fā)模式)與產(chǎn)品發(fā)布模式? 可以在管理控制臺中修改對應服務器的啟動模式為開發(fā)或產(chǎn)品模式之一。或者修改服務的啟動文件或者commenv文件,增加set PRODUCTION

17、_MODE=true。 3、 如何啟動時不需輸入用戶名與密碼? 修改服務啟動文件,增加 WLS_USER和WLS_PW項。也可以在perties文件中增加加密過的用戶名和密碼. 4、 在weblogic管理制臺中對一個應用域(或者說是一個網(wǎng)站,Domain)進行jms及ejb或連接池等相關信息進行配置后,實際保存在什么文件中? 保存在此Domain的config.xml文件中,它是服務器的核心配置文件。 5、 說說weblogic中一個Domain的缺省目錄結構?比如要將一個簡單的helloWorld.jsp放入何目錄下,然的在瀏覽器上就可打入http:/主機:端口號/hell

18、oword.jsp就可以看到運行結果了? 又比如這其中用到了一個自己寫的javaBean該如何辦? Domain目錄服務器目錄applications,將應用目錄放在此目錄下將可以作為應用訪問,如果是Web應用,應用目錄需要滿足Web應用目錄要求,jsp文件可以直接放在應用目錄中,Javabean需要放在應用目錄的WEB-INF目錄的classes目錄中,設置服務器的缺省應用將可以實現(xiàn)在瀏覽器上無需輸入應用名。 6、 如何查看在weblogic中已經(jīng)發(fā)布的EJB? 可以使用管理控制臺,在它的Deployment中可以查看所有已發(fā)布的EJB 7、 如何在weblogic中進行ssl配置與客戶端的

19、認證配置或說說j2ee(標準)進行ssl的配置 缺省安裝中使用DemoIdentity.jks和DemoTrust.jks KeyStore實現(xiàn)SSL,需要配置服務器使用Enable SSL,配置其端口,在產(chǎn)品模式下需要從CA獲取私有密鑰和數(shù)字證書,創(chuàng)建identity和trust keystore,裝載獲得的密鑰和數(shù)字證書??梢耘渲么薙SL連接是單向還是雙向的。 8、在weblogic中發(fā)布ejb需涉及到哪些配置文件 不同類型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP實體Bean一般還需要weblogic-cmp-

20、rdbms-jar.xml 9、EJB需直接實現(xiàn)它的業(yè)務接口或Home接口嗎,請簡述理由. 遠程接口和Home接口不需要直接實現(xiàn),他們的實現(xiàn)代碼是由服務器產(chǎn)生的,程序運行中對應實現(xiàn)類會作為對應接口類型的實例被使用。 10、說說在weblogic中開發(fā)消息Bean時的persistent與non-persisten的差別 persistent方式的MDB可以保證消息傳遞的可靠性,也就是如果EJB容器出現(xiàn)問題而JMS服務器依然會將消息在此MDB可用的時候發(fā)送過來,而nonpersistent方式的消息將被丟棄。 11、說說你所熟悉或聽說過的j2ee中的幾種常用模式?及對設計模式的一些看法 Sess

21、ion Facade Pattern:使用SessionBean訪問EntityBean Message Facade Pattern:實現(xiàn)異步調用 EJB Command Pattern:使用Command JavaBeans取代SessionBean,實現(xiàn)輕量級訪問 Data Transfer Object Factory:通過DTO Factory簡化EntityBean數(shù)據(jù)提供特性 Generic Attribute Access:通過AttibuteAccess接口簡化EntityBean數(shù)據(jù)提供特性 Business Interface:通過遠程(本地)接口和Bean類實現(xiàn)相同接口

22、規(guī)范業(yè)務邏輯一致性 EJB架構的設計好壞將直接影響系統(tǒng)的性能、可擴展性、可維護性、組件可重用性及開發(fā)效率。項目越復雜,項目隊伍越龐大則越能體現(xiàn)良好設計的重要性 from java-cn本貼來自ZDNetChina中文社區(qū) ,本貼地址:/viewthread.php?tid=11274322,ArrayList和Vector的區(qū)別,HashMap和Hashtable的區(qū)別答:就ArrayList與Vector主要從二方面來說. 一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線

23、程序不安全的,不是同步的 二.數(shù)據(jù)增長:當需要增長時,Vector默認增長為原來一培,而ArrayList卻是原來的一半 就HashMap與HashTable主要從三方面來說。 一.歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現(xiàn) 二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的 三.值:只有HashMap可以讓你將空值作為一個表的條目的key或value 3,char型變量能不能定義為一個中文?為什么?答:是能夠定義成為一個中文的,因為java中以unicod

24、e編碼,一個char占16個字節(jié),所以放一個中文是沒問題的4,多線程有幾種表示方法,都是什么?同步有幾種實現(xiàn)方法,都是什么?答:多線程有兩種實現(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; imp

25、ort test.FatherClass; public class ChildClass extends 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 C

26、hildClass Create 6,內部類的實現(xiàn)方式?答:示例代碼如下: package test; public 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

27、 oc = new OuterClass(); 輸出結果: C:java test/OuterClass 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 pub

28、lic static double methoda() return d1; B. public class 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)內部類可以有靜態(tài)成員,而非

29、靜態(tài)內部類則不能有靜態(tài)成員。 故 A、B 錯 二.靜態(tài)內部類的非靜態(tài)成員可以訪問外部類的靜態(tài)變量,而不可訪問外部類的非靜態(tài)變量;return d1 出錯。 故 D 錯 三.非靜態(tài)內部類的非靜態(tài)成員可以訪問外部類的非靜態(tài)變量。 故 C 正確 四.答案為C、E 7,垃圾回收機制,如何優(yōu)化程序?8,float型float f=3.4是否正確?答:不正確。精度不準確,應該用強制類型轉換,如下所示:float f=(float)3.4 9、介紹JAVA中的Collection FrameWork(包括如何寫自己的數(shù)據(jù)結構)? 答:Collection FrameWork如下: Collection Li

30、st LinkedList ArrayList Vector Stack Set Map Hashtable HashMap WeakHashMap Collection是最基本的集合接口,一個Collection代表一組Object,即Collection的元素(Elements) Map提供key到value的映射 10、Java中異常處理機制,事件機制? 答:使用New操作創(chuàng)建對象后,JAVA虛擬機自動該對象分配內存并保持跟蹤,JAVA虛擬機能判斷出對象是否還被引用,對不再被引用的對象釋放其占用的內存.11、JAVA中的多形與繼承? 希望大家補上,謝謝 12、抽象類與接口? 答:抽象類與

31、接口都用于抽象,但是抽象類(JAVA中)可以有自己的部分實現(xiàn),而接口則完全是一個標識(同時有多重繼承的功能)。 13、Java 的通信編程,編程題(或問答),用JAVA SOCKET編程,讀服務器幾個字符,再寫入本地顯示? 答:Server端程序: package test; import .*; import java.io.*; public class Server private ServerSocket ss; private Socket socket; private BufferedReader in; private PrintWriter out; publ

32、ic 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 = new BufferedReader(new InputStreamReader(socket.ge

33、tInputStream(); 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.println(wrong); public static void main(String args)

34、 JAVA面試題集 基礎知識: 1.C+或Java中的異常處理機制的簡單原理和應用。 當JAVA程序違反了JAVA的語義規(guī)則時,JAVA虛擬機就會將發(fā)生的錯誤表示為一個異常。違反語義規(guī)則包括2種情況。一種是JAVA類庫內置的語義檢查。例如數(shù)組下標越界,會引發(fā)IndexOutOfBoundsException;訪問null的對象時會引發(fā)NullPointerException。另一種情況就是JAVA允許程序員擴展這種語義檢查,程序員可以創(chuàng)建自己的異常,并自由選擇在何時用throw關鍵字引發(fā)異常。所有的異常都是java.lang.Thowable的子類。 2. Java的接口和C+的虛類的相同和不

35、同處。 由于Java不支持多繼承,而有可能某個類或對象要使用分別在幾個類或對象里面的方法或屬性,現(xiàn)有的單繼承機制就不能滿足要求。與繼承相比,接口有更高的靈活性,因為接口中沒有任何實現(xiàn)代碼。當一個類實現(xiàn)了接口以后,該類要實現(xiàn)接口里面所有的方法和屬性,并且接口里面的屬性在默認狀態(tài)下面都是public static,所有方法默認情況下是public.一個類可以實現(xiàn)多個接口。 3. 垃圾回收的優(yōu)點和原理。并考慮2種回收機制。 Java語言中一個顯著的特點就是引入了垃圾回收機制,使c+程序員最頭疼的內存管理的問題迎刃而解,它使得Java程序員在編寫程序的時候不再需要考慮內存管理。由于有個垃圾回收機制,J

36、ava中的對象不再有“作用域”的概念,只有對象的引用才有“作用域”。垃圾回收可以有效的防止內存泄露,有效的使用可以使用的內存。垃圾回收器通常是作為一個單獨的低級別的線程運行,不可預知的情況下對內存堆中已經(jīng)死亡的或者長時間沒有使用的對象進行清楚和回收,程序員不能實時的調用垃圾回收器對某個對象或所有對象進行垃圾回收?;厥諜C制有分代復制垃圾回收和標記垃圾回收,增量垃圾回收。 4. 請說出你所知道的線程同步的方法。 wait():使一個線程處于等待狀態(tài),并且釋放所持有的對象的lock。 sleep():使一個正在運行的線程處于睡眠狀態(tài),是一個靜態(tài)方法,調用此方法要捕捉InterruptedExcept

37、ion異常。 notify():喚醒一個處于等待狀態(tài)的線程,注意的是在調用此方法的時候,并不能確切的喚醒某一個等待狀態(tài)的線程,而是由JVM確定喚醒哪個線程,而且不是按優(yōu)先級。 Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個對象的鎖,而是讓它們競爭。 5. 請講一講析構函數(shù)和虛函數(shù)的用法和作用。 6. Error與Exception有什么區(qū)別? Error表示系統(tǒng)級的錯誤和程序不必處理的異常, Exception表示需要捕捉或者需要程序進行處理的異常。 7. 在java中一個類被聲明為final類型,表示了什么意思? 表示該類不能被繼承,是頂級類。 8. 描述一

38、下你最常用的編程風格。 9. heap和stack有什么區(qū)別。 棧是一種線形集合,其添加和刪除元素的操作應在同一段完成。棧按照后進先出的方式進行處理。 堆是棧的一個組成元素 10. 如果系統(tǒng)要使用超大整數(shù)(超過long長度范圍),請你設計一個數(shù)據(jù)結構來存儲這種超大型數(shù)字以及設計一種算法來實現(xiàn)超大整數(shù)加法運算)。 public class BigInt() int ArrOne = new ArrOne1000; String intString=; public int Arr(String s) intString = s; for(int i=0;i 0); / throws an Ass

39、ertionerror if a = 0 斷言可以有兩種形式: assert Expression1 ; assert Expression1 : Expression2 ; Expression1 應該總是產(chǎn)生一個布爾值。 Expression2 可以是得出一個值的任意表達式。這個值用于生成顯示更多調試信息的 String 消息。 斷言在默認情況下是禁用的。要在編譯時啟用斷言,需要使用 source 1.4 標記: javac -source 1.4 Test.java 要在運行時啟用斷言,可使用 -enableassertions 或者 -ea 標記。 要在運行時選擇禁用斷言,可使用 -d

40、a 或者 -disableassertions 標記。 要系統(tǒng)類中啟用斷言,可使用 -esa 或者 -dsa 標記。還可以在包的基礎上啟用或者禁用斷言。 可以在預計正常情況下不會到達的任何位置上放置斷言。斷言可以用于驗證傳遞給私有方法的參數(shù)。不過,斷言不應該用于驗證傳遞給公有方法的參數(shù),因為不管是否啟用了斷言,公有方法都必須檢查其參數(shù)。不過,既可以在公有方法中,也可以在非公有方法中利用斷言測試后置條件。另外,斷言不應該以任何方式改變程序的狀態(tài)。 18,GC是什么? 為什么要有GC? (基礎)。 GC是垃圾收集器。Java 程序員不用擔心內存管理,因為垃圾收集器會自動進行管理。要請求垃圾收集,可

41、以調用下面的方法之一: System.gc() Runtime.getRuntime().gc() 19,String s = new String(xyz);創(chuàng)建了幾個String Object? 兩個對象,一個是“xyx”,一個是指向“xyx”的引用對象s。 20,Math.round(11.5)等於多少? Math.round(-11.5)等於多少? Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11; 21,short s1 = 1; s1 = s1 + 1;有什么錯? short s1 = 1; s1 += 1;有什么錯?

42、short s1 = 1; s1 = s1 + 1;有錯,s1是short型,s1+1是int型,不能顯式轉化為short型??尚薷臑閟1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正確。 22,sleep() 和 wait() 有什么區(qū)別? 搞線程的最愛 sleep()方法是使線程停止一段時間的方法。在sleep 時間間隔期滿后,線程不一定立即恢復執(zhí)行。這是因為在那個時刻,其它線程可能正在運行而且沒有被調度為放棄執(zhí)行,除非(a)“醒來”的線程具有更高的優(yōu)先級 (b)正在運行的線程因為其它原因而阻塞。 wait()是線程交互時,如果線程對一個同步對象x 發(fā)出

43、一個wait()調用,該線程會暫停執(zhí)行,被調對象進入等待狀態(tài),直到被喚醒或等待時間到。 23,Java有沒有goto? Goto?java中的保留字,現(xiàn)在沒有在java中使用。 24,數(shù)組有沒有l(wèi)ength()這個方法? String有沒有l(wèi)ength()這個方法? 數(shù)組沒有l(wèi)ength()這個方法,有l(wèi)ength的屬性。 String有有l(wèi)ength()這個方法。 25,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型? 方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多

44、態(tài)性的一種表現(xiàn),重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。 26,Set里的元素是不能重復的,那么用什么方法來區(qū)分重復與否呢? 是用=還是equals()? 它們有何區(qū)別? Set里的元素是不能重復的,那么用iterator()方法來

45、區(qū)分重復與否。equals()是判讀兩個Set是否相等。 equals()和=方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值。 27,給我一個你最常見到的runtime exception。 ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, Co

46、ncurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, Nul

47、lPointerException, ProfileDataException, ProviderException, RasterFORMatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException 28,error和exception有什么區(qū)別? error 表示恢復不是不可能但很困難的情況下的一種嚴重問題。比如說內存溢出。不可能指望程序能處理這樣的情況。 exception 表示一種

48、設計或實現(xiàn)問題。也就是說,它表示如果程序運行正常,從不會發(fā)生的情況。 29,List, Set, Map是否繼承自Collection接口? List,Set是 Map不是 30,abstract class和interface有什么區(qū)別? 聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類(abstract class),它用于要創(chuàng)建一個體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實例。然而可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提

49、供實現(xiàn),否則它們也是抽象類為。取而代之,在子類中實現(xiàn)該方法。知道其行為的其它類可以在類中實現(xiàn)這些方法。 接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義static final成員變量。接口的實現(xiàn)與子類相似,除了該實現(xiàn)類不能從接口定義中繼承行為。當類實現(xiàn)特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實現(xiàn)了該接口的類的任何對象上調用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動態(tài)聯(lián)編將生效。引用可以轉換到接口類型或從接口類型轉換,instanceof 運算符可以用來決定

溫馨提示

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

最新文檔

評論

0/150

提交評論