Java經(jīng)典筆試題8篇_第1頁(yè)
Java經(jīng)典筆試題8篇_第2頁(yè)
Java經(jīng)典筆試題8篇_第3頁(yè)
Java經(jīng)典筆試題8篇_第4頁(yè)
Java經(jīng)典筆試題8篇_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Java經(jīng)典筆試題8篇

篇1:java筆試題

java筆試題

1.java是從()語(yǔ)言改進(jìn)重新設(shè)計(jì),a.adab.cc.pasacal

d.basic答案:b

2.下列語(yǔ)句哪一個(gè)正確()a.java程序經(jīng)編譯后會(huì)產(chǎn)生

machinecodeb.java程序經(jīng)編譯后會(huì)產(chǎn)生bytecodec.java程

序經(jīng)編譯后會(huì)產(chǎn)生dlld.以上都不正確答案:b

3.下列說(shuō)法正確的有()a.class中的constructor不可省略

b.constructor必須與class同名,但方法不能與class同名c.

constructor在一個(gè)對(duì)象被new時(shí)執(zhí)行d.一個(gè)class只能定義一

4"constructor答案:c

4.提供java存取數(shù)據(jù)庫(kù)能力的包是()a.java.sql

b.java,awtc.java,langd.java,swing答案:a

5.下列運(yùn)算符合法的是()a.&b.c.ifd.:二答案:a

6.執(zhí)行如下程序代碼a=0;c=0;do{-c;a=a-l;}while(a>0);

后,c的值是()a.0b.1c.-ld.死循環(huán)答案:c

7.下列哪一種敘述是正確的()a.abstract修飾符可修飾字

段、方法和類(lèi)b.抽象方法的body部分必須用一對(duì)大括號(hào){}包住

C.聲明抽象方法,大括號(hào)可有可無(wú)d.聲明抽象方法不可寫(xiě)出大括

號(hào)答案:d

8.下列語(yǔ)句正確的是()a.形式參數(shù)可被視為local

variableb.形式參數(shù)可被字段修飾符修飾c.形式參數(shù)為方法被

調(diào)用時(shí),真正被傳遞的參數(shù)d.形式參數(shù)不可以是對(duì)象答案:a

9.下列哪種說(shuō)法是正確的()a.實(shí)例方法可直接調(diào)用超類(lèi)的實(shí)

例方法b.實(shí)例方法可直接調(diào)用超類(lèi)的類(lèi)方法c.實(shí)例方法可直接

調(diào)用其他類(lèi)的實(shí)例方法d.實(shí)例方法可直接調(diào)用本類(lèi)的類(lèi)方法答案:

d

二、多項(xiàng)選擇題

1.java程序的'種類(lèi)有()a.類(lèi)(class)b.applet

c.applicationd.servlet

2.下列說(shuō)法正確的有()a.環(huán)境變量可在編譯sourcecode時(shí)

指定b.在編譯程序時(shí),所能指定的環(huán)境變量不包括classpathc.

javac一次可同時(shí)編譯數(shù)個(gè)java源文件d.javac.exe能指定編譯

結(jié)果要置于哪個(gè)目錄(directory)答案:bed

3.下列標(biāo)識(shí)符不合法的有()a.newb.$usdollarsc.1234

d.car.taxi答案:acd

4.下列說(shuō)法錯(cuò)誤的有()a.數(shù)組是一種對(duì)象b.數(shù)組屬于一種

原生類(lèi)c.intnumber=□={31,23,33,43,35,63}d.數(shù)組的大小可

以任意改變答案:bed

5.不能用來(lái)修飾interface的有()a.privateb.public

c.protectedd.static答案:acd

篇2:java筆試題及其答案

1、在java中如果聲明一個(gè)類(lèi)為final,表示什么意思?

答:final是最終的意思,final可用于定義變量、方法和類(lèi)但

含義不同,聲明為final的類(lèi)不能被繼承。

2、父類(lèi)的構(gòu)造方法是否可以被子類(lèi)覆蓋(重寫(xiě))?

答:父類(lèi)的構(gòu)造方法不可以被子類(lèi)覆蓋,因?yàn)楦割?lèi)和子類(lèi)的類(lèi)

名是不可能一樣的。

3、請(qǐng)講述String和StringBuffer的區(qū)別。

答:String類(lèi)所定義的對(duì)象是用于存放“長(zhǎng)度固定”的字符串。

StringBuffer類(lèi)所定義的對(duì)象是用于存放“長(zhǎng)度可變動(dòng)”的字

符串。

4、如果有兩個(gè)類(lèi)A、B(注意不是接口),你想同時(shí)使用這兩個(gè)

類(lèi)的功能,那么你會(huì)如何編寫(xiě)這個(gè)C類(lèi)呢。

答:因?yàn)轭?lèi)A、B不是接口,所以是不可以直接繼承的,但可以

將A、B類(lèi)定義成父子類(lèi),那么C類(lèi)就能實(shí)現(xiàn)A、B類(lèi)的功能了。假

如A為B的父類(lèi),B為C的父類(lèi),此時(shí)C就能實(shí)現(xiàn)A、B的功能。

5、結(jié)合Java視頻Lesson5(多線(xiàn)程),分析sleep和wait。方

法的區(qū)別。

答:Sleeping睡眠的意思:sleepO方法用來(lái)暫時(shí)中止執(zhí)行

的線(xiàn)程。在睡眠后,線(xiàn)程將進(jìn)入就緒狀態(tài)。

waiting等待的意思:如果調(diào)用了wait()方法,線(xiàn)程將處于

等待狀態(tài)。用于在兩個(gè)或多個(gè)線(xiàn)程并發(fā)運(yùn)行時(shí)。

6、談?wù)勀銓?duì)抽象類(lèi)和接口的理解。

答:定義抽象類(lèi)的目的是提供可由其子類(lèi)共享的一般形式、子

類(lèi)可以根據(jù)自身需要擴(kuò)展抽象類(lèi)、抽象類(lèi)不能實(shí)例化、抽象方法沒(méi)

有函數(shù)體、抽象方法必須在子類(lèi)中給出具體實(shí)現(xiàn)。他使用extends

來(lái)繼承。

接口:一個(gè)接口允許一個(gè)類(lèi)從幾個(gè)接口繼承而來(lái),Java程序一

次只能繼承一個(gè)類(lèi)但可以實(shí)現(xiàn)幾個(gè)接口,接口不能有任何具體的方

法,接口也可用來(lái)定義可由類(lèi)使用的一組常量。其實(shí)現(xiàn)方式是

interface來(lái)實(shí)現(xiàn)。

[java筆試題及其答案]

篇3:經(jīng)典java筆試題及答案

1、anonymousinnerclass(匿名內(nèi)部類(lèi))是否可以

extends(繼承)其它類(lèi),是否可以implements(實(shí)現(xiàn))interface(接

口)答:匿名的內(nèi)部類(lèi)是沒(méi)有名字的內(nèi)部類(lèi)。不能extends(繼承)

