Java-面試寶典(第二版)_第1頁
Java-面試寶典(第二版)_第2頁
Java-面試寶典(第二版)_第3頁
Java-面試寶典(第二版)_第4頁
Java-面試寶典(第二版)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Java_面試寶典(第二版)

1.作用域public,private,protected,以及不寫時的區(qū)別

作用域當(dāng)前類同一package子孫類其他package

publicJJVV

protectedVVV

friendlyVJXX

privateVXXX

2.AnonymousInnerClass(匿名內(nèi)部類)是否能夠extends(繼承洪它類,是否能夠implements(實現(xiàn))interface(接口)

答:匿名的內(nèi)部類是沒有名字的內(nèi)部類。能夠繼承抽象(SDK1.5沒有限制),但一個內(nèi)部類能夠作為一個接口,

由另一個內(nèi)部類實現(xiàn)

3.StaticNestedClass和InnerClass的不同

答:NestedClass(一樣是C++的說法),InnerClass(一樣是JAVA的說法)。Java內(nèi)部類與C++嵌套類最大的不同

就在因此否有指向外部的引用上。注:靜態(tài)內(nèi)部類(InnerClass)意味著1創(chuàng)建一個static內(nèi)部類的對象,不需要

一個外部類對象,2不能從一個static內(nèi)部類的一個對象訪問一個外部類對象

4.&和&&的區(qū)別

答:&是位運算符,表示按位與運算,&&是邏輯運算符,表示邏輯與(and)

5.Collection和Collections的區(qū)別

答:Collection是集合類的上級接口,繼承與他的接口要緊有Set和List.

Collections是針對集合類的一個關(guān)心類,他提供一系列靜態(tài)方法實現(xiàn)對各種集合的搜索、排序、線程安全化等操作

6.什么時候用assert

答:assertion(斷言)在軟件開發(fā)中是一種常用的調(diào)試方式,專門多開發(fā)語言中都支持這種機制。在實現(xiàn)中,

assertion確實是在程序中的一條語句,它對一個boolean表達(dá)式進行檢查,一個正確程序必須保證那個boolean表

達(dá)式的值為true;假如該值為false,說明程序差不多處于不正確的狀態(tài)下,系統(tǒng)將給出警告或退出。一樣來說,

assertion用于保證程序最差不多、關(guān)鍵的正確性。assertion檢查通常在開發(fā)和測試時開啟。為了提高性能,在軟件

公布后,assertion檢查通常是關(guān)閉的

7.Strings=newString—xyz");倉犍了幾個StringObject

答:“xyz”本身作為字符常量,在匯編語言中應(yīng)該作為常量放在數(shù)據(jù)段,Java有一個類似數(shù)據(jù)段的constantpool

儲存那個常量,在classloader加載那個類的時候就把“xyz”和那個類的其他一些信息放在constantpoolnew

String(“xyz”)依照常量”xyz“在heap上創(chuàng)建String對象因此,一共兩個對象

String(Stringoriginal)InitializesanewlycreatedStringobjectsothatitrepresents

thesamesequenceofcharactersastheargument;inotherwords,thenewly

createdstringisacopyoftheargumentstring.

8.Math.round(11.5)等於多少?Math.round(-11.5)等於多少

答:Math.round(11.5)==12;Math.round(-11.5)==-ll;round方法返回與參數(shù)最接近的長整數(shù),參數(shù)加1/2后求其floor

9.shortsi=1;si=si+1;有什么錯?shortsi=1;si+=1;有什么錯

答:shortsi=1;si=si+1;(sl+1運算結(jié)果是int型,需要強制轉(zhuǎn)換類型)shortsi=1;si+=1;(能夠正確編譯)

10.Java有沒有g(shù)oto

答:java中的保留字,現(xiàn)在沒有在java中使用

11.數(shù)組有沒有l(wèi)ength。那個方法?String有沒有l(wèi)ength。那個方法

答:數(shù)組沒有l(wèi)ength。那個方法,有l(wèi)ength的屬性。String有l(wèi)ength。那個方法

12.Overload和Override的區(qū)別。Overloaded的方法是否能夠改變返回值的類型

答:方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多

態(tài)性的一種表現(xiàn),重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。假如在子類中定義某方法與其父類有相同的名

稱和參數(shù),我們說該方法被重寫(Overriding)。子類的對象使用那個方法時,將調(diào)用子類中的定義,對它而言,父

類中的定義如同被“屏蔽”了。假如在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類

型,那么稱為方法的重載(Overloading)。Overloaded的方法是能夠改變返回值的類型

13.Set里的元素是不能重復(fù)的,那么用什么方法來區(qū)分重復(fù)與否呢?是用二依舊equals。?它們有何區(qū)別

答:Set里的元素是不能重復(fù)的,那么用iterator。方法來區(qū)分重復(fù)與否°equals()是判定兩個Set是否相等,equals()

和==方法決定引用值是否指向同一對象equals。在類中被覆蓋,為的是當(dāng)兩個分離的對象的內(nèi)容和類型相配的話,

返回真值

14.給我一個你最常見到的runtimeexception

答:常見的運行時專門有如下這些ArithmeticException,ArrayStoreException,BufferOverflowException,

BufferUnderflowException,CannotRedoException,CannotUndoException,ClassCastException,CMMException,

ConcurrentModificationException,DOMException,EmptyStackException,HlegalArgumentException,

HlegalMonitorStateException,IHegalPathStateException,HlegalStateException,ImagingOpException,

IndexOutOfBoundsException,MissingResourceException,NegativeArraySizeException,NoSuchElementException,

NullPointerException,ProfileDataException,ProviderException,RasterFormatException,SecurityException,

SystemException,UndeclaredThrowableException,UnmodifiableSetException,UnsupportedOperationException

15.error和exception有什么區(qū)別

答:error表示復(fù)原不是不可能但專門困難的情形下的一種嚴(yán)峻問題,比如說內(nèi)存溢出,不可能希望程序能處

理如此的情形;exception表示一種設(shè)計或?qū)崿F(xiàn)問題。也確實是說,它表示假如程序運行正常,從可不能發(fā)生的情

