42、設(shè)有一個(gè)二維數(shù)組 A[m][n],假設(shè)A[0][0]存放的位置在 644(10),A[2][2]存放的文職在676(10)每個(gè)元素占一個(gè)空間,問(wèn) A[3][3](10)存放在什么位置? 腳注(10)表示用 10進(jìn)制表示(C)
A.688
B.678
C.692
D.699
public static void main(String args[]) {
Thread t = new Thread() {
public void run() {
pong();
}
};
t.run();
System.out.print("ping");
}
static void pong() {
System.out.print("pong");
}
A.pingpong
B.pongping
C.pingpong 和 pongping 都有可能
D.都有可能
class NULL {
public static void haha() {
System.out.println("haha");
}
public static void main(String[] args) {
((NULL) null).haha();
}
}
45、解釋一下什么是 Servlet, 說(shuō)一說(shuō) Servlet 的生命周期
Servlet 是一種服務(wù)器端的 Java 應(yīng)用程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,可以生成動(dòng)態(tài)的 Web 頁(yè)面。 它擔(dān)當(dāng)客戶請(qǐng)求(Web 瀏覽器或其他 HTTP 客戶程序)與服務(wù)器響應(yīng)(HTTP 服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序)的中間層。Servlet是位于 Web 服務(wù)器內(nèi)部的服務(wù)器端的 Java 應(yīng)用程序,與傳統(tǒng)的從命令行啟動(dòng)的 Java 應(yīng)用程序不同,Servlet 由 Web 服務(wù)器進(jìn)行加載,該 Web 服務(wù)器必須包含支持 Servlet 的 Java 虛擬機(jī)。
Servlet 生命周期可以分成四個(gè)階段:加載和實(shí)例化、初始化、服務(wù)、銷毀。當(dāng)客戶第一次請(qǐng)求時(shí),首先判斷是否存在 Servlet 對(duì)象,若不存在,則由 Web 容器創(chuàng)建對(duì)象,而后調(diào)用 init()方法對(duì)其初始化,此初始化方法在整個(gè) Servlet 生命周期中只調(diào)用一次。完成 Servlet 對(duì)象的創(chuàng)建和實(shí)例化之后,Web 容器會(huì)調(diào)用 Servlet 對(duì)象的 service()方法來(lái)處理請(qǐng)求。當(dāng) Web 容器關(guān)閉或者 Servlet 對(duì)象要從容器中被刪除時(shí),會(huì)自動(dòng)調(diào)用 destory()方法。
對(duì)于一個(gè) web 應(yīng)用程序來(lái)說(shuō),過(guò)濾器是處于 web 容器內(nèi)的一個(gè)組件,它會(huì)過(guò)濾特定請(qǐng)求資源請(qǐng)求信息和響應(yīng)信息。一個(gè)請(qǐng)求來(lái)到時(shí),web 容器會(huì)判斷是否有過(guò)濾器與該信息資源相關(guān)聯(lián),如果有則交給過(guò)濾器處理,然后再交給目標(biāo)資源,響應(yīng)的時(shí)候則以相反的順序交給過(guò)濾器處理,最后再返回給用戶瀏覽器。
常見的過(guò)濾器用途主要包括:對(duì)用戶請(qǐng)求進(jìn)行統(tǒng)一認(rèn)證、對(duì)用戶的訪問(wèn)請(qǐng)求進(jìn)行記錄和審核、對(duì)用戶發(fā)送的數(shù)據(jù)進(jìn)行過(guò)濾或替換、轉(zhuǎn)換圖象格式、對(duì)響應(yīng)內(nèi)容進(jìn)行壓縮以減少傳輸量、對(duì)請(qǐng)求或響應(yīng)進(jìn)行加解密處理、觸發(fā)資源訪問(wèn)事件等。
public static void bubbleSort() {
int arr[] = {-5, 29, 7, 10, 5, 16};
for (int i = 1; i < arr.length; i++) {
for (int j = 0; j < arr.length - i; j++) {
if (arr[j] < arr[j + 1]) {
int temp;
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(" " + arr[i] + " ");
}
}
48、寫出一個(gè)單例的實(shí)現(xiàn)(懶加載方式)
class LazySingleton {
private LazySingleton() {
}
private static class SingletonHolder {
private static LazySingleton instance = new LazySingleton();
}
public static LazySingleton getInstance() {
return SingletonHolder.instance;
}
}
49、2006 年某人連續(xù)打工 24 天,共賺了 190 元(日工資 10 元,星期日工資 5 元,星期日休息無(wú)工資)。已知他打工是從 1 月下旬的某一天開始的,這個(gè)月的 1 日恰好是星期日, 這人打工結(jié)束的那一天是 2 月(C)日
A.2 月 6 日
B.2 月 14 日
C.2 月 18 日
D.2 月 21 日
A.15
B.14
C.13
D.12
A.11
B.12
C.13
D.14
5L 桶打滿水,全部倒入 6L 桶;
5L 桶再次打滿,往 6L 桶倒水至其滿。此時(shí) 5L 桶留下 4L 水;
6L 桶清空,將 5L 桶中的 4L 水倒入 6L 桶;
5L 桶打滿水,往 6L 桶倒水至其滿,則 5L 桶中得 3L 水。
先打開第一個(gè)開關(guān),開一會(huì)再關(guān)上,然后打開第二個(gè)開關(guān)進(jìn)入房間再摸一下每個(gè)燈,發(fā)熱的那盞是第一個(gè)開關(guān)的,亮的那盞是第二個(gè)開關(guān)的,沒(méi)變化的那盞是第三個(gè)開關(guān)的。
把每雙襪子分成兩只。每人各拿一只。這樣,每人手中就有四只黑襪,四只白襪。每人也就有兩雙黑襪,兩雙白襪了。
電梯每層都會(huì)開一下的,所以,在第一層就拿,到第二層,看到更大就換一下,更小就不換,一直這樣上去,到最上層后,拿到的就是最大的。
A.0
B.1
C.2
D.3
A.程序無(wú)法翻譯。
B.程序能正常編譯,運(yùn)行時(shí)或拋出 NoSuchMethodError 異常。
C.程序能正常編譯,正常運(yùn)行。
D.程序能正常編譯,正常運(yùn)行一會(huì)會(huì)立刻退出。
A.-Xms50M
B.-Xmx50M
C.-Xmn50M
D.-Xss50M
static boolean foo(char c) {
System.out.print(c);
return true;
}
public static void main(String[] args) {
int i = 0;
for (foo('A'); foo('B') && (i < 2); foo('C')) {
i++;
foo('D');
}
}
A.ABDCBDCB
B.ABDCDBCB
C.ABDBCDCB
D.ABDBCDCB
A.start()
B.run()
C.exit()
D.getPriority()
System.out.print(Integer.MAX_VALUE*2);
System.out.print(Integer.MIN_VALUE*2);
A.-2 -1
B.-1 -2
C.-2 0
D.-1 -1
A.error>warn>info>debug
B.warn>info>debug>error
C.warn >debug>error>info
D.error>warn>debug>info
A.notify
B.wait
C.sleep
D.yield
A.在線程A中執(zhí)行線程 B 的 join()方法,則線程 A 等待直到 B 執(zhí)行完成。
B.線程A通過(guò)調(diào)用 interrupt()方法來(lái)中斷其阻塞狀態(tài)。
C.currentThread()方法返回當(dāng)前線程的引用。
D.若線程A調(diào)用方法 isAlive()返回為 true,則說(shuō)明A正在執(zhí)行中。
A.s2+s1;
B.s1.concat(s2)
C.s1.append(s2);
D.StringBuffer buf = new StringBuffer(s1); buf.append(s2);
A.1
B.2
C.3
D.4
A.2
B.4
C.8
D.16
A.select * into b from a where 1<>1;
B.creat table b as select * from a where 0=1;
C.insert into b as select * from a where 1<>1;
D.insert into b select * from a where 1<>1;
A.提供了對(duì)唯一實(shí)現(xiàn)的受控訪問(wèn)
B.允許可變數(shù)目的實(shí)例
C.單例模式的抽象層會(huì)導(dǎo)致單例類擴(kuò)展有和那的困難
D.單例模式很容易導(dǎo)致數(shù)據(jù)庫(kù)的連接池溢出
A.rownum
B.limit
C.TOP
D.pagenum
A.preparedStatement.getMetaData().getTables(***);
B.connection.getMetaData().getTables(***);
C.result.getMetaData().getTables(***);
D..DiverManager.getMeta().getTables(***);
A.存儲(chǔ)過(guò)程
B.數(shù)據(jù)庫(kù)日志
C.觸發(fā)器
D.物化視圖
A.delete from tsuer;
B.truncate table tuser;
C.drop table tuser;
D.delete tuser;
A.FTP
B.Windows 共享
C.TCP
D.SSH
A.判斷一個(gè)字符串 str 中是否含有“.”,可以根據(jù) str.indexOf(“.”)是否等于-1 判斷。
B.判斷一個(gè)字符串 str 是否含有“.”,可以根據(jù) str.indexOf(“\\.”)是否等于-1 判斷。
C.根據(jù)“.”分隔字符串 str 的寫法可以是 str.split(“\\.”)
D.根據(jù)“.”分隔字符串 str 的寫法可以是 str.split(“.”)
1.class Super {
2. public float getNum() {
3. }
4.}
5.public class Sub extends Super {
6.
7.}
A.public float getNum{return 4.0f;}
B.public void getNum(){}
C.public void getNum(double d()){}
D.public double getNum(float d){return 4.0d;}
class Foo {
public static void main(String args[]) {
try {
return;
} finally {
System.out.println("Finally");
}
}
}
A.print out nothing;
B.print out “Finally”
C.編譯錯(cuò)誤
D.以上都不對(duì)
???????78、根據(jù)以下代碼回答問(wèn)題,請(qǐng)問(wèn)輸出 i 和 j 的值是多少(D)
int i = 1, j = 10;
do {
if (i++ > --j) continue;
} while (i < 5);
A.i=6 j=5
B.i=5 j=5
C.i=6 j=4
D.i=5 j=6
79、???????請(qǐng)問(wèn)以下是java關(guān)鍵字的有?(CD)
A.run
B.low
C.import
D.implements
???????79、以下哪些不屬于約束(CD)
A.主鍵
B.外鍵
C.索引
D.唯一索引
E.not null
A.服務(wù)器啟動(dòng)時(shí)會(huì)初始建立一定數(shù)量的池連接,并一直維持不少于此數(shù)目的池連接。
B.客戶端程序需要連接時(shí),池驅(qū)動(dòng)程序會(huì)返回一個(gè)使用的池連接并將其使用計(jì)數(shù)加 1。
C.如果當(dāng)前沒(méi)有空閑連接,驅(qū)動(dòng)程序就會(huì)再新建一定數(shù)量的連接,新建連接的數(shù)量可以由配置參數(shù)決定。
D.當(dāng)使用池連接調(diào)用完成后,池驅(qū)動(dòng)程序?qū)⒋诉B接標(biāo)記為空間,其他調(diào)用就可以使用這個(gè)連接。???????