其它類(lèi),但一個(gè)內(nèi)部類(lèi)可以作為一個(gè)接口,由另一個(gè)內(nèi)部類(lèi)實(shí)現(xiàn)

2、作用域public,private,protected,以及不寫(xiě)時(shí)的區(qū)別答:

區(qū)別如下:作用域當(dāng)前類(lèi)同一package子孫類(lèi)其他

packagepublicJJJVprotectedJJJXfriendlyJ

VXXprivateVXXX不寫(xiě)時(shí)默認(rèn)為friendly

3、staticnestedclass和innerclass的不同答:nested

class(一般是c++的說(shuō)法),innerclass(一般是java的說(shuō)法)。

java內(nèi)部類(lèi)與c+十嵌套類(lèi)最大的不同就在于是否有指向外部的引用

上。注:靜態(tài)內(nèi)部類(lèi)(innerclass)意味著1創(chuàng)建一個(gè)static內(nèi)部

類(lèi)的對(duì)象,不需要一個(gè)外部類(lèi)對(duì)象,2不能從一個(gè)static內(nèi)部類(lèi)的

一個(gè)對(duì)象訪問(wèn)一個(gè)外部類(lèi)對(duì)象

4、&和&&的區(qū)別答:&是位運(yùn)算符,表示按位與運(yùn)算,&&是邏

輯運(yùn)算符,表示邏輯與(and)

5、collection和collections的區(qū)別答:collection是集

合類(lèi)的上級(jí)接口,繼承與他的接口主要有set和list,collections

是針對(duì)集合類(lèi)的一個(gè)幫助類(lèi),他提供一系列靜態(tài)方法實(shí)現(xiàn)對(duì)各種集

合的搜索、排序、線(xiàn)程安全化等操作

6、什么時(shí)候用assert答:assertion(斷言)在軟件開(kāi)發(fā)中是一

種常用的調(diào)試方式,很多開(kāi)發(fā)語(yǔ)言中都支持這種機(jī)制。在實(shí)現(xiàn)中,

assertion就是在程序中的一條語(yǔ)句,它對(duì)一個(gè)boolean表達(dá)式進(jìn)

行檢查,一個(gè)正確程序必須保證這個(gè)boolean表達(dá)式的值為true;

如果該值為false,說(shuō)明程序已經(jīng)處于不正確的狀態(tài)下,系統(tǒng)將給

出警告或退出°一般來(lái)說(shuō),assertion用于保證程序最基本、關(guān)鍵

的正確性。assertion檢查通常在開(kāi)發(fā)和測(cè)試時(shí)開(kāi)啟。為了提高性

能,在軟件發(fā)布后,assertion檢查通常是關(guān)閉的

7、strings=newstring(“xyz”);創(chuàng)建了幾個(gè)string

object答:兩個(gè),一個(gè)字符對(duì)象,一個(gè)字符對(duì)象引用對(duì)象

8、math,round(11.5)等於多少?math,round(TL5)等於多少

答:math,round(11.5)==12;math,round(-11.5)==-11;round方法

返回與參數(shù)最接近的長(zhǎng)整數(shù),參數(shù)加1/2后求其floor

9、shortsi=1;si=si+1;有什么錯(cuò)?shortsi=1;si

+=1;有什么錯(cuò)答:shortsi=1;si=si+1;(sl+1運(yùn)算結(jié)果

是int型,需要強(qiáng)制轉(zhuǎn)換類(lèi)型)shortsi=1;si+=1;(可以正確

編譯)

10、java有沒(méi)有g(shù)oto答:java中的保留字,現(xiàn)在沒(méi)有在java

中使用

11、數(shù)組有沒(méi)有l(wèi)ength。這個(gè)方法?string有沒(méi)有l(wèi)ength()

這個(gè)方法答:數(shù)組沒(méi)有l(wèi)ength。這個(gè)方法,有l(wèi)ength的屬性。

string有有l(wèi)ength。這個(gè)方法

12、overload和override的區(qū)別。overloaded的方法是否可

以改變返回值的類(lèi)型答:方法的重寫(xiě)overriding和重載

overloading是java多態(tài)性的不同表現(xiàn)。重寫(xiě)overriding是父類(lèi)

與子類(lèi)之間多態(tài)性的一種表現(xiàn),重載overloading是一個(gè)類(lèi)中多態(tài)

性的一種表現(xiàn)。如果在子類(lèi)中定義某方法與其父類(lèi)有相同的名稱(chēng)和

參數(shù),我們說(shuō)該方法被重寫(xiě)(overriding)o子類(lèi)的對(duì)象使用這個(gè)方

法時(shí),將調(diào)用子類(lèi)中的定義,對(duì)它而言,父類(lèi)中的定義如同被“屏

蔽”了。如果在一個(gè)類(lèi)中定義了多個(gè)同名的方法,它們或有不同的

參數(shù)個(gè)數(shù)或有不同的參數(shù)類(lèi)型,則稱(chēng)為方法的重載(overloading)。

overloaded的方法是可以改變返回值的類(lèi)型

13、set里的元素是不能重復(fù)的,那么用什么方法來(lái)區(qū)分重復(fù)

與否呢?是用二二還是equals()?它們有何區(qū)別答:set里的元素是

不能重復(fù)的,那么用iterator()方法來(lái)區(qū)分重復(fù)與否。equals。是

判讀兩個(gè)set是否相等equals。和==方法決定引用值是否指向同一

對(duì)象equals。在類(lèi)中被覆蓋,為的是當(dāng)兩個(gè)分離的對(duì)象的內(nèi)容和類(lèi)

型相配的話(huà),返回真值

14、給我一個(gè)你最常見(jiàn)到的runtimeexception答:常見(jiàn)的運(yùn)

行時(shí)異常有如下這些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,undeclaredthrowableexception,

unmodifiablesetexception,unsupportedoperationexception

15、abstractclass和interface有什么區(qū)別答:聲明方法

的存在而不去實(shí)現(xiàn)它的類(lèi)被叫做抽象類(lèi)(abstractclass),它用于

要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類(lèi),并為該類(lèi)聲明方法,但不能在

該類(lèi)中實(shí)現(xiàn)該類(lèi)的情況。不能創(chuàng)建abstract類(lèi)的實(shí)例。然而可以

創(chuàng)建一個(gè)變量,其類(lèi)型是一個(gè)抽象類(lèi),并讓它指向具體子類(lèi)的一個(gè)

實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。abstract類(lèi)的子類(lèi)為

它們父類(lèi)中的所有抽象方法提供實(shí)現(xiàn),否則它們也是抽象類(lèi)為。取

而代之,在子類(lèi)中實(shí)現(xiàn)該方法。知道其行為的其它類(lèi)可以在類(lèi)中實(shí)

現(xiàn)這些方法接口(interface)是抽象類(lèi)的變體。在接口中,所有方法

都是抽象的。多繼承性可通過(guò)實(shí)現(xiàn)這樣的接口而獲得。接口中的所

有方法都是抽象的,沒(méi)有一個(gè)有程序體。接口只可以定義static