16.List,Set,Map是否繼承自Collection接口

答:List,Set是,Map不是

17.abstractclass和interface有什么區(qū)別

答:聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類(abstractclass),它用于要創(chuàng)建一個表達(dá)某些差不多行為

的類,并為該類聲明方法,但不能在該類中實現(xiàn)該類的情形。不能創(chuàng)建abstract類的實例。然而能夠創(chuàng)建一個變量,

其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract類的子類

為它們父類中的所有抽象方法提供實現(xiàn),否那么它們也是抽象類為。取而代之,在子類中實現(xiàn)該方法。明白其行為

的其它類能夠在類中實現(xiàn)這些方法

接口(interface)是抽象類的變體。在接口中,所有方法差不多上抽象的。多繼承性可通過實現(xiàn)如此的接口而

獲得。接口中的所有方法差不多上抽象的,沒有一個有程序體。接口只能夠定義staticfinal成員變量。接口的實現(xiàn)

與子類相似,除了該實現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實現(xiàn)專門接口時,它定義(立即程序體給予)所有這

種接口的方法。然后,它能夠在實現(xiàn)了該接口的類的任何對象上調(diào)用接口的方法。由于有抽象類,它承諾使用接口

名作為引用變量的類型?通常的動態(tài)聯(lián)編將生效。引用能夠轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instances運算符

能夠用來決定某對象的類是否實現(xiàn)了接口

18.abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized

答:都不能

19.接口是否可繼承接口?抽象類是否可實現(xiàn)(implements)接口?抽象類是否可繼承實體類(concreteclass)

答:接口能夠繼承接口。抽象類能夠?qū)崿F(xiàn)(implements)接口,抽象類是否可繼承實體類,但前提是實體類必須

有明確的構(gòu)造函數(shù)

20.構(gòu)造器Constructor是否可被override

答:構(gòu)造器Constructor不能被繼承,因此不能重寫Overriding,但能夠被重載Overloading

21.是否能夠繼承String類

答:String類是final類故不能夠繼承

22.try{}里有一"return語句,那么緊跟在那個try后的finally{}里的code會可不能被執(zhí)行,什么時候被執(zhí)行,在

return前依舊后

答:會執(zhí)行,在return前執(zhí)行

23.用最有效率的方法算出2乘以8等於幾

答:2<<3

24.兩個對象值相同(x.equals(y)==true),但卻可有不同的hashcode,這句話對不對

答:不對,有相同的hashcode

25.當(dāng)一個對象被當(dāng)作參數(shù)傳遞到一個方法后,此方法可改變那個對象的屬性,并可返回變化后的結(jié)果,那么那個

地點到底是值傳遞依舊引用傳遞

答:是值傳遞。Java編程語言只有值傳遞參數(shù)。當(dāng)一個對象實例作為一個參數(shù)被傳遞到方法中時,參數(shù)的值確

實是對該對象的引用。對象的內(nèi)容能夠在被調(diào)用的方法中改變,但對象的引用是永久可不能改變的

26.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上

答:switch(exprl)中,exp門是一個整數(shù)表達(dá)式。因此傳遞給switch和case語句的參數(shù)應(yīng)該是int^short>

char或者byte。long,string都不能作用于swtich

27.ArrayList和Vector的區(qū)別,HashMap和Hashtable的區(qū)別

答:就ArrayList與Vector要緊從二方面來說:

1、同步性:Vector是線程安全的,也確實是說是同步的,而ArrayList是線程序不安全的,不是同步的

2、數(shù)據(jù)增長:當(dāng)需要增長時,Vector默認(rèn)增長為原先一倍,而ArrayList卻是原先的一半

就HashMap與HashTable要緊從三方面來說:

1>歷史緣故:Hashtable是基于陳舊的Dictionary類的,HashMap是Java1.2引進的Map接口的一個實現(xiàn)

2、同步性:Hashtable是線程安全的,也確實是說是同步的,而HashM叩是線程序不安全的,不是同步的

3、值:只有HashMap能夠讓你將空值作為一個表的條目的key或value

28.char型變量中能不能存貯一個中文漢字?什么緣故?

答:是能夠定義成為一個中文的,因為java中以unicode編碼,一個char占16個字節(jié),因此放一個中文是沒

問題的

假如用gbk的本地編碼的話能夠.假如用utf-8的話,可能不行。

29.GC是什么?什么緣故要有GC

答:GC是垃圾收集的意思(GabageCollection),內(nèi)存處理是編程人員容易顯現(xiàn)問題的地點,不記得或者錯誤的

內(nèi)存回收會導(dǎo)致程序或系統(tǒng)的不穩(wěn)固甚至崩潰,Java提供的GC功能能夠自動監(jiān)測對象是否超過作用域從而達(dá)到自

動回收內(nèi)存的目的,Java語言沒有提供開釋已分配內(nèi)存的顯示操作方法。

30.float型floatf=3.4是否正確?

答:不正確。精度不準(zhǔn)確,應(yīng)該用強制類型轉(zhuǎn)換,如下所示:floatf=(float)3.4;floatf=3.4f;

31.介紹JAVA中的CollectionFrameWork(包括如何寫自己的數(shù)據(jù)結(jié)構(gòu))?

答:CollectionFrameWork如下:

Collection

F-List

||-LinkedList

(-ArrayList

|LVector

ILStack

LSet

Map

卜Hashtable

卜HashMap

LWeakHashMap

Collection是最差不多的集合接口,一個Collection代表一組Object,即Collection的元素(Elements)

Map提供key到value的映射

32.抽象類與接口?

答:抽象類與接口都用于抽象,然而抽象類(JAVA中)能夠有自己的部分實現(xiàn),而接口那么完全是一個標(biāo)識(同時

有多實現(xiàn)的功能)。

JAVA類實現(xiàn)序例化的方法是實現(xiàn)java.io.Serializable接口

Collection框架中實現(xiàn)比較要實現(xiàn)Comparable接口和Comparator接口

33.STRING與STRINGBUFFER的區(qū)別。

答:STRING的長度是不可變的,STRINGBUFFER的長度是可變的。假如你對字符串中的內(nèi)容經(jīng)常進行操作,專

門是內(nèi)容要修改時,那么使用StringBuffer,假如最后需要String,那么使用StringBuffer的toString。方法

34.談?wù)刦inal,finally,finalize的區(qū)別

