版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1+2+3+100構(gòu)建一個(gè)函數(shù)。(易)
答案:
publicintSum(intn)
(
if(n==1)
return1;
else
returnn+Sum(n-1);
)
2、描述冒泡算法。(易)
答案:
基本思緒:對尚未排序的各元素從頭到尾依次比較相鄰的兩個(gè)元素是否逆序(與
欲排順序相反),若逆序就互換這兩元素,通過第一輪比較排序后便可把最大(或最
?。┑脑嘏藕?,然后再用同樣的方法把剩下的元素逐個(gè)進(jìn)行比較,就得到了你所
要的順序??梢钥闯黾偃缬衝個(gè)元素,那么一共要進(jìn)行n-1輪比較,第i輪要進(jìn)
行j=n-i次比較。(如:有5個(gè)元素,則要進(jìn)行5-1輪比較。第3輪則要進(jìn)行5-3次
比較)
3、堆和棧的區(qū)別?。y)
答案:
二、堆和棧的理論知識
申請方式
堆:
由系統(tǒng)自動分派。例如,聲明在函數(shù)中一個(gè)局部變量intb;系統(tǒng)自動在棧中為
b開辟空間
棧:
需要程序員自己申請,并指明大小,在c中malloc函數(shù)
申請后系統(tǒng)的響應(yīng)
棧:只要棧的剩余空間大于所申請空間,系統(tǒng)將為程序提供內(nèi)存,否則將報(bào)異常
提醒棧溢出。
堆:一方面應(yīng)當(dāng)知道操作系統(tǒng)有一個(gè)記錄空閑內(nèi)存地址的鏈表,當(dāng)系統(tǒng)收到程序
的申請時(shí),
申請大小的限制
棧:在Windows下,棧是向低地址擴(kuò)展的數(shù)據(jù)結(jié)構(gòu),是一塊連續(xù)的內(nèi)存的區(qū)域。
這句話的意思是棧頂?shù)牡刂泛蜅5淖畲笕萘渴窍到y(tǒng)預(yù)先規(guī)定好的,在
WINDOWS下,棧的大小是2M(也有的說是1M,總之是一個(gè)編譯時(shí)就擬定的
常數(shù)),假如申請的空間超過棧的剩余空間時(shí),將提醒overflowo因此,能從棧
獲得的空間較小。
堆:堆是向高地址擴(kuò)展的數(shù)據(jù)結(jié)構(gòu),是不連續(xù)的內(nèi)存區(qū)域。這是由于系統(tǒng)是用鏈
表來存儲的空閑內(nèi)存地址的,自然是不連續(xù)的,而鏈表的遍歷方向是由低地址向
高地址。堆的大小受限于計(jì)算機(jī)系統(tǒng)中有效的虛擬內(nèi)存。由此可見,堆獲得的空
間比較靈活,也比較大。
申請效率的比較:
棧由系統(tǒng)自動分派,速度較快。但程序員是無法控制的。
堆是由new分派的內(nèi)存,一般速度比較慢,并且容易產(chǎn)生內(nèi)存碎片,但是用起來
最方便.
堆和棧中的存儲內(nèi)容
棧:在函數(shù)調(diào)用時(shí),第一個(gè)進(jìn)棧的是主函數(shù)中后的下一條指令(函數(shù)調(diào)用語句
的下一條可執(zhí)行語句)的地址,然后是函數(shù)的各個(gè)參數(shù),在大多數(shù)的C編譯器
中,參數(shù)是由右往左入棧的,然后是函數(shù)中的局部變量。注意靜態(tài)變量是不入棧
的。
小結(jié):
堆和棧的區(qū)別可以用如下的比方來看出:
使用棧就象我們?nèi)ワ堭^里吃飯,只管點(diǎn)菜(發(fā)出申請)、付錢、和吃(使用),吃
飽了就走,不必理睬切菜、洗菜等準(zhǔn)備工作和洗碗、刷鍋等掃尾工作,他的好處
是快捷,但是自由度小。
使用堆就象是自己動手做喜歡吃的菜肴,比較麻煩,但是比較符合自己的口味,
并且自由度大。
4、用單利模式構(gòu)建一個(gè)類(中)
答案:
publicclassSingletonTest{
privatestaticSingletonTestinstance;
privateSingletonTest(){}
publicstaticSingletonTestgetlnstance(){
if(instance==null){
instance=newSingletonTest。;}
returninstance;
5、索引是如何來提高搜索速度的?。y)
答案:
使用索引可快速訪問數(shù)據(jù)庫表中的特定信息。索引是對數(shù)據(jù)庫表中一列或多列的
值進(jìn)行排序的一種結(jié)構(gòu),例如employee表的姓(Iname)歹假如要按姓查找
特定職工,與必須搜索表中的所有行相比,索引會幫助您更快地獲得該信息。
索引是一個(gè)單獨(dú)的、物理的數(shù)據(jù)庫結(jié)構(gòu),它是某個(gè)表中一列或若干列值的集
合和相應(yīng)的指向表中物理標(biāo)記這些值的數(shù)據(jù)頁的邏輯指針清單。
索引提供指向存儲在表的指定列中的數(shù)據(jù)值的指針,然后根據(jù)您指定的排序
順序?qū)@些指針排序。數(shù)據(jù)庫使用索引的方式與您使用書籍中的索引的方式很相
似:它搜索索引以找到特定值,然后順指針找到包含該值的行。
6、畫一個(gè)項(xiàng)目的體系結(jié)構(gòu)圖。(難)
答案:
Browser*1Server*1
WEBLayerBusinessLayerPersistentLayer”
(Struts)
Action*,_
Spring*'
Form”
1,對MVC的理解?(中)
答案:
MVC是Model-View-Controller的縮寫?!癕odel”代表的是應(yīng)用的業(yè)務(wù)邏輯(通過
JavaBean,EJB組件實(shí)現(xiàn)),"View”是應(yīng)用的表達(dá)面,用于與用戶的交互(由JSP頁
面產(chǎn)生)?!癈ontroller”是提供應(yīng)用的解決過程控制(一般是??個(gè)SERVLET)通過這種設(shè)計(jì)
模型所應(yīng)用邏輯解決過程和顯示邏輯提成不同的組件實(shí)現(xiàn)這些組件可以進(jìn)行交互和重用
MODEL層實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯VIEW層用于與用戶的交互Controller層是Model與View
之間溝通的橋梁,可以分派用戶的請求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時(shí)它也可以解釋用
戶的輸入并將它們映射、為模型層可執(zhí)行的操作
2.抽象類和接口的區(qū)別?(中)
答案:
接口是公開的,不能包含私有的方法或變量,而抽象類是可以有私有方法或私有變量的,
實(shí)現(xiàn)接口的一定要實(shí)現(xiàn)接口里定義的所有方法,而實(shí)現(xiàn)抽象類可以有選擇地重寫需要用到的
方法,
接口可以實(shí)現(xiàn)多重繼承,而一個(gè)類只能繼承一個(gè)超類,但可以通過繼承多個(gè)接口實(shí)現(xiàn)多重繼
承,
接口尚有標(biāo)記(里面沒有任何方法,如Remoie接口)和數(shù)據(jù)共享(里面的變量全是常量)
的作用.
一般的應(yīng)用里,最頂級的是接口,然后是抽象類實(shí)現(xiàn)接口,最后才到具體類實(shí)現(xiàn)。
3.同步和異步有何異同,在什么情況下分別使用它們?(難)
答案:
通俗版:
舉個(gè)例子:普通B/S模式(同步)AJAX技術(shù)(異步)
同步:提交請求,等待服務(wù)器解決。解決完畢返回這個(gè)期間客戶端瀏覽器不能干任何事
異步:請求通過事件觸發(fā),服務(wù)器解決(這是瀏覽器仍然可以作其他事情),解決完畢
同步就是你叫我去吃飯,我聽到了就和你去吃飯:假如沒有聽到,你就不斷的叫,直到我告
訴你聽到了,才一起去吃飯。
異步就是你叫我,然后自己去吃飯,我得到消息后也許立即走,也也許等到下班才去吃飯。
所以,要我請你吃飯就用同步的方法,要請我吃飯就用異步的方法,這樣你可以省錢。
舉個(gè)例子打電話時(shí)同步發(fā)消息是異步
綜述版:
異步通信”是一種很常用的通信方式。異步通信在發(fā)送字符時(shí),所發(fā)送的字符之間的時(shí)間間
隔可以是任意的。當(dāng)然,接受端必須時(shí)刻做好接受的準(zhǔn)備(假如接受端主機(jī)的電源都沒有加
上,那么發(fā)送端發(fā)送字符就沒故意義,由于接受端主線無法接受)。發(fā)送端可以在任意時(shí)刻
開始發(fā)送字符,因此必須在每一個(gè)字符的開始和結(jié)束的地方加上標(biāo)志,即加上開始位和停止
位,以便使接受端可以對的地將每一個(gè)字符接受下來。異步通信的好處是通信設(shè)備簡樸、便
宜,但傳輸效率較低(由于開始位和停止位的開銷所占比例較大)。
異步通信也可以是以幀作為發(fā)送的單位。接受端必須隨時(shí)做好接受幀的準(zhǔn)備。這是,幀的首
部必須設(shè)有一些特殊的比特組合,使得接受端可以找出一幀的開始。這也稱為幀定界。幀定
界還包含擬定幀的結(jié)束位置。這有兩種方法。一?種是在幀的尾部設(shè)有某種特殊的比特組合來
標(biāo)志幀的結(jié)束。或者在幀首部中設(shè)有幀長度的字段。需要注意的是,在異步發(fā)送幀時(shí),并不
是說發(fā)送端對幀中的每一個(gè)字符都必須加上開始位和停止位后再發(fā)送出去,而是說,發(fā)送端
可以在任意時(shí)間發(fā)送一個(gè)幀,而幀與幀之間的時(shí)間間隔也可以是任意的。在一幀中的所有比
特是連續(xù)發(fā)送的。發(fā)送端不需要在發(fā)送一幀之前和接受端進(jìn)行協(xié)調(diào)(不需要先進(jìn)行比特同
步,每個(gè)字符開始發(fā)送的時(shí)間可以是任意的100110110起始位結(jié)束位I每個(gè)幀開始發(fā)送
的時(shí)間可以是任意的以字符為單位發(fā)送以幀為單位發(fā)送幀開始幀結(jié)束
“同步通信”的通信雙方必須先建立同步,即雙方的時(shí)鐘要調(diào)整到同一個(gè)頻率。收發(fā)雙方不
斷地發(fā)送和接受連續(xù)的同步比特流。但這時(shí)尚有兩種不同的同步方式。一種是使用全網(wǎng)同步,
用一個(gè)非常精確的主時(shí)鐘對全網(wǎng)所有結(jié)點(diǎn)上的時(shí)鐘進(jìn)行同步。另一種是使用準(zhǔn)同步,各結(jié)點(diǎn)
的時(shí)鐘之間允許有微小的誤差,然后采用其他措施實(shí)現(xiàn)同步傳輸。
串口進(jìn)行通信的方式有兩種:同步通信方式和異步通信方式。同步通信方式規(guī)定通信雙方以
相同的時(shí)鐘頻率進(jìn)行,并且準(zhǔn)確協(xié)調(diào),通過共享一個(gè)單個(gè)時(shí)鐘或定期脈沖源保證發(fā)送方和接
受方的準(zhǔn)確同步,效率較高;異步通信方式不規(guī)定雙方同步,收發(fā)方可采用各自的時(shí)鐘源,
雙方遵循異步的通信協(xié)議,以字符為數(shù)據(jù)傳輸單位,發(fā)送方傳送字符的時(shí)間間隔不擬定,發(fā)
送效率比同步傳送效率低。
4.說說你所熟悉或聽說過的J2EE中的幾種常用模式,及對設(shè)計(jì)模式的見解(中)
答案:
工廠模式、單例模式、代理模式、門面模式等
設(shè)計(jì)模式就是解決某一類問題的方法論
5.servlet的生命周期(中)
答案:
實(shí)例化今初始化今服務(wù)今銷毀
6.連接相數(shù)據(jù)庫的幾中方式(中)
答案:
直連
橋連
JNDI
7.Strings=newString(“abc");倉“建了幾個(gè)對象?(易)
兩個(gè),一個(gè)是“abc",一個(gè)是指向“abc”的引用
北京分形科技有限公司的筆試題目
選擇題:
1.下列是類和對象關(guān)系得是(B)(易)
A.蘋果和橘子B.水果和蘋果
C.水果和水果刀D.蘋果和水果刀
2.Inti=O;i=i++;執(zhí)行這2句話后變量i的值為(A)(難)
A.0B.1C.2D.3
程序題
一、.如何用2個(gè)棧實(shí)現(xiàn)隊(duì)列(難)
隊(duì)列的規(guī)定是先進(jìn)先出,用兩個(gè)??梢院苋菀椎膶?shí)現(xiàn)
假設(shè)其中一個(gè)棧為S1,另一個(gè)為S2
1.入隊(duì):將元素放入S1中,S2始終為空
2.出隊(duì):
1).一方面將S1中的元素所有導(dǎo)入S2的棧中,清空S1,
2).然后再將S2棧頂元素出棧,保存下來,
3).將s2剩余元素導(dǎo)入s1中,恢豆數(shù)據(jù)原有順序,就可以了
二、用遞歸實(shí)現(xiàn)任意一個(gè)數(shù)的階乘(中)
publicclasstest
(
publicstaticvoidmain(String[]args)
(
System.out.println(fuc(100));
}
publicstaticdoublefuc(intn)
jf(n==1)return1;
elsereturnn*fuc(n-1);
}
}
三、使用遞歸檢索指定文獻(xiàn)夾中的資源(難)
packagecom.accp;
importjava.io.File;
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
publicclassRecursive{
privatestaticListfileList=newArrayList();
/**
*使用遞歸搜索指定文獻(xiàn)夾中的資源
*
*@parampath
*要搜索的文獻(xiàn)目錄
*?return包含文獻(xiàn)途徑的列表
*/
publicstaticListsearchFile(Stringpath){
try{
//ListfileList=newArrayList();
Filedir=newFile(path);
File[]files=dir.listFiles();
if(files==null){
returnnull;
)
for(inti=0;i<files.length;i++){
if(files[i].isDirectory()){
fileList.add(files[i].gctAbsolutePath());
searchFile(files[i].getAbsolutePath());
}else{
StringstrFileName=files[i].getAbsolutePath()
.toLx)werCase();
fileList.add(files[i].getAbsolutePath());
I
}
returnfileList;
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
returnnull;
)
}
publicstaticvoidmain(String[]args){
Stringpath="c:\\java";
longstart=Systcm.currcntTimcMillisO;
Recursiver=newRecursive。;
Listfiles=r.searchFile(path);
System.out.println("共有文獻(xiàn)數(shù)量:"+files.size());
System.out.print("總共用時(shí):");
System.out.prin(ln(System.curren(TimeMillis()-start);
Iteratori=files.iterator();
while(i.hasNex(O){
System.out.println(i.ncxtO);
}
四、編寫一個(gè)程序,它先將鍵盤上輸入的一個(gè)字符串轉(zhuǎn)換成十進(jìn)制整數(shù),然后打印出這個(gè)十
進(jìn)制整數(shù)相應(yīng)的二進(jìn)制形式。這個(gè)程序要考慮輸入的字符串不能轉(zhuǎn)換成一個(gè)十進(jìn)制整數(shù)的情
況,并對轉(zhuǎn)換失敗的因素要區(qū)分出是數(shù)字太大,還是其中包具有非數(shù)字字符的情況。(難)
importjava.io.*;
publicclassDicemal
{
publicstaticvoidmain(String[]args)throwsException
(
intshang=0,yu;
booleanflag=false;
System.out.printin("請輸入一個(gè)數(shù)字(最大值為<"+Inleger.MAX_VALUE+"):*):
InputStreamis=System,in;
InputStreamReaderisr=newInputStreamReader(is):
BufferedReaderbr=newBufferedReader(isr);
Stringstr=br.readLineO;
char[]ch=newchar[str.length()];
str.gctChars(O,str.length(),ch,0);
for(inta=0;a<str.length();a++)
(
if(JCharacter.isDigit(ch[a]))
(
System,out.printin("有非數(shù)字字符");
System.exit(0);
)
)
try
(
shang=Integer.parselnt(str);
flag=true;
)
catch(Exceptione)
(
System.out.printin("數(shù)字過大”);
)
str=**;
if(flag)
while(shang!=0)
yu=shang%2;
shang=shang/2:
str=yu+str;
}
}
System,out.println(str):
}
}
1.請寫出你知道的JAVA開源軟件,并用一句話說明其功能。(中)
答:StrutsWEB框架
SpringIOC/AOP框架
HibernateORM框架
DWRajax框架
Log4j日記調(diào)試
Validator驗(yàn)證框架
2.構(gòu)建工具Ant使用的缺省xml文獻(xiàn)名是?(中)
答:Build.xml
3.簡述什么是SOA。(難)
答:
面向服務(wù)的體系結(jié)構(gòu)(Service-OrientedArchitecture,SOA)是一個(gè)組件模型,它將應(yīng)用
程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口
是采用中立的方式進(jìn)行定義的,它應(yīng)當(dāng)獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。
這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以一種統(tǒng)一和通用的方式進(jìn)行交互。
4.XML在JAVA中有那些解析方法。(難)
D0M/SAX
5.WAR包中的jar一般是放在哪個(gè)目錄下?(難)
答:lib
6.簡述Junit和單元測試的作用?(中)
答:檢查程序和預(yù)期設(shè)計(jì)的是否一致.
7.什么是工作流?(難)
答:
工作流(WorkFlow)就是工作流程的計(jì)算模型,即將工作流程中的工作如何前后組織在一
起的邏輯和規(guī)則在計(jì)算機(jī)中以恰當(dāng)?shù)哪P瓦M(jìn)行表達(dá)并對其實(shí)行計(jì)算。工作流要解決的重要問
題是:為實(shí)現(xiàn)某個(gè)業(yè)務(wù)目的,在多個(gè)參與者之間,運(yùn)用計(jì)算機(jī),按某種預(yù)定規(guī)則自幼傳遞文
檔、信息或者任務(wù)。簡樸地說,工作流就是一系列互相銜接、自動進(jìn)行的業(yè)務(wù)活動或任務(wù)。
我們可以將整個(gè)業(yè)務(wù)過程看作是一條河,其中流過的河水就是工作流。
工作流屬于計(jì)算機(jī)支持的協(xié)同工作(ComputerSupportedCooperativeWork,CSCW)
的一部分。后者是普遍地研究一個(gè)群體如何在計(jì)算機(jī)的幫助下實(shí)現(xiàn)協(xié)同工作的。
許多公司采用紙張表單,手工傳遞的方式,一級一級審批簽字,工作效率非常低下,對
于記錄報(bào)表功能則不能實(shí)現(xiàn)。而采用工作流軟件,使用者只需在電腦上填寫有關(guān)表單,會按
照定義好的流程自動往下跑,下一級審批者將會收到相關(guān)資料,并可以根據(jù)需要修改、跟蹤、
管理、查詢、記錄、打印等,大大提高了效率,實(shí)現(xiàn)了知識管理,提高了公司的核心競爭力。
金航網(wǎng)信息技術(shù)有限公司
1.<jsp:include>^<@include〉的區(qū)別分別在什么時(shí)候使用(中).
答:動作屬于動態(tài)包含,可以傳參,而指令則屬于靜態(tài)包含,不可傳參.
2.JavaEE是什么?(中)
答:是sun提出的一種規(guī)范和標(biāo)準(zhǔn).現(xiàn)在有很多種實(shí)現(xiàn)
3.什么是webService,有使用經(jīng)驗(yàn)嗎?(中)
答:基于WWW的一和服務(wù),可以實(shí)現(xiàn)異構(gòu)平臺間的互相調(diào)用.
4.Struts,wcbWork的理解.(中)
答:兩個(gè)實(shí)現(xiàn)了MVC的WEB應(yīng)用程序開發(fā)的框架.
5.對Spring的理解.(中)
答:Spring是一個(gè)容器框架,其核心機(jī)制在于IOC和AOP
6.ORM的中間控件有哪些(舉例).(中)
答:Hibemate,Ibatls,JDO,EnlityBean
北京鑫萬佳科技有限公司(java)
I.JSP內(nèi)置對象有哪些,,分別簡述作用?(中)
答:
request表達(dá)HltpServlctRcquesl對象。它包含了有關(guān)瀏覽器請求的信息
response表達(dá)HttpServletResponse對象,并提供了幾個(gè)用「設(shè)立瀏覽器的響應(yīng)的方法
out對象是javax.jspJspWriter的一個(gè)實(shí)例,并提供了幾個(gè)方法使你能用于向?yàn)g覽器回送輸出結(jié)果。
pageContexi表達(dá)一個(gè)javax.servlet.jsp.PageContexi對象。它是用于方便存取各種范圍的名字空間
session表達(dá)一個(gè)請求的javax.servlet.http.HttpSession對■象<>Session可以存貯用戶的狀態(tài)信息
applicaton表達(dá)一個(gè)javax.scrvlc.ScrvIclContcxt對象。這有助于查找有關(guān)scrvict引擎和scrvlcl環(huán)境的信息
config表達(dá)一個(gè)javax.scrvlcl.ScrvlctConflg對象。該對象用于存取servlet實(shí)例的初始化參數(shù)。
page表達(dá)從該頁面產(chǎn)生的一個(gè)servlel實(shí)例
2.JSP動作布*哪些,簡述作用?(中)
答:
jsp:include:在頁面被請求的時(shí)候引入一個(gè)文獻(xiàn)。
jsp:useBean:尋找或者實(shí)例化一個(gè)JavaBean。jsp:setProperty:設(shè)立JavaBean的屬性。
jspigetProperty:輸出某個(gè)JavaBean的屬性。
jsp:forward:把請求轉(zhuǎn)到一個(gè)新的頁面。jsp:plugin:根據(jù)瀏覽器類型為Java插件生成OBJECT
或EMBED標(biāo)記。
3.寫出JAVA的8個(gè)基本數(shù)據(jù)類型(易)
答:
Short,char,int,float,double,byte.Boolean,long
4.請寫出線程同步的方法(難)
答:synchronized!}
5.寫出java異常解決的5個(gè)關(guān)鍵字(中)
答:
Try,catch,finally,throw,throws
6.描述break和continue控制循環(huán)的流程不同之處(中)
答:break退出牡循環(huán)體,continue指退出當(dāng)前這次循環(huán),繼續(xù)進(jìn)入下一次循環(huán).
7.下面語句是否對的(難)
Publicclasshi{
PublicintaddOnc(finalintx){
return++x:
}
}
這樣寫對嗨?
不對,final意味若不可以修改.
1.接口和抽象類有什么區(qū)別?(中)
接口是公開的,不能包含私有的方法或變量,而抽象類是可以有私有方法或私有變量的,
實(shí)現(xiàn)接口的一定要實(shí)現(xiàn)接口里定義的所有方法,而實(shí)現(xiàn)抽象類可以有選擇地重寫需要用到的
方法,
接口可以實(shí)現(xiàn)多重繼承,而一個(gè)類只能繼承一個(gè)超類,但可以通過繼承多個(gè)接口實(shí)現(xiàn)多重繼
承,
接口尚有標(biāo)記(里面沒有任何方法,如Rcmoie接口)和數(shù)據(jù)共享(里面的變量全是常量)
的作用.
一般的應(yīng)用里,最頂級的是接口,然后是抽象類實(shí)現(xiàn)接口,最后才到具體類實(shí)現(xiàn)。
2.Strings=newString("xyz");創(chuàng)建了幾個(gè)StringObject?(中)
兩個(gè)對象,一個(gè)是“xyx”,一個(gè)是指向“xyx”的引用對象s。
3.代碼改錯(cuò)(難)
shortsi=1;si=si+1;有什么錯(cuò)?
shortsi=I;si=si+1;(sl+l運(yùn)算結(jié)果是int型,需要強(qiáng)制轉(zhuǎn)換類型)
shortsi=1;si+=1;有什么錯(cuò)?
shortsi=1;si+=1;(可以對的編譯)
4.是否可以繼承String類?(難)
String類是final類故不可以繼承。
5.try{}里有?個(gè)return語句,那么緊跟在這個(gè)try后的finally{}里的code會不會被執(zhí)行,什
么時(shí)候被執(zhí)行,在return前還是后?(易)
會執(zhí)行,在return前執(zhí)行。
6.常見的runtimeexception有哪些?。(易)
ArithmeticException,
ArrayStoreException,
BufferOverflowException,
BufferUnderflowException,
CannotRedoException,CannotUndoException.
ClassCastException,
CMMException,
ConcurrentModificationException,
DOMException,
EmptyStackException,IllegalArgumentException,
IllegalMonitorStateException,
IllegalPathStateException,
IllegalStateException,
ImagingOpException,IndexOutOfBoundsException,
MissingResourceException,
NegativeArraySizeException,
NoSuchElementException,NullPointerException,
ProfileDataException,
ProviderException,
RasterFormatException,
SecurityException,
SystemException,UndeclarcdThrowableException.
UnmodifiableSetException,
UnsupportedOperationException
NulIPointException
7.HashMap與HashTable的區(qū)別。(中)
一.歷史因素:Hashiable是基于陳舊的Dictionary類的,HashMap是Java1.2引進(jìn)的M叩接口
的一個(gè)實(shí)現(xiàn)
二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashM叩是線程序不安全的,
不是同步的
三.值:只有HashMap可以讓你將空值作為一個(gè)表的條目的key或value
8.代碼推斷?(中)
Malh.round(l1.5)等於多少?Maih.round(-11.5)等於多少?
Math.round(l1.5)==12
Math.round(-11.5)=-l1
round方法返回與參數(shù)最接近的長整數(shù).
9.GC是什么?為什么要有GC?(難)
GC是垃圾收集的意思(GabageCollection)
Java提供的GC功能可以自動監(jiān)測對象是否超過作用域從而達(dá)成自動回收內(nèi)存的目的,
Java語言沒有提供釋放已分派內(nèi)存的顯示操作方法。
10.數(shù)組有沒有l(wèi)ength。這個(gè)方法?String有沒有l(wèi)ength。這個(gè)方法?(易)
數(shù)組沒有l(wèi)ength。這個(gè)方法,有l(wèi)ength的屬性。Siring有有l(wèi)ength。這個(gè)方法
11.構(gòu)造器Constructor是否可被(覆蓋)override?(易)
構(gòu)造器Constructor不能被繼承,因此不能重寫Overriding,但可以被重載Overloading。
12Java有沒有g(shù)oto?(易)
java中的保存字,現(xiàn)在沒有在java中使用。
13.啟動一個(gè)線程是用run。還是s【art()?(中)
啟動一個(gè)線程是調(diào)用start。方法,使線程所代表的虛擬解決機(jī)處在可運(yùn)營狀態(tài),這意味著它
可以由JVM調(diào)度并執(zhí)行。
這并不意味著線程就會立即運(yùn)營。run()方法可以產(chǎn)生必須退出的標(biāo)志來停止一個(gè)線程。
14.兩個(gè)對象值相同(x.equals(y)==true),但卻可有不同的hashcode,這句話對不對?(中)
不對,有相同的hashcode。
15.&和&&的區(qū)別。(中)
&是位運(yùn)算符,表達(dá)按位與運(yùn)算,&&是邏輯運(yùn)算符,表達(dá)邏輯與(and)。
16.final,finally,finalize的區(qū)別。[中]
final用于聲明屬性,方法和類,分別表達(dá)屬性不可變,方法不可覆蓋,類不可繼承。
finally是異常解決語句結(jié)構(gòu)的一部分,表達(dá)總是執(zhí)行。
finalize是Object類的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會調(diào)用被I則攵對象的此方法,
可以覆蓋此方法提供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文獻(xiàn)等。
17.swiich是否能作用在byte上,是否能作用在long上,是否能作用在String上?(中)
switch(exprl)中,exprl是一個(gè)整數(shù)表達(dá)式。應(yīng)當(dāng)是int、short>charbyte。
long,string都不能作用于swtich。
31.編程題:寫一個(gè)Singleton出來。[難]
Singleton模式重要作用是保證在Java應(yīng)用程序中,?個(gè)類Class只有一個(gè)實(shí)例存在。
第一種形式:定義一個(gè)類,它的構(gòu)造函數(shù)為private的,它有一個(gè)static的private的該類變量,
在類初始化時(shí)實(shí)例話,通過?個(gè)public的getlnstance方法獲取對它的引用,維而調(diào)用其中的
方法。
publicclassSingleton{
privateSingleton(){}
privatestaticSingletoninstance=newSingletonO;
publicstaticSingletongetlnstance(){
returninstance;
}
)
第二種形式:
publicclassSingleton{
privatestaticSingletoninstance=null;
publicstaticsynchronizedSingletongetlnstanceO{
if(instance==null)
instance=newSingleton();
returninstance;}
)
StringtempStr=,M';
try{
tempStr=newString(str.getBytes(,,ISO-8859"l"),"GBK");
tempStr=tempStr.trim();
)
catch(Exceptione){
System.err.println(e.getMessageO);
}
returntempStr;
)
1、String與StringBu偉er的區(qū)別(中)
答:String一但聲明,在內(nèi)存中是不可改變的,而StringBuffer是可變的字符序列。
2、char型變量中能不能存貯一個(gè)中文漢字?為什么?(中)
答:可以,就為采用Unicode編碼.
3、Float型floatf=3.4是否對的?(易)
答:不對的,應(yīng)為:floatf=3.4f;
4、下面語句執(zhí)行后的結(jié)果是什么?(難)
答案:false;true
Stringa="teststringA";
StringBufferb=newStringBuffer("teststringA");
Stringc=,,teststringA";
System.out.printin(a.equals(b.toString()));
5、System.out.printIn(a==c);class.fomame的作用?為什么要用?
6、說明抽象類與接口的相同點(diǎn)和不同點(diǎn)(中)
答:
1.是否可以被多繼承
2.是否可以包含方法體
3.是否可以包含私有成員
4.用途不同
7、JSP中動態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別?(難)
答:動態(tài)包含可以傳遞參數(shù),而靜態(tài)則不可以。
8、JSP有哪些內(nèi)置對象,作用分別是什么?(中)
答:
request表達(dá)HttpServletRequest對象。它包含了有關(guān)瀏覽器請求的信息
response表達(dá)HttpServletResponse對象,并提供了幾個(gè)用于設(shè)立瀏覽器的響應(yīng)的方法
out對象是javax.jsp.JspWriter的一個(gè)實(shí)例,并提供了幾個(gè)方法使你能用于向?yàn)g覽器回送輸出
結(jié)果。
pageContext表達(dá)一個(gè)javax.servlet.jsp.PageContext對象。它是用于方便存取各種范圍的名字
空間
session表達(dá)一個(gè)請求的javax.servlet.hiip.HupSession對象。Session可以存貯用戶的狀態(tài)信息
applicaion表達(dá)一個(gè)javax.servle.ServletConiext對象。這有助于查找有關(guān)servlet引擎和servlet
環(huán)境的信息
config表達(dá)一個(gè)javax.servlel.ServleiConfig對象。該對象用于存取servlet實(shí)例的初始化參數(shù)。
page表達(dá)從該頁面產(chǎn)生的一個(gè)servlet實(shí)例
(—)Java部分:
1.以下程序代碼將輸出什么?(難)
答案:3null
publicclassTest{
staticinta=3;
staticStringb=null;
publicvoidreset(){
a=4;
b="abc”;
}
publicstaticvoidmain(String[]args){
System.out.printIn(a+"H+b);
)
}
2.以下程序代碼輸出的變量i的值為多少?(難)
答案:199
publicclassTest{
publicstaticvoidmain(String[]args){
inti=99;
add(i);
System.out.printin(i+100);
)
publicstaticvoidadd(inti){
i+=100;
)
)
3.以卜程序代碼中哪行代碼將產(chǎn)生錯(cuò)誤?(難)
classParent{
privateStringname;
piiblicParent(){
)
)
publicclassChildextendsParent{
privateStringdev;
publicChild(){
}
publicStringgetValue(){
)
publicstaticvoidmain(String[]args)
Parentp=newParent();
}
)
4.以下程序代碼的輸出結(jié)果為?(難)
答案:mqv
publicclassTest{
publicstaticvoidtest()(
try(
generateException();
System.out.print("e");
}catch(NumberFormatExceptionex){
System.out.print("jH);
}finally{
System,out.print("tn");
)
}
publicstaticvoidgenerateException(){
thrownewArraylndexOutOfBoundsException();
〃語法錯(cuò)誤
)
publicstaticvoidmain(String[]args){
try(
test();
}catch(Exceptionex){
System.out.print("q");
}finally{
System.out.print(nvn);
}
)
)
(二)問答題:
1.MVC的各個(gè)部分通常由哪些技術(shù)來實(shí)現(xiàn)?假如熟悉Struts框架技術(shù),請描述在Struts框
架中的MVC如何實(shí)現(xiàn)。(中)
答:
M:Module(模型層),一般由JavaBean實(shí)現(xiàn)
V:View(視圖層),一般由JSP頁面實(shí)現(xiàn)
C:Ctroller(控制器),一般由Servlet實(shí)現(xiàn).
Struts是實(shí)現(xiàn)了MVC的控制器框架,其中,它對Module沒有做特殊的限制,重要是在控
制器上做了工作,其核心控制器是ActionServlet一方面接受客戶端請求,然后會根據(jù)配置文
獻(xiàn)交給相應(yīng)的局部控制器來解決.該框架的View層重要是JSP和Tags構(gòu)成.
2.寫出Servlet的生命周期(中)
Servlet被服務(wù)器實(shí)例化后,容器運(yùn)營其init方法,請求到達(dá)時(shí)運(yùn)營其service
方法,service方法自動派遣運(yùn)營與請求相應(yīng)的doXXX方法(doGet,doPost)等,當(dāng)服
務(wù)器決定將實(shí)例銷毀的時(shí)候調(diào)用其destroy方法。
3.forward和redirect的區(qū)別(易)
forward是服務(wù)器請求資源,服務(wù)器直接訪問目的地址的URL,把那個(gè)URL的響應(yīng)內(nèi)容讀
取過來,然后把這些內(nèi)容再發(fā)給瀏覽器,瀏覽器主線不知道服務(wù)器發(fā)送的內(nèi)容是從哪兒
來的,所以它的地址欄中還是本來的地址。redirect就是服務(wù)端根據(jù)邏輯,發(fā)送一個(gè)狀
態(tài)碼,告訴瀏覽器重新去請求那個(gè)地址,一般來說瀏覽器會用剛才請求的所有參數(shù)重新
請求,所以session,request參數(shù)都可以獲取。
4.JNDI是什么?(難)
JNDT全稱JavaNamingandDirectoryInterface
JNDI是Java平臺的一個(gè)標(biāo)準(zhǔn)擴(kuò)展,提供了一組接口、類和關(guān)于命名空間的概念。如同其它很
多Java技術(shù)同樣,JDNI是provider-based的技術(shù),暴露了一個(gè)API和一個(gè)服務(wù)供應(yīng)接口(SPI)。
這意味著任何基于名字的技術(shù)都能通過JND1而提供服務(wù),只要JNDI支持這項(xiàng)技術(shù)。JND1目前所支
持的技術(shù)涉及LDAP、CORBACommonObjectService(COS)名字月艮務(wù)、RMkNDS、DNS、Windows
注冊表等等。很多J2EE技術(shù),涉及EJB都依靠JNDI來組織和定位實(shí)體。
5.錯(cuò)誤404,500分別表達(dá)什么?(中)
404,沒有找到該頁(沒有找到資源)。
500,內(nèi)部錯(cuò)誤。
1.對mvc的理解?(易)
MVC(Model-View-Controller,模型一視圖一控制器模式)用于表達(dá)一種軟
件架構(gòu)模式。它把軟件系統(tǒng)分為三個(gè)基本部分:模型(Model),視圖(View)
和控制器(Controller)。
*控制器?程序員編寫程序應(yīng)有的功能(實(shí)現(xiàn)算法等等)
*視圖-界面設(shè)計(jì)人員進(jìn)行圖形界面設(shè)計(jì)
*模型?數(shù)據(jù)庫專家進(jìn)行數(shù)據(jù)管理和數(shù)據(jù)庫設(shè)計(jì)
由于MVC的三個(gè)模塊互相獨(dú)立,改變其中一個(gè)不會影響其他兩個(gè),軟件的
可擴(kuò)展性和可維護(hù)性大大增長。開發(fā)人員可以通過自己的專長進(jìn)行分組開發(fā)。
在Java應(yīng)用程序中,視圖一般由jsp或htnil充當(dāng),控制器由Servlet或Struts
充當(dāng),模型層由JavaBcan或EJB充當(dāng)。
2.數(shù)據(jù)庫聯(lián)接的幾種方式?(中)
JAVA連接數(shù)據(jù)庫的方式有多種:
根據(jù)所需要的不同數(shù)據(jù)庫驅(qū)動分,分為四種:
1:1類驅(qū)動。這就是JDBC-ODBC橋的方式。但這種方式不適合程序的重用與
維護(hù),不推薦使用。需要數(shù)據(jù)庫的ODBC驅(qū)動。
2:2類驅(qū)動。這就是JDBC+廠商API的形式。廠商API一般使用C編寫,所以,
這種方式也不長使用。
3:3類驅(qū)動。這就是JDBC+廠商DatabaseConnectionServer+DataBase的形式。
這種方法就是在JAVA與DATABASE之間價(jià)起了一臺專門用與數(shù)據(jù)庫連接的
服務(wù)器(一般由數(shù)據(jù)庫廠商提供)。他的好處在于能優(yōu)化連接。
4:4類驅(qū)動。這就是純JDBC+DATABASE的連接方式。也是推薦的連接方式。
這使得APPLICATION與數(shù)據(jù)庫分開,開發(fā)者只需關(guān)心內(nèi)部邏輯的實(shí)現(xiàn)而不需注
重?cái)?shù)據(jù)庫連接的具體實(shí)現(xiàn)。在這其中有兩種連接的方式:
硬編碼方式,就是在程序中硬性編入數(shù)據(jù)庫連接的所須參數(shù)。
JNDIDataSourcc方式。就是在程序運(yùn)營的外布環(huán)境中又稱(Context)設(shè)立一個(gè)
datasource數(shù)據(jù)源,有一個(gè)jndi名稱,程序只須查找此名稱就可得到一個(gè)數(shù)據(jù)庫
連接的對象。
3.抽象類和接口的區(qū)別?(中)
1.abstractclass在Java語言中表達(dá)的是一種繼承關(guān)系,一個(gè)類只能使用一次
繼承關(guān)系。但是,一個(gè)類卻可以實(shí)現(xiàn)多個(gè)interface。
2.ffiabstractclass中可以有自己的數(shù)據(jù)成員,也可以有非abstarct的成員方
法,而在interface中,只可以有靜態(tài)的不能被修改的數(shù)據(jù)成員(也就是必須是
staticfinal的,但是在interface中一般不定義數(shù)據(jù)成員),所有的成員方法都是
abstract的。
3.abstractclass和interface所反映出的設(shè)計(jì)理念不同。其實(shí)abstractclass表達(dá)
的是“is-a”關(guān)系,interface表達(dá)的是“l(fā)ike-a”關(guān)系。
4.實(shí)現(xiàn)抽象類和接口的類必須實(shí)現(xiàn)其中的所有方法。抽象類中可以有非抽象
方法。接口中則不能有實(shí)現(xiàn)方法。
5.接口中定義的變量默認(rèn)是publicstaticfinal型,且必須給其初值,所以實(shí)
現(xiàn)類中不能重新定義,也不能改變其值。
6.抽象類中的變量默認(rèn)是friendly型,其值可以在子類中重新定義,也可以
重新賦值。
7.接口中的方法默認(rèn)都是public,abstract類型的。
4.Strings=newString("abc”);是幾個(gè)對象?(難)
假如在此語句之前沒有用到“abc",該語句會創(chuàng)建兩個(gè)對象,”xyz“就是發(fā)明
了一個(gè)String對象,然后調(diào)用的String類中的String(String)的構(gòu)造方法創(chuàng)建的
此外一個(gè)對象Jxyz”在全局?jǐn)?shù)據(jù)區(qū),s指向的對象在堆中。
假如語句如下:
Stringsi=newString("abcM);〃創(chuàng)建二個(gè)對象
Strings2=newString("abcu);〃創(chuàng)建一個(gè)對象,并且以后每執(zhí)
行一次創(chuàng)建一個(gè)對象
5Sevlet的生命周期?(易)
Servlet是一種可以在Servlet容器中運(yùn)營的組件,那么理所當(dāng)然就應(yīng)當(dāng)有一個(gè)從
創(chuàng)建到銷毀的過程,這個(gè)過程我們可以稱之為Servlet生命周期。Servlet的生命
周期可以分為加載、實(shí)例化、初始化、解決客戶請求和卸載五個(gè)階段,體現(xiàn)在方
法上重要是init()、service()和destroy()三個(gè)方法。生命周期的具體說明
如下:
Servlet容器完畢加載Servlet類和實(shí)例化一個(gè)Servlet對象
init()方法完畢初始化工作,該方法由Servlet容器調(diào)用完畢
service()方法解決客戶端請求,并返回響應(yīng)結(jié)果
destroy()方法在Servlet容器卸載Servlet之前被調(diào)用,釋放一些資源
6.簡述TCP的3次握手建立連接(難)
在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù),采用三次握手建立一個(gè)連接。
第一次握手:建立連接時(shí),客戶端發(fā)送syn包(syn4到服務(wù)器,并進(jìn)入
SYN_SEND狀態(tài),等待服務(wù)器確認(rèn);
SYN:同步序列編號(SynchronizeSequenceNumbers)
第二次握手:服務(wù)器收到syn包,必須確認(rèn)客戶的SYN(ack=j+l),同時(shí)自
己也發(fā)送一個(gè)SYN包(syn=k),即SYN+ACK包,此時(shí)服務(wù)器進(jìn)入SYN_RECV
狀態(tài);
第三次握手:客戶端收到服務(wù)器的SYN+ACK包,向服務(wù)器發(fā)送確認(rèn)包
ACK(ack=k+l),此包發(fā)送完畢,客戶端和服務(wù)器進(jìn)入ESTABLISHED狀態(tài),完
畢三次握手。
完畢三次握手,客戶端與服務(wù)器開始傳送數(shù)據(jù)
172.18.25.110172.18.25.109
7.數(shù)據(jù)庫左連接和右連接的區(qū)別?(易)
左連接就是保存左邊表的相關(guān)字段,假如右邊表相關(guān)字段有不匹配的,以null
填充之。
右連接就是保存右邊表的相關(guān)字段,假如左邊表相關(guān)字段有不匹配的,以null
填充之
8.簡述垃圾回收?(中)
Java語言中一個(gè)顯著的特點(diǎn)就是引入了垃圾回收機(jī)制,使C++程序員最頭疼
的內(nèi)存管理的問題迎刃而解,它使得Java程序員在編寫程序的時(shí)候不再需要考
慮內(nèi)存管理。由于有個(gè)垃圾回收機(jī)制,Java中的對象不再有“作用域”的概念,
只有對象的引用才有“作用域”。垃圾回收可以有效的防止內(nèi)存泄露,有效的使
用可以使用的內(nèi)存。垃圾回收器通常是作為一個(gè)單獨(dú)的低檔別的線程運(yùn)營,不可
預(yù)知的情況下對內(nèi)存堆中已經(jīng)死亡的或者長時(shí)間沒有使用的對象進(jìn)行清楚和回
收,程序員不能實(shí)時(shí)的調(diào)用垃圾回收器對某個(gè)對象或所有對象進(jìn)行垃圾回收。回
收機(jī)制有分代復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收
9.用任意語言寫出一個(gè)堆棧的代碼(中)
使用javaUil.Stack可以直接創(chuàng)建堆棧對象,Stack類描述了一個(gè)對象的后進(jìn)先
出(LIFO)堆棧,pop()方法刪除棧頂?shù)膶ο蟛阉鳛樵摵瘮?shù)的值返
回,push(Object)把一個(gè)對象壓入棧頂。
用LinkedList也可以模擬堆棧實(shí)現(xiàn):
publicclassStack{
privateLinkedListlist=newLinkedList();
publicvoidadd(Objectobj){
list.addLast(obj);
)
publicObjectget(){
returnlist.removeLast();
}
publicstaticvoidmain(String[]args){
Stackstack=newStack();
stack.add("r');
stack.add("2'');
System.out.println(stack.getO);
)
)
10.用遞歸求出斐波那契數(shù)列的第30位數(shù)?(中)
publicstaticlongfib(intn){
if(n==1||n-2)return1;
elsereturnfib(n-l)+fib(n-2);
}
調(diào)用fib(30)即可得到結(jié)果
11.寫出一個(gè)函數(shù)實(shí)現(xiàn)將兩個(gè)有序數(shù)組合并位一個(gè)有序數(shù)組(中)
voidMcrgcArray(int[]pArrayl,intnLenl,int[]pArray2,intnLcn2,int
[]pArray)
inti,j,n;
n=0;
while(i<nLenl&&j<nLen2)//循環(huán)?直進(jìn)行到
拷貝完某一個(gè)數(shù)組的元素為止
if(pArray1[i]<pArray2[j])//拷貝array1的元
pArray[n++]=pArray1[i++];
elseif(pArray1[i]>pArray2[j])//拷貝array2的
pArray[n++]=pArray2[j++];
)
else//相等的元素拷
貝
pArray[n++]=pArray2[j++];
++i;
)
}
if(i==nLenl)//假如array1已經(jīng)被
拷貝完畢就拷貝airay2的元素
while(j<nLen2)
pArray[n++]=pArray2[j++];
}
else//假如array2已經(jīng)被
拷貝完畢就拷貝arrayl的元素
while(i<nLenl)
pArray[n++]=pArrayl[i++];
}
12、說出ArrayList,Vector,LinkedList的存儲性能和特性(中)
ArrayList和Vector都是使用數(shù)組方式存儲數(shù)據(jù),此數(shù)組元素?cái)?shù)大于實(shí)際存儲
的數(shù)據(jù)以便增長和插入元素,它們都允許宜接按序號索弓【元素,但是插入元素要
涉及數(shù)組元素移動等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于使
用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList
使用雙向鏈表實(shí)現(xiàn)存儲,按序號索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,但是插入數(shù)
據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。
13^Collection和Collections的區(qū)別。(易)
Collection是集合類的上級接口,繼承于它的接口重要有Set和List.
Collections是針對集合類的一個(gè)幫助類,他提供一系列靜態(tài)方法實(shí)現(xiàn)對各種集
合的搜索、排序、線程安全化等操作。
14、&和&&的區(qū)別。(易)
&是位運(yùn)算符,表達(dá)按位與運(yùn)算,皴是邏輯運(yùn)算符,表達(dá)邏輯與(and)o
15、HashMap和Hashtable的區(qū)別。(中)
HashMap是Hashlable的輕量級實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),他們都完畢了Map
接口,重要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,效
率上也許高于Hashtable。
HashMap允許將null作為一個(gè)entry的key或者value,而Hashtable不允許。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和
containsKey<>由于contains方法容易讓人引起誤解。Hashtable繼承自
Dictionary類,而HashMap是Javal.2引進(jìn)的Mapinterface的一個(gè)實(shí)現(xiàn)。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個(gè)
線程訪問Hashtable時(shí),不需要自己為它的方法實(shí)現(xiàn)同步,而HashMap就必須
為之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大約同樣,所以性能不會有很
大的差異。
16^final,finally,finalize的區(qū)別。(中)
final用于聲明屬性,方法和類,分別表達(dá)屬性不可變,方法不可覆蓋,類不可
繼承。finally是異常解決語句結(jié)構(gòu)的一部分,表達(dá)總是執(zhí)行。finalize是Object
類的?個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候會調(diào)用被回收對象的此方法,可以覆蓋
此方法提供垃圾收集時(shí)的其他資源回收,例如關(guān)閉文獻(xiàn)等。
17、sleepO和wait()有什么區(qū)別?(中)
sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定期間,給執(zhí)行機(jī)會
給其他線程,但是監(jiān)控狀態(tài)仍然保持,屆時(shí)后會自動恢復(fù)。調(diào)用sleep不會釋放
對象鎖。wait是Object類的方法,對此對象調(diào)用wait方法導(dǎo)致本線程放棄對
象鎖,進(jìn)入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify方法(或
notifyAll)后本線程才進(jìn)入對象鎖定池準(zhǔn)備獲得對象鎖進(jìn)入運(yùn)營狀態(tài)。
18、Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類
型?(易)
方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫
Overriding是父類與子類之間多態(tài)性的?種表現(xiàn),重載
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度展示選集【員工管理】
- 單位管理制度展示大全【職工管理篇】
- 《邏輯的力量》課件【高效課堂精研】統(tǒng)編版高中語文選擇性必修上冊
- 電力行業(yè)2025年度策略:邁向紅利新周期
- 2025年宏觀經(jīng)濟(jì)展望:“沖擊與韌性”
- 單位管理制度收錄大全【人員管理篇】
- 2022年吉林省長春市吉林省第二實(shí)驗(yàn)學(xué)校中考模擬英語試題(原卷版)
- 2025年振動電機(jī)項(xiàng)目可行性研究報(bào)告-20250102-063822
- 風(fēng)機(jī)項(xiàng)目評估報(bào)告
- 可行性研究報(bào)告和預(yù)評價(jià)報(bào)告
- X市科協(xié)領(lǐng)導(dǎo)班子2021年工作總結(jié)
- 2024年新人教版七年級上冊地理課件 第二章 地圖 第二節(jié) 地形圖的判讀
- 2024至2030年中國汽摩配行業(yè)發(fā)展?fàn)顩r及競爭格局分析報(bào)告
- 濰柴天然氣發(fā)動機(jī)結(jié)構(gòu)及工作原理
- 國家開放大學(xué)《理工英語2》形考任務(wù)1-8參考答案
- 建筑公司證書津貼支付管理辦法
- 2024年電大勞動與社會保障法期末考試題庫及答案
- 經(jīng)橈動脈全腦血管造影術(shù)圍手術(shù)期護(hù)理
- 人教版九年級數(shù)學(xué)上冊21.1《一元二次方程》教學(xué)設(shè)計(jì)
- 從古至今話廉潔-大學(xué)生廉潔素養(yǎng)教育智慧樹知到期末考試答案章節(jié)答案2024年吉林大學(xué)
- 高中英語外刊-小貓釣魚50篇
評論
0/150
提交評論