final成員變量。接口的實(shí)現(xiàn)與子類(lèi)相似,除了該實(shí)現(xiàn)類(lèi)不能從接

口定義中繼承行為c當(dāng)類(lèi)實(shí)現(xiàn)特殊接口時(shí),它定義(即將程序體給予)

所有這種接U的方法。然后,它可以在實(shí)現(xiàn)了該接U的類(lèi)的任何對(duì)

象上調(diào)用接口的方法。由于有抽象類(lèi),它允許使用接口名作為引用

變量的類(lèi)型。通常的動(dòng)態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類(lèi)型或

從接口類(lèi)型轉(zhuǎn)換,instanceof運(yùn)算符可以用來(lái)決定某對(duì)象的類(lèi)是否

實(shí)現(xiàn)了接口

16、error和exception有什么區(qū)別答:error表示恢復(fù)不是

不可能但很困難的情況下的一種嚴(yán)重問(wèn)題。比如說(shuō)內(nèi)存溢出。不可

能指望程序能處理這樣的情況exception表示一種設(shè)計(jì)或?qū)崿F(xiàn)問(wèn)題。

也就是說(shuō),它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況

17、list,set,map是否繼承自collection接口答:list,

set是,map不是

篇4:java面試筆試題大

JAVA相關(guān)基礎(chǔ)知識(shí)

1、面向?qū)ο蟮奶卣饔心男┓矫?/p>

1.抽象:

抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面,以便更

充分地注意與當(dāng)前目標(biāo)有關(guān)的方面,抽象并不打算了解全部問(wèn)題,

而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。抽象包括兩個(gè)方面,

一是過(guò)程抽象,二是數(shù)據(jù)抽象。

2.繼承:

繼承是一種聯(lián)結(jié)類(lèi)的層次模型,并且允許和鼓勵(lì)類(lèi)的重用,它

提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類(lèi)可以從現(xiàn)有的類(lèi)

中派生,這個(gè)過(guò)程稱(chēng)為類(lèi)繼承。新類(lèi)繼承了原始類(lèi)的特性,新類(lèi)稱(chēng)

為原始類(lèi)的派生類(lèi)(子類(lèi)),而原始類(lèi)稱(chēng)為新類(lèi)的基類(lèi)(父類(lèi))。派生

類(lèi)可以從它的基類(lèi)那里繼承方法和實(shí)例變量,并且類(lèi)可以修改或增

加新的方法使之更適合特殊的需要。

3.封裝:

封裝是把過(guò)程和數(shù)據(jù)包圍起來(lái),對(duì)數(shù)據(jù)的訪問(wèn)只能通過(guò)已定義

的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪

成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過(guò)一個(gè)受保護(hù)的接口

訪問(wèn)其他對(duì)象。

4.多態(tài)性:

多態(tài)性是指允許不同類(lèi)的對(duì)象對(duì)同一消息作出響應(yīng)。多態(tài)性包

括參數(shù)化多態(tài)性和包含多態(tài)性“多態(tài)性語(yǔ)言具有靈活、抽象、行為

共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問(wèn)題。

2、String是最基本的數(shù)據(jù)類(lèi)型嗎?

基本數(shù)據(jù)類(lèi)型包括byte、int、char、long、float、double,

boolean和shorto

java.lang.String類(lèi)是final類(lèi)型的,因此不可以繼承這個(gè)類(lèi)、

不能修改這個(gè)類(lèi)。為了提高效率節(jié)省空間,我們應(yīng)該用

StringBuffer類(lèi)

3、int和Integer有什么區(qū)別

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

Int是java的原始數(shù)據(jù)類(lèi)型,Integer是java為int提供的封裝類(lèi)。

Java為每個(gè)原始類(lèi)型提供了封裝類(lèi)。

原始類(lèi)型封裝類(lèi)

booleanBoolean

charCharacter

byteByte

shortShort

intTnteger

longLong

floatFloat

doubleDouble

引用類(lèi)型和原始類(lèi)型的行為完全不同,并且它們具有不同的語(yǔ)

義。引用類(lèi)型和原始類(lèi)型具有不同的特征和用法,它們包括:大小

和速度問(wèn)題,這種類(lèi)型以哪種類(lèi)型的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),當(dāng)引用類(lèi)型和

原始類(lèi)型用作某個(gè)類(lèi)的實(shí)例數(shù)據(jù)時(shí)所指定的缺省值。對(duì)象引用實(shí)例

變量的缺省值為null,而原始類(lèi)型實(shí)例變量的缺省值與它們的類(lèi)型

有關(guān)。

4、String和StringBuffer的區(qū)別

JAVA平臺(tái)提供了兩個(gè)類(lèi):String和StringBuffer,它們可以

儲(chǔ)存和操作字符串,即包含多個(gè)字符的字符數(shù)據(jù)。這個(gè)String類(lèi)提

供了數(shù)值不可改變的字符串。而這個(gè)StringBuffer類(lèi)提供的字符串

進(jìn)行修改。當(dāng)你知道字符數(shù)據(jù)要改變的時(shí)候你就可以使用

StringBuffero典型地,你可以使用StringBuffers來(lái)動(dòng)態(tài)構(gòu)造字

符數(shù)據(jù)。

5、運(yùn)行時(shí)異常與一般異常有何異同?

異常表示程序運(yùn)行過(guò)程中可能出現(xiàn)的非正常狀態(tài),運(yùn)行時(shí)異常

表示虛擬機(jī)的通常操作中可能遇到的異常,是一種常見(jiàn)運(yùn)行錯(cuò)誤。

java編譯器要求方法必須聲明拋出可能發(fā)生的非運(yùn)行時(shí)異常,但是

并不要求必須聲明拋出未被捕獲的運(yùn)行時(shí)異常。

6、說(shuō)出Servl2t的生命周期,并說(shuō)出Servlet和CGI的區(qū)別。

Servlet被服務(wù)器實(shí)例化后,容器運(yùn)行其init方法,請(qǐng)求到達(dá)

時(shí)運(yùn)行其service方法,service方法自動(dòng)派遣運(yùn)行與請(qǐng)求對(duì)應(yīng)的

doXXX方法(doGet,doPost)等,當(dāng)服務(wù)器決定將實(shí)例銷(xiāo)毀的時(shí)候調(diào)

用其destroy方法c

與cgi的區(qū)別在于servlet處于服務(wù)器進(jìn)程中,它通過(guò)多線(xiàn)程

方式運(yùn)行其service方法,一個(gè)實(shí)例可以服務(wù)于多個(gè)請(qǐng)求,并且其

實(shí)例一般不會(huì)銷(xiāo)毀,而CGT對(duì)每個(gè)請(qǐng)求都產(chǎn)生新的進(jìn)程,服務(wù)完成

后就銷(xiāo)毀,所以效率上低于servlet。

7、說(shuō)出ArrayList,Vector,LinkedList的存儲(chǔ)性能和特性

ArrayList和Vector都是使用數(shù)組方式存儲(chǔ)數(shù)據(jù),此數(shù)組元素

數(shù)大于實(shí)際存儲(chǔ)的數(shù)據(jù)以便增加和插入元素,它們都允許直接按序