答:final一修飾符(關(guān)鍵字)假如一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼

承。因此一個類不能既被聲明為abstract的,又被聲明為final的。將變量或方法聲明為final,能夠保證它們在使用

中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final

的方法也同樣只能使用,不能重載

finally一再專門處理時提供finally塊來執(zhí)行任何清除操作。假如拋出一個專門,那么相匹配的catch子句就會

執(zhí)行,然后操縱就會進入finally塊(假如有的話)

finalize一方法名。Java技術(shù)承諾使用finalized方法在垃圾收集器將對象從內(nèi)存中清除出去之前做必要的清理

工作。那個方法是由垃圾收集器在確定那個對象沒有被引用時對那個對象調(diào)用的。它是在Object類中定義的,因

此所有的類都繼承了它。子類覆蓋finalizef)方法以整理系統(tǒng)資源或者執(zhí)行其他清理工作。finalize))方法是在垃圾

收集器刪除對象之前對那個對象調(diào)用的

35.面向?qū)ο蟮奶攸c有哪些方面

答:要緊有以下四方面:

L抽象:抽象確實是忽略一個主題中與當(dāng)前目標(biāo)無關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。

抽象并不打罷了解全部問題,而只是選擇其中的一部分,臨時不用部分細(xì)節(jié)。抽象包括兩個方面,一是過程抽象,

二是數(shù)據(jù)抽象。

2.繼承:繼承是一種聯(lián)結(jié)類的層次模型,同時承諾和鼓舞類的重用,它提供了一種明確表述共性的方法。對象

的一個新類能夠從現(xiàn)有的類中派生,那個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子

類),而原始類稱為新類的基類(父類)。派生類能夠從它的基類那兒繼承方法和實例變量,同時類能夠修改或增加

新的方法使之更適合專門的需要。

3.封裝:封裝是把過程和數(shù)據(jù)包圍起來,對數(shù)據(jù)的訪問只能通過己定義的界面。面向?qū)ο筮\算始于那個差不多

概念,即現(xiàn)實世界能夠被描畫成一系列完全自治、封裝的對象,這些對象通過一個受愛護的接口訪問其他對象。

4.多態(tài)性:多態(tài)性是指承諾不同類的對象對同一消息作出響應(yīng)?多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)

性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢,專門好的解決了應(yīng)用程序函數(shù)同名問題。

36.String是最差不多的數(shù)據(jù)類型嗎

答:不是,差不多數(shù)據(jù)類型包括byte、int、char>long、float、double>boolean和short。

java.Iang.String類是final類型的,因此不能夠繼承那個類、不能修改那個類。為了提高效率節(jié)約空間,我們應(yīng)該用

StringBuffer類

37.int和Integer有什么區(qū)別

答:Java提供兩種不同的類型:引用類型和原始類型[或內(nèi)置類型)。

Int是java的原始數(shù)據(jù)類型,Integer是java為int提供的wapper。Java為每個原始類型提供了封裝類。

原始類型封裝類:

boolean:Boolean

char:Character

byte:Byte

short:Short

int:Integer

long:Long

float:Float

double:Double

引用類型和原始類型的行為完全不同,同時它們具有不同的語義。引用類型和原始類型具有不同的特點和用法,

它們包括:大小和速度問題,這種類型以哪種類型的數(shù)據(jù)結(jié)構(gòu)儲備,當(dāng)引用類型和原始類型用作某個類的實例數(shù)據(jù)

時所指定的缺省值。對象引用實例變量的缺省值為null,而原始類型實例變量的缺省值與它們的類型有關(guān)

38.運行時專門與一樣專門有何異同

答:專門表示程序運行過程中可能顯現(xiàn)的非正常狀態(tài),運行時專門表示虛擬機的通常操作中可能遇到的專門,

是一種常見運行錯誤。java編譯器要求方法必須聲明拋出可能發(fā)生的非運行時專門,然而并不要求必須聲明拋出未

被捕捉的運行時專門。

39.說出ArrayList,Vector,LinkedList的儲備性能和特性

答:ArrayList和Vector差不多上使用數(shù)組方式儲備數(shù)據(jù),此數(shù)組元素數(shù)大于實際儲備的數(shù)據(jù)以便增加和插入元

素,它們都承諾直截了當(dāng)按序號索引元素,然而插入元素要涉及數(shù)組元素移動等內(nèi)存操作,因此索引數(shù)據(jù)快而插入

數(shù)據(jù)慢,Vector由于使用了synchronized方法(線程安全),通常性能上較ArrayList差,而LinkedList使用雙向鏈表

實現(xiàn)儲備,按序號索引數(shù)據(jù)需要進行前向或后向遍歷,然而插入數(shù)據(jù)時只需要記錄本項的前后項即可,因此插入速

度較快。

40.HashMap和Hashtable的區(qū)別

答:HashMap是Hashtable的輕量級實現(xiàn)(非線程安全的實現(xiàn)),他們都完成了Map接口,要緊區(qū)別在于HashMap

承諾空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable。

HashMap承諾將null作為一個entry的key或者value,而Hashtable不承諾。

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人

引起誤解。

Hashtable繼承自Dictionary類,而HashMap是Javal.2引進的M叩interface的一個實現(xiàn)。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要

自己為它的方法實現(xiàn)同步,而HashM叩就必須為之提供外同步。

Hashtable和HashMap采納的hash/rehash算法都大致一樣,因此性能可不能有專門大的差異。

41.heap和stack有什么區(qū)別

答:棧是一種線形集合,其添加和刪除元素的操作應(yīng)在同一段完成。棧按照后進先出的方式進行處理。堆是校

的一個組成元素

42.Java的接口和C++的虛類的相同和不同處