號(hào)索引元素,但是插入元素要涉及數(shù)組元素移動(dòng)等內(nèi)存操作,所以

索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于便用了synchronized方法

(線(xiàn)程安全),通常性能上較ArrayList差,而LinkedList使用雙向

鏈表實(shí)現(xiàn)存儲(chǔ),按序號(hào)索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,但是插

入數(shù)據(jù)時(shí)只需要記錄本項(xiàng)的前后項(xiàng)即可,所以插入速度較快。

8、EJB是基于哪些技術(shù)實(shí)現(xiàn)的?并說(shuō)出SessionBean和

EntityBean的區(qū)別,StatefulBean和StatelessBean的區(qū)別。

EJB包括SessionBean、EntityBean、MessageDrivenBean,

基于JNDI、RMI、JAT等技術(shù)實(shí)現(xiàn)。

SessionBean在J2EE應(yīng)用程序中被用來(lái)完成一些服務(wù)器端的業(yè)

務(wù)操作,例如訪問(wèn)數(shù)據(jù)庫(kù)、調(diào)用其他EJB組件。EntityBean被用來(lái)

代表應(yīng)用系統(tǒng)中用到的數(shù)據(jù)。

對(duì)于客戶(hù)機(jī),SessionBean是一種非持久性對(duì)象,它實(shí)現(xiàn)某些

在服務(wù)器上運(yùn)行的業(yè)務(wù)邏輯。

對(duì)于客戶(hù)機(jī),EntityBean是一種持久性對(duì)象,它代表一個(gè)存儲(chǔ)

在持久性存儲(chǔ)器中的實(shí)體的對(duì)象視圖,或是一個(gè)由現(xiàn)有企業(yè)應(yīng)用程

序?qū)崿F(xiàn)的實(shí)體。

SessionBean還可以再細(xì)分為StatefulSessionBean與

StatelessSessionBean,這兩種的SessionBean都可以將系統(tǒng)

邏輯放在method之中執(zhí)行,不同的是StatefulSessionBean可

以記錄呼叫者的狀態(tài),因此通常來(lái)說(shuō),一個(gè)使用者會(huì)有一個(gè)相對(duì)應(yīng)

的StatefulSessionBean的實(shí)體。StatelessSessionBean雖

然也是邏輯組件,但是他卻不負(fù)責(zé)記錄使用者狀態(tài),也就是說(shuō)當(dāng)使

用者呼叫StatelessSessionBean的時(shí)候,EJBContainer并不

會(huì)找尋特定的StatelessSessionBean的實(shí)體來(lái)執(zhí)行這個(gè)methodo

換言之,很可能數(shù)個(gè)使用者在執(zhí)行某個(gè)StatelessSessionBean

的methods時(shí),會(huì)是同一個(gè)Bean的Instance在執(zhí)行。從內(nèi)存方

面來(lái)看,StatefulSessionBean與StatelessSessionBean比

較,StatefulSessionBean會(huì)消耗J2EEServer較多的內(nèi)存,

然而StatefulSessionBean的優(yōu)勢(shì)卻在于他可以維持使用者的狀

態(tài)。

9、Collection和Collections的區(qū)別。

Collection是集合類(lèi)的上級(jí)接口,繼承與他的接口主要有Set

和List.

Collections是針對(duì)集合類(lèi)的‘一個(gè)幫助類(lèi),他提供一系列靜態(tài)

方法實(shí)現(xiàn)對(duì)各種集合的搜索、排序、線(xiàn)程安全化等操作。

10、&和&&的區(qū)別,

&是位運(yùn)算符,表示按位與運(yùn)算,&&是邏輯運(yùn)算符,表示邏輯與

(and)o

IKHashMap和Hashtable的區(qū)別。

HashMap是Hashtable的輕量級(jí)實(shí)現(xiàn)(非線(xiàn)程安全的實(shí)現(xiàn)),他

們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值

(key),由于非線(xiàn)程安全,效率上可能高于Hashtableo

HashMap允許將null作為一個(gè)entry的key或者value,而

Hashtable不允許。

HashMap把Hashtable的contains方法去掉了,改成

containsvalue和containsKeyo因?yàn)閏ontains方法容易讓人引起

誤解。

Hashtable繼承自Dictionary類(lèi),而HashMap是Javal.2引進(jìn)

的Mapinterface的一個(gè)實(shí)現(xiàn)。

最大的不同是,Hashtable的方法是Synchronize的,而

HashMap不是,在多個(gè)線(xiàn)程訪問(wèn)Hashtable時(shí),不需要自己為它的

方法實(shí)現(xiàn)同步,而HashMap就必須為之提供外同步。

Hashtable和HashMap采用的hash/rehash算法都大概一樣,

所以性能不會(huì)有很大的差異。

12、final,finally,finalize的區(qū)另U。

final用于聲明屬性,方法和類(lèi),分別表示屬性不可變,方法

不可覆蓋,類(lèi)不可繼承。

finally是異常處理語(yǔ)句結(jié)構(gòu)的一部分,表示總是執(zhí)行。

finalize是Object類(lèi)的一個(gè)方法,在垃圾收集器執(zhí)行的時(shí)候

會(huì)調(diào)用被回收對(duì)象的此方法,可以覆蓋此方法提供垃圾收集時(shí)的其

他資源回收,例如關(guān)閉文件等。

13、sleep和wait()有什么區(qū)別?

sleep是線(xiàn)程類(lèi)(Thread)的方法,導(dǎo)致此線(xiàn)程暫停執(zhí)行指定時(shí)

間,給執(zhí)行機(jī)會(huì)給其他線(xiàn)程,但是監(jiān)控狀態(tài)依然保持,到時(shí)后會(huì)自

動(dòng)恢復(fù)。調(diào)用sleep不會(huì)釋放對(duì)象鎖。

wait是Object類(lèi)的方法,對(duì)此對(duì)象調(diào)用wait方法導(dǎo)致本線(xiàn)程

放棄對(duì)象鎖,進(jìn)入等待此對(duì)象的等待鎖定池,只有針對(duì)此對(duì)象發(fā)出

notify方法(或notifyAH)后本線(xiàn)程才進(jìn)入對(duì)象鎖定池準(zhǔn)備獲得對(duì)

象鎖進(jìn)入運(yùn)行狀態(tài)C

14、Overload和Override的區(qū)別。Overloaded的方法是否可

以改變返回值的類(lèi)型?

方法的重寫(xiě)Overriding和重載Overloading是Java多態(tài)性的

不同表現(xiàn)。重寫(xiě)Overriding是父類(lèi)與子類(lèi)之間多態(tài)性的一種表現(xiàn),

重載Overloading是一個(gè)類(lèi)中多態(tài)性的一種表現(xiàn)。如果在子類(lèi)中定

義某方法與其父類(lèi)有相同的名稱(chēng)和參數(shù),我們說(shuō)該方法被重寫(xiě)

(Overriding)o子類(lèi)的對(duì)象使用這個(gè)方法時(shí),將調(diào)用子類(lèi)中的定義,

對(duì)它而言,父類(lèi)中的定義如同被“屏蔽”To如果在一個(gè)類(lèi)中定義

了多個(gè)同名的方法,它們或有不同的參數(shù)個(gè)數(shù)或有不同的參數(shù)類(lèi)型,

則稱(chēng)為方法的重載(Overloading)。Overloaded的方法是可以改變

返回值的類(lèi)型。

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

error表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問(wèn)題。

比如說(shuō)內(nèi)存溢出。不可能指望程序能處理這樣的情況。

exception表示一種設(shè)計(jì)或?qū)崿F(xiàn)問(wèn)題。也就是說(shuō),它表示如果

程序運(yùn)行正常,從不會(huì)發(fā)生的情況。

16、同步和異步有何異同,在什么情況下分別使用他們?舉例說(shuō)

明。

如果數(shù)據(jù)將在線(xiàn)程間共享。例如正在寫(xiě)的數(shù)據(jù)以后可能被另一

個(gè)線(xiàn)程讀到,或者正在讀的數(shù)據(jù)可能已經(jīng)被另一個(gè)線(xiàn)程寫(xiě)過(guò)了,那

么這些數(shù)據(jù)就是共享數(shù)據(jù),必須進(jìn)行同步存取。

當(dāng)應(yīng)用程序在對(duì)象上調(diào)用了一個(gè)需要花費(fèi)很長(zhǎng)時(shí)間來(lái)執(zhí)行的方

法,并且不希望讓程序等待方法的返回時(shí),就應(yīng)該使用異步編程,

在很多情況下采用異步途徑往往更有效率。

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

聲明方法的存在而不去實(shí)現(xiàn)它的類(lèi)被叫做抽象類(lèi)(abstract

class),它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類(lèi),并為該類(lèi)聲明

方法,但不能在該類(lèi)中實(shí)現(xiàn)該類(lèi)的情況。不能創(chuàng)建abstract類(lèi)的

實(shí)例。然而可以創(chuàng)建一個(gè)變量,其類(lèi)型是一個(gè)抽象類(lèi),并讓它指向

具體子類(lèi)的一個(gè)實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。

Abstract類(lèi)的子類(lèi)為它們父類(lèi)中的所有扣象方法提供實(shí)現(xiàn),否則它

們也是抽象類(lèi)為。取而代之,在子類(lèi)中實(shí)現(xiàn)該方法。知道其行為的

其它類(lèi)可以在類(lèi)中實(shí)現(xiàn)這些方法。

接口(interface)是抽象類(lèi)的變體。在接口中,所有方法都是抽

象的。多繼承性可通過(guò)實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法

都是抽象的,沒(méi)有一個(gè)有程序體。接口只可以定義staticfina二成

員變量。接口的實(shí)現(xiàn)與子類(lèi)相似,除了該實(shí)現(xiàn)類(lèi)不能從接口定義中

繼承行為。當(dāng)類(lèi)實(shí)現(xiàn)特殊接口時(shí),它定義(即將程序體給予)所有這

種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類(lèi)的任何對(duì)象上調(diào)

用接口的方法。由于有抽象類(lèi),它允許使用接口名作為引用變量的

類(lèi)型。通常的動(dòng)態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類(lèi)型或從接口

類(lèi)型轉(zhuǎn)換,instanceof運(yùn)算符可以用來(lái)決定某對(duì)象的類(lèi)是否實(shí)現(xiàn)了

接口。

18、heap和stack有什么區(qū)別。

棧是一種線(xiàn)形集合,其添加和刪除元素的操作應(yīng)在同一段完成。

棧按照后進(jìn)先出的方式進(jìn)行處理。

堆是棧的一個(gè)組成元素

19、forward知redirect的區(qū)別

forward是服務(wù)器請(qǐng)求資源,服務(wù)器直接訪問(wèn)目標(biāo)地址的URL,

把那個(gè)URL的響應(yīng)內(nèi)容讀取過(guò)來(lái),然后把這些內(nèi)容再發(fā)給瀏覽器,

瀏覽器根本不知道服務(wù)器發(fā)送的內(nèi)容是從哪兒來(lái)的,所以它的地址

欄中還是原來(lái)的地址。

redirect就是服務(wù)端根據(jù)邏輯,發(fā)送一個(gè)狀態(tài)碼,告訴瀏覽器重

新去請(qǐng)求那個(gè)地址,一般來(lái)說(shuō)瀏覽器會(huì)用剛才請(qǐng)求的所有參數(shù)重新

請(qǐng)求,所以session,request參數(shù)都可以獲取。

20、EJB與JAVABEAN的區(qū)別?

JavaBean是可復(fù)用的組件,對(duì)JavaBean并沒(méi)有嚴(yán)格的規(guī)范,

理論上講,任何一個(gè)Java類(lèi)都可以是一個(gè)Beano但通常情況下,

由于JavaBean是被容器所創(chuàng)建(如Tomcat)的,所以JavaBean應(yīng)

具有一個(gè)無(wú)參的構(gòu)造器,另外,通常JavaBean還要實(shí)現(xiàn)

Serializable接口用于實(shí)現(xiàn)Bean的持久性。JavaBean實(shí)際上相當(dāng)

于微軟COM模型中的本地進(jìn)程內(nèi)COM組件,它是不能被跨進(jìn)程訪問(wèn)

的。EnterpriseJavaBean相當(dāng)于DCOM,即分布式組件。它是基

于Java的遠(yuǎn)程方法調(diào)用(RMI)技術(shù)的,所以EJB可以被遠(yuǎn)程訪問(wèn)(跨

進(jìn)程、跨計(jì)算機(jī))。但EJB必須被布署在諸如Webspere、WebLcgic

這樣的容器中,EJB客戶(hù)從不直接訪問(wèn)真正的EJB組件,而是通過(guò)

其容器訪問(wèn)。EJB容器是EJB組件的代理,EJB組件由容器所創(chuàng)建和

管理??蛻?hù)通過(guò)容器來(lái)訪問(wèn)真正的EJB組件。

21、StaticNestedClass和InnerClass的不同。

StaticNestedClass是被聲明為靜態(tài)(static)的內(nèi)部類(lèi),它

可以不依賴(lài)于外部類(lèi)實(shí)例被實(shí)例化。而通常的內(nèi)部類(lèi)需要在外部類(lèi)

實(shí)例化后才能實(shí)例化。

22、JSP中動(dòng)杰INCLUDE與靜態(tài)INCLUDE的區(qū)別?

動(dòng)態(tài)INCLUDE用jsp:include動(dòng)作實(shí)現(xiàn)它總是會(huì)檢查所含文件

中的變化,適合用于包含動(dòng)態(tài)頁(yè)面,并且可以帶參數(shù)。

靜態(tài)INCLUDE用include偽碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,

適用于包含靜態(tài)頁(yè)面

篇5:java面試筆試題(WEB)

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

一共有9個(gè)內(nèi)置對(duì)象

pageContextjavax.servlet,jsp.pageContext

requestjavax.servlet,http.HttpServletRequest