答:由于Java不支持多繼承,而有可能某個類或?qū)ο笠褂梅謩e在幾個類或?qū)ο罄锩娴姆椒ɑ驅(qū)傩?,現(xiàn)有的單

繼承機制就不能滿足要求。與繼承相比,接口有更高的靈活性,因為接口中沒有任何實現(xiàn)代碼。當(dāng)一個類實現(xiàn)了接

口以后,該類要實現(xiàn)接口里面所有的方法和屬性,同時接口里面的屬性在默認(rèn)狀態(tài)下面差不多上publicstatic,所有

方法默認(rèn)情形下是public.一個類能夠?qū)崿F(xiàn)多個接口。

43.Java中的專門處理機制的簡單原理和應(yīng)用

答:當(dāng)JAVA程序違反了JAVA的語義規(guī)那么時,JAVA虛擬機就會將發(fā)生的錯誤表示為一個專門。違反語義規(guī)那

么包括2種情形。一種是JAVA類庫內(nèi)置的語義檢查。例如數(shù)組下標(biāo)越界,會引發(fā)IndexOutOfBoundsException;訪問null

的對象時會引發(fā)NullPointerException,另一種情形確實是JAVA承諾程序員擴展這種語義檢查,程序員能夠創(chuàng)建自己

的專門,并自由選擇在何時用throw關(guān)鍵字引發(fā)專門。所有的專門差不多上java.Iang.Thowable的子類。

44.垃圾回收的優(yōu)點和原理。并考慮2種回收機制

答:Java語言中一個顯著的特點確實是引入了垃圾回收機制,使C++程序員最頭疼的內(nèi)存治理的問題迎刃而解,

它使得Java程序員在編寫程序的時候不再需要考慮內(nèi)存治理。垃圾回收能夠有效的防止內(nèi)存泄露,有效的使用能夠

使用的內(nèi)存?垃圾回收器通常是作為一個單獨的低級別的線程運行,不可預(yù)知的情形下對內(nèi)存堆中差不多死亡的或

者長時刻沒有使用的對象進行清晰和回收,程序員不能實時的調(diào)用垃圾回收器對某個對象或所有對象進行垃圾回

收?;厥諜C制有分代復(fù)制垃圾回收和標(biāo)記垃圾回收,增量垃圾回收。

45.你所明白的集合類都有哪些?要緊方法?

答:最常用的集合類是List和Map。List的具體實現(xiàn)包括ArrayList和Vector,它們是可變大小的列表,比

較適合構(gòu)建、儲備和操作任何類型對象的元素列表。List適用于按數(shù)值索引訪問元素的情形。

Map提供了一個更通用的元素儲備方法。Map集合類用于儲備元素對(稱作"鍵"和"值"),其中每個鍵映射到一個

值。

46.描述一下JVM加載class文件的原理機制?

答:JVM中類的裝載是由ClassLoader和它的子類來實現(xiàn)的,JavaClassLoader是一個重要的Java運行時系統(tǒng)組件。

它負(fù)責(zé)在運行時查找和裝入類文件的類。

47.排序都有哪幾種方法?請列舉

答:排序的方法有:插入排序(直截了當(dāng)插入排序、希爾排序),交換排序(冒泡排序、快速排序),選擇排序

(直截了當(dāng)選擇排序、堆排序),歸并排序,分配排序1箱排序、基數(shù)排序)

快速排序的偽代碼。

使用快速排序方法對a[0:n-1]排序:

從a[0:n-l]中選擇一個元素作為middle,該元素為支點,把余下的元素分割為兩段left和right,使得left中的

元素都小于等于支點,而right中的元素都大于等于支點。

遞歸地使用快速排序方法對left進行排序

遞歸地使用快速排序方法對right進行排序

所得結(jié)果為left+middle+right

48.JAVA語言如何進行專門處理,關(guān)鍵字:throws,throw,try,catch,finally分別代表什么意義?在try塊中能夠拋出

專門嗎?

答:Java通過面向?qū)ο蟮姆椒ㄟM行專門處理,把各種不同的專門進行分類,并提供了良好的接口。在Java中,

每個專門差不多上一個對象,它是Throwable類或其它子類的實例。當(dāng)一個方法顯現(xiàn)專門后便拋出一個專門對象,

該對象中包含有專門信息,調(diào)用那個對象的方法能夠捕捉到那個專門并進行處理。Java的專門處理是通過5個關(guān)鍵

詞來實現(xiàn)的:try、catch、throw、throws和finally。一樣情形下是用try來執(zhí)行一段程序,假如顯現(xiàn)專門,系統(tǒng)會拋

出(throws)一個專門,這時候你能夠通過它的類型來捕捉(catch)它,或最后(finally)由缺省處理器來處理。

用try來指定一塊預(yù)防所有"專門"的程序。緊跟在try程序后面,應(yīng)包含一個catch子句來指定你想要捕捉的"

專門"的類型。

throw語句用來明確地拋出一個''專門"。

throws用來標(biāo)明一個成員函數(shù)可能拋出的各種"專門"。

Finally為確保一段代碼不管發(fā)生什么"專門"都被執(zhí)行一段代碼。

能夠在一個成員函數(shù)調(diào)用的別處寫一個try語句,在那個成員函數(shù)內(nèi)部寫另一個try語句愛護其他代碼。每當(dāng)遇

到一個try語句,"專門"的框架就放到堆棧上面,直到所有的try語句都完成。假如下一級的try語句沒有對某種"

專門"進行處理,堆棧就會展開,直到遇到有處理這種"專門"的try語句。

49.一個".java"源文件中是否能夠包括多個類(不是內(nèi)部類)?有什么限制?

答:能夠。必須只有一個類名與文件名相同。

50.java中有幾種類型的流?JDK為每種類型的流提供了一些抽象類以供繼承,請說出他們分別是哪些類?

答:字節(jié)流,字符流。字節(jié)流繼承于InputstreamOutputstream,字符流繼承于InputStreamReader

OutputStreamWriter。在java.io包中還有許多其他的流,要緊是為了提高性能和使用方便。

51.java中會存在內(nèi)存泄漏嗎,請簡單描述。