responsejavax.servlet,http.HttpServletResponse

sessionjavax.servlet,http.HttpSession

applicationjavax.servlet.ServletContexta

this.getServletContext()

configjavax.serlvet.ServletConfig

exceptionjava.lang.Throwable

pagejava.lang.Object

outjavax.servlet,jsp.JspWriter

作用:

1、pageContext表示頁(yè)容器GEL表達(dá)式、標(biāo)簽、上傳

2、request服務(wù)器端取得客戶(hù)端的信息:頭信息、Cookie、

請(qǐng)求參數(shù),最大用處在MVC設(shè)計(jì)模式上

3、response服務(wù)器端回應(yīng)客戶(hù)端信息:Cookie,重定向

4、session表示每一個(gè)用戶(hù),用于登錄驗(yàn)證上

5、application表示整個(gè)服務(wù)器

6、config取得初始化參數(shù),初始化參數(shù)在web.xml文件中配

7、exception表示的是錯(cuò)誤頁(yè)的處理操作

8、page如同this一樣,代表整個(gè)jsp頁(yè)面自身

9、out輸出,但是盡量使用表達(dá)式輸出

2.jsp有哪些動(dòng)作?作用分別是什么?

jsp共有以下6中基本動(dòng)作

:在頁(yè)面被請(qǐng)求的時(shí)候包含一個(gè)文件

:尋找或者實(shí)例化一個(gè)javaBean

:設(shè)置javaBean的屬性,通過(guò)反射調(diào)用方法

:取得某個(gè)javaBean的屬性

:把請(qǐng)求轉(zhuǎn)到一個(gè)新的頁(yè)面

:插入Applet程序的代碼

:用于傳參數(shù),和forward一起使用

3.jsp中動(dòng)態(tài)INCLUDE和靜態(tài)INCLUDE的區(qū)別?

動(dòng)態(tài)INCLUDE用動(dòng)作實(shí)現(xiàn):

如果包含的是動(dòng)態(tài)頁(yè),則先編譯之后再進(jìn)行處理,它總是會(huì)檢

查所包含文件中的變化,并且可以帶參數(shù)

靜態(tài)INCLUDE用鬻@include尬偽碼實(shí)現(xiàn):

<%@includefile="include,jsp”%>直接將內(nèi)容先包含后處

理,它不會(huì)檢查所包含的文件的變化,適用于包含靜態(tài)頁(yè)面

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

客戶(hù)端跳轉(zhuǎn):跳轉(zhuǎn)之后地址欄不改變,執(zhí)行完頁(yè)面后不會(huì)轉(zhuǎn)向

還會(huì)回來(lái),相當(dāng)于函數(shù)調(diào)用,并且可以傳遞request屬性,實(shí)際上

是對(duì)RequestDispatcher接口的封裝

服務(wù)器端跳轉(zhuǎn):response.sendRedirect(),跳轉(zhuǎn)之后地址欄改

變,完全轉(zhuǎn)向新的頁(yè)面,不會(huì)再回來(lái),相當(dāng)于goto語(yǔ)句。

5.請(qǐng)總結(jié)一下WEB開(kāi)發(fā)中的會(huì)話(huà)跟蹤實(shí)現(xiàn)

1、Session也是最常用的一種

2、Cookie

3、地址重寫(xiě)

4、隱藏域

6.在Web開(kāi)發(fā)中需要處理HTML標(biāo)記時(shí),應(yīng)做什么樣的處理,

要篩選哪些字符

(<>&“'空格乘號(hào)除號(hào))

因?yàn)橐陨系臉?biāo)記都屬于HTML范疇的內(nèi)容,所以必須進(jìn)行轉(zhuǎn)義操

顯示效果符號(hào)說(shuō)明實(shí)體名表示實(shí)體編號(hào)表示

空格符

<小于號(hào)<<

》大于號(hào)?

&符號(hào)&&&

“雙引號(hào)“”

C版權(quán)符號(hào)&169;

R注冊(cè)商標(biāo)

X乘號(hào)XX

+除號(hào)++

'單引號(hào)

7.說(shuō)明Jsp中errorpage的作用域,應(yīng)用范圍

表示錯(cuò)誤頁(yè)的操作,在一般的站點(diǎn)中,只要一個(gè)程序出現(xiàn)了錯(cuò)

誤,就是產(chǎn)生了異常,則可以統(tǒng)一跳轉(zhuǎn)到一個(gè)頁(yè)面上進(jìn)行顯示,那

么這種操作就屬于錯(cuò)誤頁(yè)的處理,但是簡(jiǎn)單的錯(cuò)誤頁(yè)基本上都是在

Jsp的開(kāi)發(fā)中使用的。要想進(jìn)行錯(cuò)誤頁(yè)的設(shè)置,需要滿(mǎn)足以下兩個(gè)

條件:

1.在錯(cuò)誤能夠處理的頁(yè)上的page指令中,增加:

isErrorpage二"true”,表示可以處理錯(cuò)誤

2.在每一個(gè)頁(yè)面指定errorpage,執(zhí)行isErrorpage為true

的頁(yè)面。

如果現(xiàn)在希望能夠配置一種全局的錯(cuò)誤處理的話(huà),則可以在

Web.xml文件中進(jìn)行配置

404

/errors,jsp

java.lang.NulIpointerException

/errors,jsp

一旦出現(xiàn)錯(cuò)誤之后,會(huì)自動(dòng)跳轉(zhuǎn)到指定的頁(yè)面,但是這樣的跳

轉(zhuǎn),永遠(yuǎn)都是屬于服務(wù)器端跳轉(zhuǎn)

篇6:java筆試題以及答案詳解

java筆試題以及答案詳解

一、單項(xiàng)選擇題

1.Java是從語(yǔ)言改進(jìn)重新設(shè)計(jì),

A.AdaB.C++C.PasacalD.BASIC

答案:B

2.下列語(yǔ)句哪一個(gè)正確0

A.Java程序經(jīng)編譯后會(huì)產(chǎn)生machinecode

B.Java程序經(jīng)編譯后會(huì)產(chǎn)生bytecode

C.Java程序經(jīng)編譯后會(huì)產(chǎn)生DLL

D.以上都不正確

答案:B

3.下列說(shuō)法正確的有()

A.class中的constructor不可省略

B.constructor必須與class同名,但方法不能與class同名

C.constructor在一個(gè)對(duì)象被new時(shí)執(zhí)行

D.一個(gè)class只能定義一個(gè)constructor

答案:C

詳解:見(jiàn)下面代碼,很明顯方法是可以和類(lèi)名同名的,和構(gòu)

造方法唯一的區(qū)別就是,構(gòu)造方法沒(méi)有返回值。

packagenet.study;

publicclassTestConStructor

(

publicTestConStructor()

(

System.out.println(uconstructor);

publicvoidTestConStructor()

System,out.println("notconstructorv);

}

publicstaticvoidmain(String[]args)

(

TestConStructortestConStructor=newTestConStructcr();

System,out.printin(“main");

testConStructor.TestConStructor();

)

)

4.提供Java存取數(shù)據(jù)庫(kù)能力的包是()

A.java,sqlB.java,awtC.java,langD.java,swing

答案:A

5.下列運(yùn)算符合法的是()

A.&&B.C.ifD.:=

答案:A

詳解:

java中沒(méi)有:二這種運(yùn)算符,ifelse不算運(yùn)算符

6.執(zhí)行如下程序代碼

a=0;c=0;

do{

一c;

a=a-l;

}while(a>0);

后,c的值是0

A.0B.1C.-1D.死循環(huán)

答案:C

詳解:

Dowhile中的語(yǔ)句是至少要執(zhí)行一次的。執(zhí)行順序?yàn)椋篸e中

的語(yǔ)句,然后價(jià)差while條件,如果為false,則終止;如果為true,

則繼續(xù)執(zhí)行Do中的語(yǔ)句,然后再檢查while條件,如此循環(huán)。

7.下列哪一種敘述是正確的()

A.abstract修飾符可修飾字段、方法和類(lèi)

B.抽象方法的body部分必須用一對(duì)大括號(hào){}包住

C.聲明抽象方法,大括號(hào)可有可無(wú)

D.聲明抽象方法不可寫(xiě)出大括號(hào)

答案:D

詳解:

abstract不能修飾字段。既然是抽象方法,當(dāng)然是沒(méi)有實(shí)現(xiàn)的

方法,根本就沒(méi)有body部分。

8.下列語(yǔ)句正確的是()

A.形式參數(shù)可被視為localvariable

B.形式參數(shù)可被字段修飾符修飾

C.形式參數(shù)為方法被調(diào)用時(shí),真正被傳遞的參數(shù)

D.形式參數(shù)不可以是對(duì)象

答案:A

詳解:

形參可以看成方法中的局部變量。傳遞的是對(duì)象引用

9.下列哪種說(shuō)法是正確的()

A.實(shí)例方法可直接調(diào)用超類(lèi)的實(shí)例方法

B.實(shí)例方法可直接調(diào)用超類(lèi)的類(lèi)方法

C.實(shí)例方法可直接調(diào)用其他類(lèi)的實(shí)例方法

D.實(shí)例方法可直接調(diào)用本類(lèi)的類(lèi)方法

答案:D

二、多項(xiàng)選擇題

1.Java程序的種類(lèi)有()

A.類(lèi)(Class)B.AppletC.ApplicationD.Servlet

2.下列說(shuō)法正確的有0

A.環(huán)境變量可在編譯sourcecode的指定

B.在編譯程序時(shí),所能指定的環(huán)境變量不包括classpath

C.javac一次可同時(shí)編譯數(shù)個(gè)Java源文件

D.javac.exe能指定編譯結(jié)果要置于哪個(gè)目錄(directory)

答案:BCD

3.下列標(biāo)識(shí)符不合法的有()

A.newB.$UsdollarsC.1234D.car.taxi

答案:ACD

解釋?zhuān)?/p>

java變量命名規(guī)則:1.大小寫(xiě)有別,例如a和A是兩個(gè)變

量2.長(zhǎng)度任意3.可以任何字母開(kāi)始,另外還可以以和“$

開(kāi)始,一般“$”是很多代碼生成器用的,人工寫(xiě)出來(lái)的代碼不鼓勵(lì)

"$”4.除了第一個(gè)字符,后面可以跟任何字母,數(shù)字,_

和$

new是關(guān)鍵字不行,

不能以數(shù)字開(kāi)頭。不用有”這種符號(hào)

4.下列說(shuō)法錯(cuò)誤的.有()

A.數(shù)組是一種對(duì)象

B.數(shù)組屬于一種原生類(lèi)

C.intnumber=□二{31,23,33,43,35,63}

D.數(shù)組的大小可以任意改變

答案:BCD

解釋?zhuān)?/p>

數(shù)組不是原三類(lèi):intdoublebooleanfloatbyteshort

longchar,初始化多大就是多大

5.不能用來(lái)修飾interface的有()

A.privateB.publicC.protectedD.static

答案:ACD

解釋?zhuān)?/p>

interface是public的,加不加都是public

6.下列正確的有()

A.callbyvalue不會(huì)改變實(shí)際參數(shù)的數(shù)值

B.callbyreference能改變實(shí)際參數(shù)的參考地址

C.callbyreference不能改變實(shí)際參數(shù)的參考地址

D.callbyreference能改變實(shí)際參數(shù)的內(nèi)容

答案:ACD

7.下列說(shuō)法錯(cuò)誤的有()

A.在類(lèi)方法中可用this來(lái)調(diào)用本類(lèi)的類(lèi)方法

B.在類(lèi)方法中調(diào)用本類(lèi)的類(lèi)方法時(shí)可直接調(diào)用

C.在類(lèi)方法中只能調(diào)用本類(lèi)中的類(lèi)方法

D.在類(lèi)方法中絕對(duì)不能調(diào)用實(shí)例方法

答案:CD

解釋?zhuān)?/p>

原來(lái)答案中包含A,但是在JDK1.5中,這樣寫(xiě)是不會(huì)出錯(cuò)的,

只不過(guò)會(huì)有警告而已。類(lèi)方法中當(dāng)然可以條用其它的方法,比如

system,out。當(dāng)然你也可以newObject,調(diào)用一下

object.toStringO

8.下列說(shuō)法錯(cuò)誤的有()

A.Java面向?qū)ο笳Z(yǔ)言容許單獨(dú)的過(guò)程與函數(shù)存在

B.Java面向?qū)ο笳Z(yǔ)言容許單獨(dú)的方法存在

C.Java語(yǔ)言中的方法屬于類(lèi)中的成員(member)

D.Java語(yǔ)言中的方法必定隸屬于某一類(lèi)(對(duì)象),調(diào)用方法與

過(guò)程或函數(shù)相同

答案:ABC

解釋?zhuān)?/p>

java全部完全面向?qū)ο蟮?/p>

9.下列說(shuō)法錯(cuò)誤的有()

A.能被java.exe成功運(yùn)行的javaclass文件必須有main()方

B.J2SDK就是JavaAPI

C.Appletviewer.exe可利用jar選項(xiàng)運(yùn)行.jar文件

D.能被Appletviewer成功運(yùn)行的javaclass文件必須有

main()方法

答案:BCD

解釋?zhuān)?/p>

A正確main方法是入口BJ2SDK當(dāng)然不僅僅包含javaAPIC

jar選項(xiàng)是java.exe的選項(xiàng)DAppletviewer是運(yùn)行applet的,

applet不用main方法,繼承applet類(lèi)即可。

三、判斷題

1.Java程序中的起始類(lèi)名稱(chēng)必須與存放該類(lèi)的文件名相同。()

答案:正確

2.Unicodc是用16位來(lái)表示一個(gè)字的。()

答案:正確

3.原生類(lèi)中的數(shù)據(jù)類(lèi)型均可任意轉(zhuǎn)換。()

答案:錯(cuò)誤

L分別寫(xiě)出BOOL,int,float,指針類(lèi)型的變量a與“零”的比