答:會。自己實現(xiàn)堆載的數(shù)據(jù)結(jié)構(gòu)時有可能會顯現(xiàn)內(nèi)存泄露,可參看effectivejava.

52.java中實現(xiàn)多態(tài)的機制是什么?

答:方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多

態(tài)性的一種表現(xiàn),重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。

53.垃圾回收器的差不多原理是什么?垃圾回收器能夠趕忙回收內(nèi)存嗎?有什么方法主動通知虛擬機進行垃圾回

答:關(guān)于GC來說,當(dāng)程序員創(chuàng)建對象時,GC就開始監(jiān)控那個對象的地址、大小以及使用情形。通常,GC采

納有向圖的方式記錄和治理堆(heap)中的所有對象。通過這種方式確定哪些對象是"可達(dá)的",哪些對象是"不可達(dá)的"。

當(dāng)GC確定一些對象為"不可達(dá)"時,GC就有責(zé)任回收這些內(nèi)存空間。能夠。程序員能夠手動執(zhí)行System.gc。,通知

GC運行,然而Java語言規(guī)范并不保證GC一定會執(zhí)行。

54.靜態(tài)變量和實例變量的區(qū)別?

在語法定義上的區(qū)別:靜態(tài)變量前要加static關(guān)鍵字,而實例變量前那么不加.

在程序運行時的區(qū)別:實例變量屬于某個對象的屬性,必須創(chuàng)建了實例對象,其中的實例變量才會被分配空間,

才能使用那個實例變量。靜態(tài)變量不屬于某個實例對象,而是屬于類,因此也稱為類變量,只要程序加載了類的字

節(jié)碼,不用創(chuàng)建任何實例對象,靜態(tài)變量就會被分配空間,靜態(tài)變量就能夠被使用了??傊?,實例變量必須創(chuàng)建對

象后才能夠通過那個對象來使用,靜態(tài)變量那么能夠直截了當(dāng)使用類名來引用。

55.什么是java序列化,如何實現(xiàn)java序列化?

答:序列化確實是一種用來處理對象流的機制,所謂對象流也確實是將對象的內(nèi)容進行流化。能夠?qū)α骰蟮?/p>

對象進行讀寫操作,也可將流化后的對象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決在對對象流進行讀寫操作時所引發(fā)的

問題。

序列化的實現(xiàn):將需要被序列化的類實現(xiàn)Serializable接口,該接口沒有需要實現(xiàn)的方法,implementsSerializable

只是為了標(biāo)注該對象是可被序列化的,然后使用一個輸出流(如:FileOutputStream)來構(gòu)造一?個ObjectOutputStream(對

象流)對象,接著,使用ObjectOutputStream對象的writeObject(Objectobj)方法就能夠?qū)?shù)為obj的對象寫出(即儲

存其狀態(tài)),要復(fù)原的話那么用輸入流。

56.是否能夠從一個static方法內(nèi)部發(fā)出對非static方法的調(diào)用?

答:不能夠,假如其中包含對象的method();不能保證對象初始化.

57.寫clone。方法時,通常都有一行代碼,是什么?

答:Clone有缺省行為,super.clone。;他負(fù)責(zé)產(chǎn)生正確大小的空間,并逐位復(fù)制。

58.在JAVA中,如何跳出當(dāng)前的多重嵌套循環(huán)?

答:用break;return方法。

59.List、Map、Set三個接口,存取元素時,各有什么特點?

答:List以特定次序來持有元素,可有重復(fù)元素。Set無法擁有重復(fù)元素,內(nèi)部排序。Map儲存key-value值,

value可多值。

60.說出一些常用的類,包,接口,請各舉5個

答:常用的類:BufferedReaderBufferedWriterFileReaderFileWirterStringInteger

常用的包:java.langjava.awtjava.iojava.utiljava.sql

常用的接口:RemoteListMapRunnableSerializableActionListener

線程編程方面

1.java中有幾種方法能夠?qū)崿F(xiàn)一個線程?用什么關(guān)鍵字修飾同步方法?stop()和suspend。方法為何不舉薦使用?

答:有兩種實現(xiàn)方法,分別是繼承Thread類與實現(xiàn)Runnable接口

用synchronized關(guān)鍵字修飾同步方法

反對使用stop(),是因為它不安全。它會解除由線程獵取的所有鎖定,而且假如對象處于一種不連貫狀態(tài),那

么其他線程能在那種狀態(tài)下檢查和修改它們。結(jié)果專門難檢查出真正的問題所在。suspend。方法容易發(fā)生死鎖。調(diào)

用suspend。的時候,目標(biāo)線程會停下來,但卻仍舊持有在這之前獲得的鎖定?,F(xiàn)在,其他任何線程都不能訪問鎖定

的資源,除非被"掛起"的線程復(fù)原運行。對任何線程來說,假如它們想復(fù)原目標(biāo)線程,同時又試圖使用任何一個鎖

定的資源,就會造成死鎖。因此不應(yīng)該使用suspend。,而應(yīng)在自己的Thread類中置入一個標(biāo)志,指出線程應(yīng)該活

動依舊掛起。假設(shè)標(biāo)志指出線程應(yīng)該掛起,便用wait()命其進入等待狀態(tài)。假設(shè)標(biāo)志指出線程應(yīng)當(dāng)復(fù)原,那么用一

個notify。重新啟動線程。

2.sleep()和wait()有什么區(qū)別?

答:sleep是線程類(Thread)的方法,導(dǎo)致此線程暫停執(zhí)行指定時刻,給執(zhí)行機會給其他線程,然而監(jiān)控狀態(tài)

依舊保持,到時后會自動復(fù)原。調(diào)用sleep可不能開釋對象鎖。

wait是Object類的方法,對此對象調(diào)用wait方法導(dǎo)致本線程舍棄對象鎖,進入等待此對象的等待鎖定池,只

有針對此對象發(fā)出notify方法(或notifyAII)后本線程才進入對象鎖定池預(yù)備獲得對象鎖進入運行狀態(tài)。

3.同步和異步有何異同,在什么情形下分別使用他們?舉例說明。