較語(yǔ)句。

答案:

BOOL:if(!a)orif(a)

int:if(a==0)

float:constEXPRESSIONEXP=0.000001

if(a<EXP&&a>-EXP)

pointer:if(a!=NULL)orif(a二二NULL)

篇7:完美時(shí)空java筆試題

完美時(shí)空java筆試題老早之前筆的,當(dāng)時(shí)都不會(huì),就把題抄

到紙上了,發(fā)現(xiàn)完美還在通知筆試??發(fā)上來(lái)大家參考一下吧

簡(jiǎn)答題:

死鎖是怎么出現(xiàn)的?如何避免?

數(shù)據(jù)庫(kù)設(shè)計(jì)的第三范式;

什么是存儲(chǔ)過(guò)程?其原理和好處?

IP頭和TCP頭分別包含什么信息;

JAVA中異常的分類(lèi);

Linux中syslog的分類(lèi)?默認(rèn)文件?日志輪轉(zhuǎn)的配置;

C++中虛函數(shù)的實(shí)現(xiàn)機(jī)制;

windows的hernel32.dll和user,dll分別完成了哪些方面的‘

函數(shù)封裝;

程序輸出題:

System.out.println(2.0-1.1);請(qǐng)問(wèn)這條語(yǔ)句有問(wèn)題嗎,輸出

結(jié)果是什么?1:

2:有什么問(wèn)題,輸出結(jié)果是什么?

publicclassTest{

publicstaticvoidmain(Stringargs[])

(

finallongM=24*60*60*1000*1000;

finallongS=24*60*60*1000;

System.out.printin(is:"十M);

System,out.printin(“Sis:”+S);

System.out.printIn(M/S);

)

}

還有一道輸出題,好像是print和println不記得了

編程題:

用基本的字符操作函數(shù)完成IP地址與十進(jìn)制之間的轉(zhuǎn)換,

大概是這樣編程題給了個(gè)轉(zhuǎn)換的例子,我當(dāng)時(shí)怎么轉(zhuǎn)都轉(zhuǎn)不對(duì),

就沒(méi)寫(xiě)。后來(lái)聽(tīng)說(shuō)那個(gè)例子本身就不對(duì)。,。

對(duì)了,還有個(gè)智力題:8個(gè)球,一個(gè)球較重,一個(gè)天平,最少

次數(shù)找到重球。類(lèi)似的吧,我怎么記得不是8個(gè)球。

畢業(yè)生求職網(wǎng)提供相關(guān)文章:應(yīng)用系統(tǒng)開(kāi)發(fā)筆試題筆試題

(信令網(wǎng))網(wǎng)通集團(tuán)筆試題目

篇8:常見(jiàn)java應(yīng)聘筆試題

常見(jiàn)java應(yīng)聘筆試題

1.Java中sleep和wait的區(qū)別

①這兩個(gè)方法來(lái)自不同的類(lèi)分別是,sleep來(lái)自Thread類(lèi),

和wait來(lái)自O(shè)bject類(lèi)。

sleep是Thread的靜態(tài)類(lèi)方法,誰(shuí)調(diào)用的誰(shuí)去睡覺(jué),即使在a

線(xiàn)程里調(diào)用b的sleep方法,實(shí)際上還是a去睡覺(jué),要讓b線(xiàn)程睡

覺(jué)要在b的代碼中調(diào)用sleepo

②鎖:最主要是sleep方法沒(méi)有釋放鎖,而wait方法釋放了

鎖,使得其他線(xiàn)程可以使用同步控制塊或者方法。

sleep不出讓系統(tǒng)資源;wait是進(jìn)入線(xiàn)程等待池等待,出讓系

統(tǒng)資源,其他線(xiàn)程可以占用CPU。一般wait不會(huì)加時(shí)間限制,因?yàn)?/p>

如果wait線(xiàn)程的運(yùn)行資源不夠,再出來(lái)也沒(méi)用,要等待其他線(xiàn)程調(diào)

用notify/notifyAll喚醒等待池中的所有線(xiàn)程,才會(huì)進(jìn)入就緒隊(duì)列

等待OS分配系統(tǒng)資源。sleep(milliseconds)可以用時(shí)間指定使它

自動(dòng)喚醒過(guò)來(lái),如果時(shí)間不到只能調(diào)用interrupt。強(qiáng)行打斷。

Thread,sleep(0)的作用是“觸發(fā)操作系統(tǒng)立刻重新進(jìn)行一次

CPU競(jìng)爭(zhēng)”。

③使用范圍:wait,notify和notifyAll只能在同步控制方

法或者同步控制塊里面使用,而sleep可乂在任何地方使用。

synchronized(X){x.notify()〃或者wait。}

2.Java中HashMap和HashTable的區(qū)別

①歷史原因:Hashtable是給予陳舊的Dictonary類(lèi)的,

HashMap是Javal.2引進(jìn)的Map接口的一個(gè)實(shí)現(xiàn)

②HashMap允許空的鍵值對(duì),而HashTable不允許

③HashTable同步,而HashMap非同步,效率上比HashTable

要高

3.請(qǐng)簡(jiǎn)述在異常當(dāng)中,throw和throws有什么區(qū)別

①throw代表動(dòng)作,表示拋出一個(gè)異常的動(dòng)作;throws代表一

種狀態(tài),代表方法可能有異常拋出

②Ihrow用在方法實(shí)現(xiàn)中,而throws用在方法聲明中

③throw只能用于拋出一種異常,而throws可以?huà)伋龆鄠€(gè)異

4.內(nèi)存溢出和內(nèi)存泄露的區(qū)別

內(nèi)存溢出outofmemory,是指程序在申請(qǐng)內(nèi)存時(shí),沒(méi)有足夠

的內(nèi)存空間供其使用,出現(xiàn)outofmemory;比如申請(qǐng)了一個(gè)

integer,但給它存了long才能存下的數(shù),那就是內(nèi)存溢出。

內(nèi)存泄露memoryleak,是指程序在申請(qǐng)內(nèi)存后,無(wú)法釋放已

申請(qǐng)的內(nèi)存空間,一次內(nèi)存泄露危害可以忽略,但內(nèi)存泄露堆積后

果很?chē)?yán)重,無(wú)論多少內(nèi)存,遲早會(huì)被占光。

memoryleak會(huì)最終會(huì)導(dǎo)致outofmemory!

內(nèi)存溢出就是你要求分配的內(nèi)存超出了系統(tǒng)能給你的,系統(tǒng)不

能滿(mǎn)足需求,于是產(chǎn)生溢出。

內(nèi)存泄漏是指你向系統(tǒng)申請(qǐng)分配內(nèi)存進(jìn)行使用(new),可是使用

完了以后卻不歸還(),結(jié)果你申請(qǐng)到的那塊內(nèi)存你自己也不能再訪

問(wèn)(也許你把它的地址給弄丟了),而系統(tǒng)也不能再次將它分配給

需要的程序。一個(gè)盤(pán)子用盡各種方法只能裝4個(gè)果子,你裝了5

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論