答:假如數(shù)據(jù)將在線程間共享。例如正在寫的數(shù)據(jù)以后可能被另一個線程讀到,或者正在讀的數(shù)據(jù)可能差不多

被另一個線程寫過了,那么這些數(shù)據(jù)確實是共享數(shù)據(jù),必須進行同步存取。

當(dāng)應(yīng)用程序在對象上調(diào)用了一個需要花費專門長時刻來執(zhí)行的方法,同時不期望讓程序等待方法的返回時,就

應(yīng)該使用異步編程,在專門多情形下采納異步途徑往往更有效率。

4.啟動一個線程是用run()依舊start()?

答:啟動一個線程是調(diào)用start。方法,使線程所代表的虛擬處理機處于可運行狀態(tài),這意味著它能夠由JVM調(diào)

度并執(zhí)行。這并不意味著線程就會趕忙運行。run()方法能夠產(chǎn)生必須退出的標(biāo)志來停止一個線程。

5.當(dāng)一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法?

答:不能,一個對象的一個synchronized方法只能由一個線程訪問。

6.請說出你所明白的線程同步的方法。

答:wait。:使一個線程處于等待狀態(tài),同時開釋所持有的對象的locko

sleep。:使一個正在運行的線程處于睡眠狀態(tài),是一個靜態(tài)方法,調(diào)用此方法要捕捉InterruptedException專門。

notify。:喚醒一個處于等待狀態(tài)的線程,注意的是在調(diào)用此方法的時候,并不能確切的喚醒某一個等待狀態(tài)的線

程,而是由JVM確定喚醒哪個線程,而且不是按優(yōu)先級。

Allnotity():喚醒所有處入等待狀態(tài)的線程,注意并不是給所有喚醒線程一個對象的鎖,而是讓它們競爭。

7.多線程有幾種實現(xiàn)方法,差不多上什么?同步有幾種實現(xiàn)方法,差不多上什么?

答:多線程有兩種實現(xiàn)方法,分別是繼承Thread類與實現(xiàn)Runnable接口

同步的實現(xiàn)方面有兩種,分別是synchronized,wait與notify

8.線程的差不多概念、線程的差不多狀態(tài)以及狀態(tài)之間的關(guān)系

答:線程指在程序執(zhí)行過程中,能夠執(zhí)行程序代碼的一個執(zhí)行單位,每個程序至少都有一個線程,也確實是程

序本身。

Java中的線程有四種狀態(tài)分別是:運行、就緒、掛起、終止

9.簡述synchronized和java.util.concurrent.locks.Lock的異同?

答:要緊相同點:Lock能完成synchronized所實現(xiàn)的所有功能

要緊不同點:Lock有比synchronized更精確的線程語義和更好的性能。synchronized會自動開釋鎖,而Lock一

定要求程序員手工開釋,同時必須在finally從句中開釋。

Jsp方面

1.forward和redirect的區(qū)別

答:forward是服務(wù)器要求資源,服務(wù)器直截了當(dāng)訪問目標(biāo)地址的URL,把那個URL的響應(yīng)內(nèi)容讀取過來,然

后把這些內(nèi)容再發(fā)給掃瞄器,掃瞄器全然不明白服務(wù)器發(fā)送的內(nèi)容是從哪兒來的,因此它的地址欄中依舊原先的地

址。

redirect確實是服務(wù)端依照邏輯,發(fā)送一個狀態(tài)碼,告訴掃瞄重視新去要求那個地址,一樣來說掃瞄器會用剛才要

求的所有參數(shù)重新要求,因此session,request參數(shù)都能夠獵取。

2.jsp有哪些內(nèi)置對象?作用分別是什么?

答:JSP共有以下9種差不多內(nèi)置組件(可與ASP的6種內(nèi)部組件相對應(yīng)):

request用戶端要求,此要求會包含來自GET/POST要求的參數(shù)

response網(wǎng)頁傳回用戶端的回應(yīng)

pageContext網(wǎng)頁的屬性是在那個地點治理

session與要求有關(guān)的會話期

applicationservlet正在執(zhí)行的內(nèi)容

out用來傳送回應(yīng)的輸出

configservlet的構(gòu)架部件

pageJSP網(wǎng)頁本身

exception針對錯誤網(wǎng)頁,未捕捉的例外

3.jsp有哪些動作?作用分別是什么?

答:JSP共有以下6種差不多動作:

jsp:include:在頁面被要求的時候引入一個文件。

jsp:useBean:查找或者實例化一個JavaBean。

jsp:setProperty:設(shè)置JavaBean的屬性。

jsp:getProperty:輸出某個JavaBean的屬性。

jsp:forward:把要求轉(zhuǎn)到一個新的頁面。

jsp:plugin:依照掃瞄器類型為Java插件生成OBJECT或EMBED標(biāo)記

4.JSP中動態(tài)INCLUDE與靜態(tài)INCIAJDE的區(qū)別?

答:動態(tài)INCLUDE用jsp:include動作實現(xiàn)。<jsp:includepage="included.jsp"flush="true"/>它總是會檢查所含文

件中的變化,適合用于包含動態(tài)頁面,同時能夠帶參數(shù)

靜態(tài)INCLUDE用include偽碼實現(xiàn),定可不能檢查所含文件的變化,適用于包含靜態(tài)頁面:<%@include

file="included.htm"%>

5.兩種跳轉(zhuǎn)方式分別是什么?有什么區(qū)別?

答:有兩種,分別為:

<jsp:includepage="included.jsp"flush="true">

<jsp:forwardpage="nextpage.jsp"/>

前者頁面可不能轉(zhuǎn)向include所指的頁面,只是顯示該頁的結(jié)果,主頁面依舊原先的頁面。執(zhí)行完后還會回來,

相當(dāng)于函數(shù)調(diào)用。同時能夠帶參數(shù).后者完全轉(zhuǎn)向新頁面,可不能再回來。相當(dāng)于goto語句。

6.JSP的內(nèi)置對象及方法。

答:request表示ServletRequest對象。它包含了有關(guān)掃瞄器要求的信息,同時提供了幾個用于獵取cookie,

header,和session數(shù)據(jù)的有用的方法。

response表示ServletResponse對象,并提供了幾個用于設(shè)置送回掃瞄器的響應(yīng)的方法(如cookies,頭信息

等)

out對象是javaxjspJspWriter的一個實例,并提供了幾個方法使你能用于向掃瞄器回送輸出結(jié)果。

pageContext表示一個javax.servlet.jsp.PageContext對象。它是用于方便存取各種范疇的名字空間、servlet相關(guān)

的對象的API,同時包裝了通用的servlet相關(guān)功能的方法。

session表示一個要求的javax.servlet..Session對象。Session能夠存貯用戶的狀態(tài)信息

applicaton表示一個javax.servle.ServletContext對象。這有助于查找有關(guān)servlet引擎和servlet環(huán)境的信息

config表示一個javax.servlet.ServletConfig對象。該對象用于存取servlet實例的初始化參數(shù)。

page表示從該頁面產(chǎn)生的一個servlet實例

Servlet方面

1.說一說Servlet的生命周期?

答:servlet有良好的生存期的定義,包括加載和實例化、初始化、處理要求以及服務(wù)終止。那個生存期由

javax.servlet.Servlet接口的init,service和destroy方法表達(dá)。Servlet被服務(wù)器實例化后,容器運行其init方法,要求

到達(dá)時運行其service方法,service方法自動派遣運行與要求對應(yīng)的doXXX方法(doGet,doPost)等,當(dāng)服務(wù)器決

定將實例銷毀的時候調(diào)用其destroy方法。

與cgi的區(qū)別在于servlet處于服務(wù)器進程中,它通過多線程方式運行其service方法,一個實例能夠服務(wù)于多個

要求,同時事實上例一樣可不能銷毀,而CGI對每個要求都產(chǎn)生新的進程,服務(wù)完成后就銷毀,因此效率上低于

servleto

2.JAVASERVLETAPI中forward()與redirect。的區(qū)別?

答:前者僅是容器中操縱權(quán)的轉(zhuǎn)向,在客戶端掃瞄器地址欄中可不能顯示出轉(zhuǎn)向后的地址;后者那么是完全的跳

轉(zhuǎn),掃瞄器將會得到跳轉(zhuǎn)的地址,并重新發(fā)送要求鏈接.如此,從掃瞄器的地址欄中能夠看到跳轉(zhuǎn)后的鏈接地址。

因此,前者更加高效,在前者能夠滿足需要時,盡量使用forward。方法,同時,如此也有助于隱藏實際的鏈接。在

有些情形下,比如,需要跳轉(zhuǎn)到一個其它服務(wù)器上的資源,那么必須使用sendRedirect。方法。

3.Servlet的差不多架構(gòu)

答:

publicclassServletNameextendsServlet{

publicvoiddoPostfServletRequestrequest,ServletResponseresponse)throws

ServletException,lOException{

)

publicvoiddoGet(ServletRequestrequest,ServletResponseresponse)throws

ServletException,lOException{

)

)

4.什么情形下調(diào)用doGet()和doPost()?

答:Jsp頁面中的form標(biāo)簽里的method屬性為get時調(diào)用doGet(),為post時調(diào)用doPost()?

5.servlet的生命周期

答:web容器加載servlet,生命周期開始。通過調(diào)用servlet的init()方法進行servlet的初始化。通過調(diào)用service()

方法實現(xiàn),依照要求的不同調(diào)用不同的do***()方法。終止服務(wù),web容器調(diào)用servlet的destroy。方法。

6.如何現(xiàn)實servlet的單線程模式

答:<%@pageisThreadSafe="false"%>

7.頁面間對象傳遞的方法

答:request,session,application,cookie等

8.JSP和Servlet有哪些相同點和不同點,他們之間的聯(lián)系是什么?

答:JSP是Servlet技術(shù)的擴展,本質(zhì)上是Servlet的簡易方式,更強調(diào)應(yīng)用的外表表達(dá)。JSP編譯后是"類servlet"?

Servlet和JSP最要緊的不同點在于,Servlet的應(yīng)用邏輯是在Java文件中,同時完全從表示層中的HTML里分離開來。

而JSP的情形是Java和HTML能夠組合成一個擴展名為.jsp的文件。JSP側(cè)重于視圖,Servlet要緊用于操縱邏輯。

9.四種會話跟蹤技術(shù)

答:會話作用域ServletsJSP頁面描述

page否是代表與一個頁面相關(guān)的對象和屬性。一個頁面由一個編譯好的Javaservlet類(能夠帶有任何的

include指令,然而沒有include動作)表示。這既包括servlet又包括被編譯成servlet的JSP頁面

request是是代表與Web客戶機發(fā)出的一個要求相關(guān)的對象和屬性。一個要求可能跨過多個頁面,涉及多個

Web組件(由于forward指令和include動作的關(guān)系)

session是是代表與用于某個Web客戶機的一個用戶體驗相關(guān)的對象和屬性。一個Web會話能夠也經(jīng)常會跨

過多個客戶機要求

application是是代表與整個Web應(yīng)用程序相關(guān)的對象和屬性。這實質(zhì)上是跨過整個Web應(yīng)用程序,包括多

個頁面、要求和會話的一個全局作用域

10.Request對象的要緊方法

答:

setAttribute(Stringname,Object):設(shè)置名字為name的request的參數(shù)值

getAttribute(Stringname):返回由name指定的屬性值

getAttributeNames():返回request對象所有屬性的名字集合,結(jié)果是一個枚舉的實例

getCookies():返回客戶端的所有Cookie對象,結(jié)果是一個Cookie數(shù)組

getCharacterEncoding():返回要求中的字符編碼方式

getContentLength():返回要求的Body的長度

getHeader(Stringname):獲得協(xié)議定義的文件頭信息

getHeaders(Stringname):返回指定名字的requestHeader的所有值,結(jié)果是一個枚舉的實例

getHeaderNames():返回因此requestHeader的名字,結(jié)果是一個枚舉的實例

getlnputStream():返回要求的輸入流,用于獲得要求中的數(shù)據(jù)

getMethod():獲得客戶端向服務(wù)器端傳送數(shù)據(jù)的方法

getParameter(Stringname):獲得客戶端傳送給服務(wù)器端的有name指定的參數(shù)值

getParameterNames():獲得客戶端傳送給服務(wù)器端的所有參數(shù)的名字,結(jié)果是一個枚舉的實例

getParameterValues(Stringname):獲得有name指定的參數(shù)的所有值

getProtocol():獵取客戶端向服務(wù)器端傳送數(shù)據(jù)所依據(jù)的協(xié)議名稱

getQueryString():獲得查詢字符串

getRequestURK):獵取發(fā)出要求字符串的客戶端地址

getRemoteAddr():獵取客戶端的IP地址

getRemoteHost():獵取客戶端的名字

getSession([Booleancreate]):返回和要求相關(guān)Session

getServerName():獵取服務(wù)器的名字

getServletPath():獵取客戶端所要求的腳本文件的路徑

getServerPort():獵取服務(wù)器的端口號

removeAttribute(Stringname):刪除要求中的一個屬性

11.我們在web應(yīng)用開發(fā)過程中經(jīng)常遇到輸出某種編碼的字符,如iso8859-l等,如何輸出一個某種編碼的字符串?

答:

PublicStringtranslate(Stringstr){

StringtempStr=

try(

tempStr=newString(str.getBytes("ISO-8859-l"),"GBK");

tempStr=tempStr.trim();

)

catch(Exceptione){

System.err.println(e.getMessage());

}

returntempStr;

)

12.Servlet執(zhí)行時一樣實現(xiàn)哪幾個方法?

答:

publicvoidinit(ServletConfigconfig)

publicServletConfiggetServletConfig()

StringgetServletlnfo()

publicvoidservice(ServletRequestrequest,ServletResponseresponse)

publicvoiddestroy()

Jdbc、Jdo方面

1.Class.forName的作用?什么緣故要用?

答:調(diào)用該訪問返回一個以字符串指定類名的類的對象。

2.Jdo是什么?

答:JDO是Java對象持久化的新的規(guī)范,為javadataobject的簡稱,也是一個用于存取某種數(shù)據(jù)倉庫中的對象的

標(biāo)準(zhǔn)化API。JDO提供了透亮的對象儲備,因此對開發(fā)人員來說,儲備數(shù)據(jù)對象完全不需要額外的代碼(如JDBCAPI

的使用)。這些繁瑣的例行工作差不多轉(zhuǎn)移到JDO產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時刻和精力在

業(yè)務(wù)邏輯上。另外,JDO專門靈活,因為它能夠在任何數(shù)據(jù)底層上運行。JDBC只是面向關(guān)系數(shù)據(jù)庫(RDBMS)JDO更

通用,提供到任何數(shù)據(jù)底層的儲備功能,比如關(guān)系數(shù)據(jù)庫、文件、XML以及對象數(shù)據(jù)庫(ODBMS)等等,使得應(yīng)用

可移植性更強。

3.說出數(shù)據(jù)連接池的工作機制是什么?

答:J2EE服務(wù)器啟動時會建立一定數(shù)量的池連接,并一直堅持許多于此數(shù)目的池連接??蛻舳顺绦蛐枰B接時,

池驅(qū)動程序會返回一個未使用的池連接并將其表記為忙。假如當(dāng)前沒有閑暇連接,池驅(qū)動程序就新建一定數(shù)量的連

接,新建連接的數(shù)量有配置參數(shù)決定。當(dāng)使用的池連接調(diào)用完成后,池驅(qū)動程序?qū)⒋诉B接表記為閑暇,其他調(diào)用就

能夠使用那個連接。

4.Jdo是什么?

答:JDO是Java對象持久化的新的規(guī)范,為javadataobject的簡稱,也是一個用于存取某種數(shù)據(jù)倉庫中的對象的

標(biāo)準(zhǔn)化API。JDO提供了透亮的對象儲備,因此對開發(fā)人員來說,儲備數(shù)據(jù)對象完全不需要額外的代碼(如JDBCAPI

的使用)。這些繁瑣的例行工作差不多轉(zhuǎn)移到JD。產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時刻和精力在

業(yè)務(wù)邏輯上。另外,JDO專門靈活,因為它能夠在任何數(shù)據(jù)底層上運行。JDBC只是面向關(guān)系數(shù)據(jù)庫(RDBMS)JDO

更通用,提供到任何數(shù)據(jù)底層的儲備功能,比如關(guān)系數(shù)據(jù)庫、文件、XML以及對象數(shù)據(jù)庫(ODBMS)等等,使得應(yīng)

用可移植性更強。

XML方面

1.xml有哪些解析技術(shù)?區(qū)別是什么?

答:有DOM,SAX,STAX等

DOM:處理大型文件時其性能下降的專門厲害。那個問題是由DOM的樹結(jié)構(gòu)所造成的,這種結(jié)構(gòu)占用的內(nèi)存較

多,而且DOM必須在解析文件之前把整個文檔裝入內(nèi)存,適合對XML的隨機訪問SAX:不現(xiàn)于DOM,SAX是事件驅(qū)動

型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個文件。當(dāng)遇到像文件開頭,文檔終止,或者

標(biāo)簽開頭與標(biāo)簽終止時,它會觸發(fā)一個事件,用戶通過在其回調(diào)事件中寫入處理代碼來處理XML文件,適合對XML

的順序訪問

STAX:StreamingAPIforXML(StAX)

2.你在項目中用到了xml技術(shù)的哪些方面?如何實現(xiàn)的?

答:用到了數(shù)據(jù)存貯,信息配置兩方面。在做數(shù)據(jù)交換平臺時,將不同數(shù)據(jù)源的數(shù)據(jù)組裝成XML文件,然后將

XML文件壓縮打包加密后通過網(wǎng)絡(luò)傳送給接收者,接收解密與解壓縮后再同XML文件中還原相關(guān)信息進行處理。

在做軟件配置時,利用XML能夠?qū)iT方便的進行,軟件的各種配置參數(shù)都存貯在XM

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論