IT在(Zai)线(Xian)学(Xue)习(Xi)
热(Re)门(Men)课(Ke)程(Cheng)

Python全(Quan)系(Xi)列(Lie)

30个(Ge)阶(Jie)段(Duan)/2464集(Ji)课(Ke)程(Cheng)/290个(Ge)实(Shi)操(Cao)

微(Wei)服(Fu)务(Wu)

26个(Ge)阶(Jie)段(Duan)/2573集(Ji)课(Ke)程(Cheng)/144个(Ge)实(Shi)操(Cao)

JavaEE就(Jiu)业(Ye)班(Ban)

33个(Ge)阶(Jie)段(Duan)/3729集(Ji)课(Ke)程(Cheng)/223个(Ge)实(Shi)操(Cao)

软(Ruan)件(Jian)测(Ce)试(Shi)全(Quan)系(Xi)列(Lie)

19个(Ge)阶(Jie)段(Duan)/2642集(Ji)课(Ke)程(Cheng)/174个(Ge)实(Shi)操(Cao)

AI人(Ren)工(Gong)智(Zhi)能(Neng)算(Suan)法(Fa)班(Ban)

32个(Ge)阶(Jie)段(Duan)/754集(Ji)课(Ke)程(Cheng)/435个(Ge)实(Shi)操(Cao)

7U职(Zhi)场(Chang)软(Ruan)实(Shi)力(Li)

9个(Ge)阶(Jie)段(Duan)/301集(Ji)课(Ke)程(Cheng)/72个(Ge)实(Shi)操(Cao)

大(Da)数(Shu)据(Ju)开(Kai)发(Fa)工(Gong)程(Cheng)师(Shi)

27个(Ge)阶(Jie)段(Duan)/1354集(Ji)课(Ke)程(Cheng)/186个(Ge)实(Shi)操(Cao)

毕(Bi)设(She)项(Xiang)目(Mu)

3个(Ge)阶(Jie)段(Duan)/53集(Ji)课(Ke)程(Cheng)/实(Shi)操(Cao)演(Yan)练(Lian)

Web前(Qian)端(Duan)工(Gong)程(Cheng)师(Shi)

28个(Ge)阶(Jie)段(Duan)/965集(Ji)课(Ke)程(Cheng)/125个(Ge)实(Shi)操(Cao)

大(Da)学(Xue)生(Sheng)创(Chuang)新(Xin)创(Chuang)业(Ye)比(Bi)赛(Sai)

比(Bi)赛(Sai)进(Jin)入(Ru)大(Da)厂(Chang)机(Ji)会(Hui) 十(Shi)大(Da)学(Xue)习(Xi)阶(Jie)段(Duan)

互(Hu)联(Lian)网(Wang)P7架(Jia)构(Gou)师(Shi)

25个(Ge)阶(Jie)段(Duan)/1427集(Ji)课(Ke)程(Cheng)/111个(Ge)实(Shi)操(Cao)

数(Shu)学(Xue)建(Jian)模(Mo)

建(Jian)模(Mo)概(Gai)述(Shu)和(He)真(Zhen)题(Ti)讲(Jiang)解(Jie) 八(Ba)大(Da)学(Xue)习(Xi)阶(Jie)段(Duan)

iPhone下(Xia)载(Zai)((?)百(Bai)战(Zhan)App)

Android下(Xia)载(Zai)((?)百(Bai)战(Zhan)App)

百(Bai)战(Zhan)小(Xiao)程(Cheng)序(Xu)

全(Quan)国(Guo)咨(Zi)询(Xun)热(Re)线(Xian):(?)400-009-1906

第(Di)一(Yi)篇(Pian):(?)面(Mian)试(Shi)题(Ti)汇(Hui)总(Zong)

Java基(Ji)础(Chu)、(?)语(Yu)法(Fa)
1.Java跨(Kua)平(Ping)台(Tai)原(Yuan)理(Li)((?)字(Zi)节(Jie)码(Ma)文(Wen)件(Jian)、(?)虚(Xu)拟(Ni)机(Ji))(?) 2.Java的(De)安(An)全(Quan)性(Xing) 3.Java三(San)大(Da)版(Ban)本(Ben) 4.什(Shi)么(Me)是(Shi)JVM?(?)什(Shi)么(Me)是(Shi)JDK?(?) 什(Shi)么(Me)是(Shi)JRE?(?) 5.Java三(San)种(Zhong)注(Zhu)释(Shi)类(Lei)型(Xing) 6.8种(Zhong)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)及(Ji)其(Qi)字(Zi)节(Jie)数(Shu) 7.i++和(He)++i的(De)异(Yi)同(Tong)之(Zhi)处(Chu) 8.&和(He)&&的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi),(?)|和(He)||的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi) 9.用(Yong)最(Zui)有(You)效(Xiao)率(Lu)的(De)方(Fang)法(Fa)算(Suan)出(Chu)2乘(Cheng)以(Yi)8等(Deng)于(Yu)多(Duo)少(Shao) 10.基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)的(De)类(Lei)型(Xing)转(Zhuan)换(Huan)规(Gui)则(Ze) 11.if多(Duo)分(Fen)支(Zhi)语(Yu)句(Ju)和(He)switch多(Duo)分(Fen)支(Zhi)语(Yu)句(Ju)的(De)异(Yi)同(Tong)之(Zhi)处(Chu) 12.while和(He)do-while循(Xun)环(Huan)的(De)区(Qu)别(Bie) 13.break和(He)continue的(De)作(Zuo)用(Yong) 14.请(Qing)使(Shi)用(Yong)递(Di)归(Gui)算(Suan)法(Fa)计(Ji)算(Suan)n!(?) 15.递(Di)归(Gui)的(De)定(Ding)义(Yi)和(He)优(You)缺(Que)点(Dian) 16.数(Shu)组(Zu)的(De)特(Te)征(Zheng) 17.请(Qing)写(Xie)出(Chu)冒(Mao)泡(Pao)排(Pai)序(Xu)代(Dai)码(Ma) 18.请(Qing)写(Xie)出(Chu)选(Xuan)择(Ze)排(Pai)序(Xu)的(De)代(Dai)码(Ma) 19.请(Qing)写(Xie)出(Chu)插(Cha)入(Ru)排(Pai)序(Xu)的(De)代(Dai)码(Ma) 20.可(Ke)变(Bian)参(Can)数(Shu)的(De)作(Zuo)用(Yong)和(He)特(Te)点(Dian) 21.类(Lei)和(He)对(Dui)象(Xiang)的(De)关(Guan)系(Xi) 22.面(Mian)向(Xiang)过(Guo)程(Cheng)和(He)面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)区(Qu)别(Bie) 23.this和(He)super关(Guan)键(Jian)字(Zi)的(De)作(Zuo)用(Yong) 24.static关(Guan)键(Jian)字(Zi)的(De)作(Zuo)用(Yong) 25.final和(He)abstract关(Guan)键(Jian)字(Zi)的(De)作(Zuo)用(Yong) 26.final、(?)finally、(?)finalize的(De)区(Qu)别(Bie) 27.写(Xie)出(Chu)java.lang.Object类(Lei)的(De)六(Liu)个(Ge)常(Chang)用(Yong)方(Fang)法(Fa) 28.private/默(Mo)认(Ren)/protected/public权(Quan)限(Xian)修(Xiu)饰(Shi)符(Fu)的(De)区(Qu)别(Bie) 29.继(Ji)承(Cheng)条(Tiao)件(Jian)下(Xia)构(Gou)造(Zao)方(Fang)法(Fa)的(De)执(Zhi)行(Xing)过(Guo)程(Cheng) 30.==和(He)equals的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi) 31.谈(Tan)谈(Tan)Java的(De)多(Duo)态(Tai) 32.简(Jian)述(Shu)Java的(De)垃(La)圾(Ji)回(Hui)收(Shou)机(Ji)制(Zhi) 33.基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)和(He)包(Bao)装(Zhuang)类(Lei) 34.Integer与(Yu)int的(De)区(Qu)别(Bie) 35.java.sql.Date和(He)java.util.Date的(De)联(Lian)系(Xi)和(He)区(Qu)别(Bie) 36.使(Shi)用(Yong)递(Di)归(Gui)算(Suan)法(Fa)输(Shu)出(Chu)某(Mou)个(Ge)目(Mu)录(Lu)下(Xia)所(Suo)有(You)文(Wen)件(Jian)和(He)子(Zi)目(Mu)录(Lu)列(Lie)表(Biao) 37.关(Guan)于(Yu)Java编(Bian)译(Yi),(?)下(Xia)面(Mian)哪(Na)一(Yi)个(Ge)正(Zheng)确(Que)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?) 38.下(Xia)列(Lie)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)有(You)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?) 39.Java中(Zhong)接(Jie)口(Kou)的(De)修(Xiu)饰(Shi)符(Fu)可(Ke)以(Yi)为(Wei)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?) 40.给(Gei)定(Ding)以(Yi)下(Xia)代(Dai)码(Ma),(?)程(Cheng)序(Xu)将(Jiang)输(Shu)出(Chu) ((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?) 41.下(Xia)列(Lie)关(Guan)于(Yu)关(Guan)键(Jian)字(Zi)的(De)使(Shi)用(Yong)说(Shuo)法(Fa)错(Cuo)误(Wu)的(De)是(Shi)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?) 42.下(Xia)列(Lie)哪(Na)些(Xie)语(Yu)句(Ju)关(Guan)于(Yu)内(Nei)存(Cun)回(Hui)收(Shou)的(De)说(Shuo)法(Fa)是(Shi)正(Zheng)确(Que)的(De)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?) 43.选(Xuan)出(Chu)合(He)理(Li)的(De)标(Biao)识(Shi)符(Fu)((?))(?)((?)选(Xuan)择(Ze)两(Liang)项(Xiang))(?) 44.下(Xia)列(Lie)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)是(Shi)((?))(?)((?)选(Xuan)择(Ze)多(Duo)项(Xiang))(?) 45.定(Ding)义(Yi)一(Yi)个(Ge)类(Lei)名(Ming)为(Wei)”(?)MyClass.java”(?)的(De)类(Lei),(?)并(Bing)且(Qie)该(Gai)类(Lei)可(Ke)被(Bei)一(Yi)个(Ge)工(Gong)程(Cheng)中(Zhong)的(De)所(Suo)有(You)类(Lei)访(Fang)问(Wen),(?)那(Na)么(Me)该(Gai)类(Lei)的(De)正(Zheng)确(Que)声(Sheng)明(Ming)为(Wei)((?))(?)((?)选(Xuan)择(Ze)两(Liang)项(Xiang))(?) 46.面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)特(Te)征(Zheng)有(You)哪(Na)些(Xie)方(Fang)面(Mian)?(?)请(Qing)用(Yong)生(Sheng)活(Huo)中(Zhong)的(De)例(Li)子(Zi)来(Lai)描(Miao)述(Shu)。(?) 47.说(Shuo)明(Ming)内(Nei)存(Cun)泄(Xie)漏(Lou)和(He)内(Nei)存(Cun)溢(Yi)出(Chu)的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi),(?)结(Jie)合(He)项(Xiang)目(Mu)经(Jing)验(Yan)描(Miao)述(Shu)Java程(Cheng)序(Xu)中(Zhong)如(Ru)何(He)检(Jian)测(Ce)?(?)如(Ru)何(He)解(Jie)决(Jue)?(?) 48.什(Shi)么(Me)是(Shi)Java的(De)序(Xu)列(Lie)化(Hua),(?)如(Ru)何(He)实(Shi)现(Xian)Java的(De)序(Xu)列(Lie)化(Hua)?(?)列(Lie)举(Ju)在(Zai)哪(Na)些(Xie)程(Cheng)序(Xu)中(Zhong)见(Jian)过(Guo)Java序(Xu)列(Lie)化(Hua)?(?) 49.不(Bu)通(Tong)过(Guo)构(Gou)造(Zao)函(Han)数(Shu)也(Ye)能(Neng)创(Chuang)建(Jian)对(Dui)象(Xiang)吗(Ma)?(?) 50.匿(Ni)名(Ming)内(Nei)部(Bu)类(Lei)可(Ke)不(Bu)可(Ke)以(Yi)继(Ji)承(Cheng)或(Huo)实(Shi)现(Xian)接(Jie)口(Kou)。(?)为(Wei)什(Shi)么(Me)?(?) 在(Zai)Java中(Zhong),(?)为(Wei)什(Shi)么(Me)基(Ji)本(Ben)类(Lei)型(Xing)不(Bu)能(Neng)做(Zuo)为(Wei)HashMap的(De)键(Jian)值(Zhi),(?)而(?)只(Zhi)能(Neng)是(Shi)引(Yin)用(Yong)类(Lei)型(Xing),(?)把(Ba)引(Yin)用(Yong)类(Lei)型(Xing)做(Zuo)为(Wei)HashMap的(De)健(Jian)值(Zhi),(?)需(Xu)要(Yao)注(Zhu)意(Yi)哪(Na)些(Xie)地(Di)方(Fang)。(?) 52.简(Jian)述(Shu)Java中(Zhong)如(Ru)何(He)实(Shi)现(Xian)多(Duo)态(Tai) 53.以(Yi)下(Xia)对(Dui)继(Ji)承(Cheng)的(De)描(Miao)述(Shu)锚(Mao)误(Wu)的(De)是(Shi) () 54.Java 中(Zhong) Math.random((?))(?)/Math.random((?))(?)值(Zhi)为(Wei)?(?) 55.Java中(Zhong),(?)如(Ru)果(Guo)Manager是(Shi)Employee的(De)子(Zi)类(Lei),(?)那(Na)么(Me)Pair< Manager>是(Shi)Pair< Employee>的(De)子(Zi)类(Lei)吗(Ma)?(?) 56.接(Jie)口(Kou)和(He)抽(Chou)象(Xiang)类(Lei)的(De)区(Qu)别(Bie) 57.同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai)和(He)同(Tong)步(Bu)方(Fang)法(Fa)有(You)什(Shi)么(Me)区(Qu)别(Bie) 58.静(Jing)态(Tai)内(Nei)部(Bu)类(Lei)和(He)内(Nei)部(Bu)类(Lei)有(You)什(Shi)么(Me)区(Qu)别(Bie) 59.反(Fan)射(She)的(De)概(Gai)念(Nian)与(Yu)作(Zuo)用(Yong) 60.提(Ti)供(Gong)Java存(Cun)取(Qu)数(Shu)据(Ju)库(Ku)能(Neng)力(Li)的(De)包(Bao)是(Shi)((?))(?) 61.下(Xia)列(Lie)运(Yun)算(Suan)符(Fu)合(He)法(Fa)的(De)是(Shi)((?))(?)((?)多(Duo)选(Xuan))(?) 62.执(Zhi)行(Xing)如(Ru)下(Xia)程(Cheng)序(Xu)代(Dai)码(Ma),(?)c的(De)值(Zhi)打(Da)印(Yin)出(Chu)来(Lai)是(Shi)((?))(?) 63.下(Xia)列(Lie)哪(Na)一(Yi)种(Zhong)叙(Xu)述(Shu)是(Shi)正(Zheng)确(Que)的(De)((?))(?) 64.下(Xia)列(Lie)语(Yu)句(Ju)正(Zheng)确(Que)的(De)是(Shi)((?))(?) 65.下(Xia)列(Lie)哪(Na)种(Zhong)说(Shuo)法(Fa)是(Shi)正(Zheng)确(Que)的(De)((?))(?) 66.Java程(Cheng)序(Xu)的(De)种(Zhong)类(Lei)有(You)((?))(?)(多(Duo)选(Xuan)) 67.下(Xia)列(Lie)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)有(You)((?))(?)(多(Duo)选(Xuan)) 68.下(Xia)列(Lie)标(Biao)识(Shi)符(Fu)不(Bu)合(He)法(Fa)的(De)有(You)((?))(?)(多(Duo)选(Xuan)) 69.下(Xia)列(Lie)说(Shuo)法(Fa)错(Cuo)误(Wu)的(De)有(You)((?))(?)(多(Duo)选(Xuan)) 70.不(Bu)能(Neng)用(Yong)来(Lai)修(Xiu)饰(Shi)interface的(De)有(You)((?))(?)(多(Duo)选(Xuan)) 71.下(Xia)列(Lie)正(Zheng)确(Que)的(De)有(You)((?))(?)(多(Duo)选(Xuan)) 72.下(Xia)列(Lie)说(Shuo)法(Fa)错(Cuo)误(Wu)的(De)有(You)((?))(?)(多(Duo)选(Xuan)) 73.下(Xia)列(Lie)说(Shuo)法(Fa)错(Cuo)误(Wu)的(De)有(You)((?))(?)(多(Duo)选(Xuan)) 74.下(Xia)列(Lie)说(Shuo)法(Fa)错(Cuo)误(Wu)的(De)有(You)((?))(?)(多(Duo)选(Xuan)) 75.请(Qing)问(Wen)0.3332的(De)数(Shu)据(Ju)类(Lei)型(Xing)是(Shi)((?))(?) 76.Java接(Jie)口(Kou)的(De)修(Xiu)饰(Shi)符(Fu)可(Ke)以(Yi)为(Wei)((?))(?) 77.不(Bu)通(Tong)过(Guo)构(Gou)造(Zao)函(Han)数(Shu)也(Ye)能(Neng)创(Chuang)建(Jian)对(Dui)象(Xiang)么(Me)((?))(?) 78.存(Cun)在(Zai)使(Shi)i+1< i的(De)数(Shu)么(Me)? 79.接(Jie)口(Kou)可(Ke)否(Fou)继(Ji)承(Cheng)接(Jie)口(Kou)?(?)抽(Chou)象(Xiang)类(Lei)是(Shi)否(Fou)可(Ke)实(Shi)现(Xian)接(Jie)口(Kou)?(?)抽(Chou)象(Xiang)类(Lei)是(Shi)否(Fou)可(Ke)继(Ji)承(Cheng)实(Shi)体(Ti)类(Lei)?(?) 80.int与(Yu)Integer有(You)什(Shi)么(Me)区(Qu)别(Bie)?(?) 81.可(Ke)序(Xu)列(Lie)化(Hua)对(Dui)象(Xiang)为(Wei)什(Shi)么(Me)要(Yao)定(Ding)义(Yi)serialversionUID值(Zhi)? 82.写(Xie)一(Yi)个(Ge)Java正(Zheng)则(Ze),(?)能(Neng)过(Guo)滤(Lu)出(Chu)html中(Zhong)的(De) < a href=”(?)url”(?) >title< /a>形(Xing)式(Shi)中(Zhong)的(De)链(Lian)接(Jie)地(Di)址(Zhi)和(He)标(Biao)题(Ti). 83.十(Shi)进(Jin)制(Zhi)数(Shu)72转(Zhuan)换(Huan)成(Cheng)八(Ba)进(Jin)制(Zhi)数(Shu)是(Shi)多(Duo)少(Shao)?(?) 84.Java程(Cheng)序(Xu)中(Zhong)创(Chuang)建(Jian)新(Xin)的(De)类(Lei)对(Dui)象(Xiang),(?)使(Shi)用(Yong)关(Guan)键(Jian)字(Zi)new,(?)回(Hui)收(Shou)无(Wu)用(Yong)的(De)类(Lei)对(Dui)象(Xiang)使(Shi)用(Yong)关(Guan)键(Jian)字(Zi)free正(Zheng)确(Que)么(Me)?(?) 85.Class类(Lei)的(De)getDeclaredFields()方(Fang)法(Fa)与(Yu)getFields()的(De)区(Qu)别(Bie)?(?) 86.在(Zai)switch和(He)if-else语(Yu)句(Ju)之(Zhi)间(Jian)进(Jin)行(Xing)选(Xuan)取(Qu),(?)当(Dang)控(Kong)制(Zhi)选(Xuan)择(Ze)的(De)条(Tiao)件(Jian)不(Bu)仅(Jin)仅(Jin)依(Yi)赖(Lai)于(Yu)一(Yi)个(Ge)x时(Shi),(?)应(Ying)该(Gai)使(Shi)用(Yong)switch结(Jie)构(Gou);(?)正(Zheng)确(Que)么(Me)?(?) 88.使(Shi)用(Yong)final关(Guan)键(Jian)字(Zi)修(Xiu)饰(Shi)符(Fu)一(Yi)个(Ge)变(Bian)量(Liang)时(Shi),(?)是(Shi)引(Yin)用(Yong)不(Bu)能(Neng)变(Bian),(?)还(Huan)是(Shi)引(Yin)用(Yong)的(De)对(Dui)象(Xiang)不(Bu)能(Neng)变(Bian)?(?) 88.使(Shi)用(Yong)final关(Guan)键(Jian)字(Zi)修(Xiu)饰(Shi)符(Fu)一(Yi)个(Ge)变(Bian)量(Liang)时(Shi),(?)是(Shi)引(Yin)用(Yong)不(Bu)能(Neng)变(Bian),(?)还(Huan)是(Shi)引(Yin)用(Yong)的(De)对(Dui)象(Xiang)不(Bu)能(Neng)变(Bian)?(?) 89.请(Qing)解(Jie)释(Shi)以(Yi)下(Xia)常(Chang)用(Yong)正(Zheng)则(Ze)含(Han)义(Yi):(?)\d,\D,\s,.,*,?,|,[0-9]{6},\d+ 90.已(Yi)知(Zhi)表(Biao)达(Da)式(Shi)int m[] = {0,1,2,3,4,5,6}; 下(Xia)面(Mian)那(Na)个(Ge)表(Biao)达(Da)式(Shi)的(De)值(Zhi)与(Yu)数(Shu)组(Zu)的(De)长(Chang)度(Du)相(Xiang)等(Deng)((?))(?) 91.下(Xia)面(Mian)那(Na)些(Xie)声(Sheng)明(Ming)是(Shi)合(He)法(Fa)的(De)?(?)((?))(?) 92.以(Yi)下(Xia)选(Xuan)项(Xiang)中(Zhong)选(Xuan)择(Ze)正(Zheng)确(Que)的(De)java表(Biao)达(Da)式(Shi)((?))(?) 93.下(Xia)列(Lie)代(Dai)码(Ma)的(De)输(Shu)出(Chu)结(Jie)果(Guo)是(Shi) 94.以(Yi)下(Xia)哪(Na)些(Xie)运(Yun)算(Suan)符(Fu)是(Shi)含(Han)有(You)短(Duan)路(Lu)运(Yun)算(Suan)机(Ji)制(Zhi)的(De)?(?)请(Qing)选(Xuan)择(Ze):(?)((?))(?) 95.下(Xia)面(Mian)哪(Na)个(Ge)函(Han)数(Shu)是(Shi)public void example(){....}的(De)重(Zhong)载(Zai)函(Han)数(Shu)?(?)((?))(?) 96.给(Gei)定(Ding)某(Mou)java程(Cheng)序(Xu)片(Pian)段(Duan),(?)该(Gai)程(Cheng)序(Xu)运(Yun)行(Xing)后(Hou),(?)j的(De)输(Shu)出(Chu)结(Jie)果(Guo)为(Wei)((?))(?) 97.在(Zai)java中(Zhong),(?)无(Wu)论(Lun)测(Ce)试(Shi)条(Tiao)件(Jian)是(Shi)什(Shi)么(Me),(?)下(Xia)列(Lie)((?))(?)循(Xun)环(Huan)将(Jiang)至(Zhi)少(Shao)执(Zhi)行(Xing)一(Yi)次(Ci)。(?) 98.打(Da)印(Yin)结(Jie)果(Guo):(?) 99.指(Zhi)出(Chu)下(Xia)列(Lie)程(Cheng)序(Xu)的(De)运(Yun)行(Xing)结(Jie)果(Guo) 100.解(Jie)释(Shi)继(Ji)承(Cheng)、(?)重(Zhong)载(Zai)、(?)覆(Fu)盖(Gai)。(?) 101.什(Shi)么(Me)是(Shi)编(Bian)译(Yi)型(Xing)语(Yu)言(Yan),(?)什(Shi)么(Me)是(Shi)解(Jie)释(Shi)型(Xing)语(Yu)言(Yan)?(?)java可(Ke)以(Yi)归(Gui)类(Lei)到(Dao)那(Na)种(Zhong)?(?) 102.简(Jian)述(Shu)操(Cao)作(Zuo)符(Fu)((?)&,(?)|)(?)与(Yu)操(Cao)作(Zuo)符(Fu)((?)&&,(?)||)(?)的(De)区(Qu)别(Bie) &和(He)&&的(De)联(Lian)系(Xi)(共(Gong)同(Tong)点(Dian)) 103.try{}里(Li)面(Mian)有(You)一(Yi)个(Ge)return语(Yu)句(Ju),(?)那(Na)么(Me)紧(Jin)跟(Gen)在(Zai)这(Zhe)个(Ge)try后(Hou)的(De)finally, 里(Li)面(Mian)的(De)语(Yu)句(Ju)在(Zai)异(Yi)常(Chang)出(Chu)现(Xian)后(Hou),(?)都(Du)会(Hui)执(Zhi)行(Xing)么(Me)?(?)为(Wei)什(Shi)么(Me)?(?) 104.有(You)一(Yi)段(Duan)java应(Ying)用(Yong)程(Cheng)序(Xu),(?)它(Ta)的(De)主(Zhu)类(Lei)名(Ming)是(Shi)al,(?)那(Na)么(Me)保(Bao)存(Cun)它(Ta)的(De)源(Yuan)文(Wen)件(Jian)可(Ke)以(Yi)是(Shi)?(?)() 105.Java类(Lei)可(Ke)以(Yi)作(Zuo)为(Wei)((?))(?) 106.在(Zai)调(Diao)用(Yong)方(Fang)法(Fa)时(Shi),(?)若(Ruo)要(Yao)使(Shi)方(Fang)法(Fa)改(Gai)变(Bian)实(Shi)参(Can)的(De)值(Zhi),(?)可(Ke)以(Yi)?(?)((?))(?) 107.Java语(Yu)言(Yan)具(Ju)有(You)许(Xu)多(Duo)优(You)点(Dian)和(He)特(Te)点(Dian),(?)哪(Na)个(Ge)反(Fan)映(Ying)了(Liao)java程(Cheng)序(Xu)并(Bing)行(Xing)机(Ji)制(Zhi)的(De)((?))(?) 108.下(Xia)关(Guan)于(Yu)构(Gou)造(Zao)函(Han)数(Shu)的(De)描(Miao)述(Shu)错(Cuo)误(Wu)是(Shi)((?))(?) 109.若(Ruo)需(Xu)要(Yao)定(Ding)义(Yi)一(Yi)个(Ge)类(Lei)域(Yu)或(Huo)类(Lei)方(Fang)法(Fa),(?)应(Ying)使(Shi)用(Yong)哪(Na)种(Zhong)修(Xiu)饰(Shi)符(Fu)?(?)((?))(?) 110.下(Xia)面(Mian)代(Dai)码(Ma)执(Zhi)行(Xing)后(Hou)的(De)输(Shu)出(Chu)是(Shi)什(Shi)么(Me)((?))(?) 111.给(Gei)出(Chu)如(Ru)下(Xia)代(Dai)码(Ma),(?)如(Ru)何(He)使(Shi)成(Cheng)员(Yuan)变(Bian)量(Liang)m被(Bei)函(Han)数(Shu)fun()直(Zhi)接(Jie)访(Fang)问(Wen)((?))(?) 112.下(Xia)面(Mian)哪(Na)几(Ji)个(Ge)函(Han)数(Shu)是(Shi)public void example((?))(?){…(?).}的(De)重(Zhong)载(Zai)函(Han)数(Shu)((?))(?) 113.请(Qing)问(Wen)以(Yi)下(Xia)代(Dai)码(Ma)执(Zhi)行(Xing)会(Hui)打(Da)印(Yin)出(Chu)什(Shi)么(Me)?(?) 114.如(Ru)果(Guo)有(You)两(Liang)个(Ge)类(Lei)A、(?)B((?)注(Zhu)意(Yi)不(Bu)是(Shi)接(Jie)口(Kou))(?),(?)你(Ni)想(Xiang)同(Tong)时(Shi)使(Shi)用(Yong)这(Zhe)两(Liang)个(Ge)类(Lei)的(De)功(Gong)能(Neng),(?)那(Na)么(Me)你(Ni)会(Hui)如(Ru)何(He)编(Bian)写(Xie)这(Zhe)个(Ge)C类(Lei)呢(Ne)?(?) 115.一(Yi)个(Ge)类(Lei)的(De)构(Gou)造(Zao)方(Fang)法(Fa)是(Shi)否(Fou)可(Ke)以(Yi)被(Bei)重(Zhong)载(Zai)((?)overloading)(?),(?)是(Shi)否(Fou)可(Ke)以(Yi)被(Bei)子(Zi)类(Lei)重(Zhong)写(Xie)((?)overrding)(?)?(?) 116.Java中(Zhong)byte表(Biao)示(Shi)的(De)数(Shu)值(Zhi)范(Fan)围(Wei)是(Shi)什(Shi)么(Me)?(?) 117.如(Ru)何(He)将(Jiang)日(Ri)期(Qi)类(Lei)型(Xing)格(Ge)式(Shi)化(Hua)为(Wei):(?)2013-02-18 10:53:10?(?) 118.不(Bu)通(Tong)过(Guo)构(Gou)造(Zao)函(Han)数(Shu)也(Ye)能(Neng)创(Chuang)建(Jian)对(Dui)象(Xiang)吗(Ma)((?))(?) 119.下(Xia)面(Mian)哪(Na)些(Xie)是(Shi)对(Dui)称(Cheng)加(Jia)密(Mi)算(Suan)法(Fa)((?))(?) 120.下(Xia)面(Mian)的(De)代(Dai)码(Ma)段(Duan),(?)当(Dang)输(Shu)入(Ru)为(Wei)2的(De)时(Shi)候(Hou)返(Fan)回(Hui)值(Zhi)是(Shi)((?))(?) 121.以(Yi)下(Xia)Java代(Dai)码(Ma)段(Duan)会(Hui)产(Chan)生(Sheng)几(Ji)个(Ge)对(Dui)象(Xiang) 122.Math.round((?)-11.2)(?)的(De)运(Yun)行(Xing)结(Jie)果(Guo)是(Shi)。(?) 123.十(Shi)进(Jin)制(Zhi)数(Shu)278的(De)对(Dui)应(Ying)十(Shi)六(Liu)进(Jin)制(Zhi)数(Shu) 124.Java中(Zhong)int.long占(Zhan)用(Yong)的(De)字(Zi)节(Jie)数(Shu)分(Fen)别(Bie)是(Shi) 125.System.out.println(‘(?)a’(?)+1);的(De)结(Jie)果(Guo)是(Shi) 126.下(Xia)列(Lie)语(Yu)句(Ju)那(Na)一(Yi)个(Ge)正(Zheng)确(Que)((?))(?) 127.下(Xia)列(Lie)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)有(You)((?))(?) 128.执(Zhi)行(Xing)如(Ru)下(Xia)程(Cheng)序(Xu)代(Dai)码(Ma)((?))(?) 129.下(Xia)列(Lie)哪(Na)一(Yi)种(Zhong)叙(Xu)述(Shu)是(Shi)正(Zheng)确(Que)的(De)((?))(?) 130.下(Xia)列(Lie)语(Yu)句(Ju)正(Zheng)确(Que)的(De)是(Shi)((?))(?) 131.成(Cheng)员(Yuan)变(Bian)量(Liang)用(Yong)static修(Xiu)饰(Shi)和(He)不(Bu)用(Yong)static修(Xiu)饰(Shi)有(You)什(Shi)么(Me)区(Qu)别(Bie)?(?) 132.如(Ru)果(Guo)变(Bian)量(Liang)用(Yong)final修(Xiu)饰(Shi),(?)则(Ze)怎(Zen)样(Yang)?(?)如(Ru)果(Guo)方(Fang)法(Fa)final修(Xiu)饰(Shi),(?)则(Ze)怎(Zen)样(Yang)?(?) 133.在(Zai)二(?)进(Jin)制(Zhi)数(Shu)据(Ju)中(Zhong),(?)小(Xiao)数(Shu)点(Dian)向(Xiang)右(You)移(Yi)一(Yi)位(Wei),(?)则(Ze)数(Shu)据(Ju)((?))(?) 134.面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)特(Te)征(Zheng)有(You)哪(Na)些(Xie)方(Fang)面(Mian)? 135.float f=3.4;是(Shi)否(Fou)正(Zheng)确(Que)? 136.short s1 = 1; s1 = s1 + 1;有(You)错(Cuo)吗(Ma)?short s1 = 1; s1 += 1;有(You)错(Cuo)吗(Ma)? 137.Java 有(You)没(Mei)有(You)goto? 138.int 和(He)Integer 有(You)什(Shi)么(Me)区(Qu)别(Bie)? 139.&和(He)&&的(De)区(Qu)别(Bie)?(?) 140.Math.round(11.5) 等(Deng)于(Yu)多(Duo)少(Shao)? Math.round(-11.5)等(Deng)于(Yu)多(Duo)少(Shao)? 141.swtich 是(Shi)否(Fou)能(Neng)作(Zuo)用(Yong)在(Zai)byte 上(Shang),(?)是(Shi)否(Fou)能(Neng)作(Zuo)用(Yong)在(Zai)long 上(Shang),(?)是(Shi)否(Fou)能(Neng)作(Zuo)用(Yong)在(Zai)String上(Shang)? 142.用(Yong)最(Zui)有(You)效(Xiao)率(Lu)的(De)方(Fang)法(Fa)计(Ji)算(Suan)2乘(Cheng)以(Yi)8? 143.在(Zai)Java 中(Zhong),(?)如(Ru)何(He)跳(Tiao)出(Chu)当(Dang)前(Qian)的(De)多(Duo)重(Zhong)嵌(Qian)套(Tao)循(Xun)环(Huan)?(?) 144.构(Gou)造(Zao)器(Qi)((?)constructor)(?)是(Shi)否(Fou)可(Ke)被(Bei)重(Zhong)写(Xie)((?)override)(?)? 145.两(Liang)个(Ge)对(Dui)象(Xiang)值(Zhi)相(Xiang)同(Tong)(x.equals(y) == true),(?)但(Dan)却(Que)可(Ke)有(You)不(Bu)同(Tong)的(De)hash code,(?)这(Zhe)句(Ju)话(Hua)对(Dui)不(Bu)对(Dui)?(?) 146.当(Dang)一(Yi)个(Ge)对(Dui)象(Xiang)被(Bei)当(Dang)作(Zuo)参(Can)数(Shu)传(Chuan)递(Di)到(Dao)一(Yi)个(Ge)方(Fang)法(Fa)后(Hou),(?)此(Ci)方(Fang)法(Fa)可(Ke)改(Gai)变(Bian)这(Zhe)个(Ge)对(Dui)象(Xiang)的(De)属(Shu)性(Xing),(?)并(Bing)可(Ke)返(Fan)回(Hui)变(Bian)化(Hua)后(Hou)的(De)结(Jie)果(Guo),(?)那(Na)么(Me)这(Zhe)里(Li)到(Dao)底(Di)是(Shi)值(Zhi)传(Chuan)递(Di)还(Huan)是(Shi)引(Yin)用(Yong)传(Chuan)递(Di)? 147.重(Zhong)载(Zai)((?)Overload)(?)和(He)重(Zhong)写(Xie)((?)Override)(?)的(De)区(Qu)别(Bie)。(?)重(Zhong)载(Zai)的(De)方(Fang)法(Fa)能(Neng)否(Fou)根(Gen)据(Ju)返(Fan)回(Hui)类(Lei)型(Xing)进(Jin)行(Xing)区(Qu)分(Fen)? 148.华(Hua)为(Wei)的(De)面(Mian)试(Shi)题(Ti)中(Zhong)曾(Zeng)经(Jing)问(Wen)过(Guo)这(Zhe)样(Yang)一(Yi)个(Ge)问(Wen)题(Ti):(?)为(Wei)什(Shi)么(Me)不(Bu)能(Neng)根(Gen)据(Ju)返(Fan)回(Hui)类(Lei)型(Xing)来(Lai)区(Qu)分(Fen)重(Zhong)载(Zai),(?)为(Wei)什(Shi)么(Me)?(?) 149.静(Jing)态(Tai)嵌(Qian)套(Tao)类(Lei)(Static Nested Class)和(He)内(Nei)部(Bu)类(Lei)((?)Inner Class)(?)的(De)不(Bu)同(Tong)?(?) 150.抽(Chou)象(Xiang)的(De)((?)abstract)(?)方(Fang)法(Fa)是(Shi)否(Fou)可(Ke)同(Tong)时(Shi)是(Shi)静(Jing)态(Tai)的(De)((?)static)(?),是(Shi)否(Fou)可(Ke)同(Tong)时(Shi)是(Shi)本(Ben)地(Di)方(Fang)法(Fa)((?)native)(?),(?)是(Shi)否(Fou)可(Ke)同(Tong)时(Shi)被(Bei)synchronized修(Xiu)饰(Shi)? 151.静(Jing)态(Tai)变(Bian)量(Liang)和(He)实(Shi)例(Li)变(Bian)量(Liang)的(De)区(Qu)别(Bie)?(?) 152.是(Shi)否(Fou)可(Ke)以(Yi)从(Cong)一(Yi)个(Ge)静(Jing)态(Tai)((?)static)(?)方(Fang)法(Fa)内(Nei)部(Bu)发(Fa)出(Chu)对(Dui)非(Fei)静(Jing)态(Tai)((?)non-static)(?)方(Fang)法(Fa)的(De)调(Diao)用(Yong)?(?) 153.如(Ru)何(He)实(Shi)现(Xian)对(Dui)象(Xiang)克(Ke)隆(Long)?(?) 154.接(Jie)口(Kou)是(Shi)否(Fou)可(Ke)继(Ji)承(Cheng)((?)extends)(?)接(Jie)口(Kou)? 抽(Chou)象(Xiang)类(Lei)是(Shi)否(Fou)可(Ke)实(Shi)现(Xian)((?)implements)(?)接(Jie)口(Kou)? 抽(Chou)象(Xiang)类(Lei)是(Shi)否(Fou)可(Ke)继(Ji)承(Cheng)具(Ju)体(Ti)类(Lei)((?)concrete class)(?)? 155.一(Yi)个(Ge)“(?).java”(?)源(Yuan)文(Wen)件(Jian)中(Zhong)是(Shi)否(Fou)可(Ke)以(Yi)包(Bao)含(Han)多(Duo)个(Ge)类(Lei)((?)不(Bu)是(Shi)内(Nei)部(Bu)类(Lei))(?)?(?)有(You)什(Shi)么(Me)限(Xian)制(Zhi)?(?) 156.Anonymous Inner Class(匿(Ni)名(Ming)内(Nei)部(Bu)类(Lei))是(Shi)否(Fou)可(Ke)以(Yi)继(Ji)承(Cheng)其(Qi)它(Ta)类(Lei)?(?)是(Shi)否(Fou)可(Ke)以(Yi)实(Shi)现(Xian)接(Jie)口(Kou)?(?) 157.内(Nei)部(Bu)类(Lei)可(Ke)以(Yi)引(Yin)用(Yong)它(Ta)的(De)包(Bao)含(Han)类(Lei)((?)外(Wai)部(Bu)类(Lei))(?)的(De)成(Cheng)员(Yuan)吗(Ma)?(?)有(You)没(Mei)有(You)什(Shi)么(Me)限(Xian)制(Zhi)?(?) 158.Java 中(Zhong)的(De)final关(Guan)键(Jian)字(Zi)有(You)哪(Na)些(Xie)用(Yong)法(Fa)?(?) 159.指(Zhi)出(Chu)下(Xia)面(Mian)程(Cheng)序(Xu)的(De)运(Yun)行(Xing)结(Jie)果(Guo): 160.说(Shuo)说(Shuo)数(Shu)据(Ju)类(Lei)型(Xing)之(Zhi)间(Jian)的(De)转(Zhuan)换(Huan): 161.如(Ru)何(He)实(Shi)现(Xian)字(Zi)符(Fu)串(Chuan)的(De)反(Fan)转(Zhuan)及(Ji)替(Ti)换(Huan)?(?) 162.怎(Zen)样(Yang)将(Jiang)GB2312编(Bian)码(Ma)的(De)字(Zi)符(Fu)串(Chuan)转(Zhuan)换(Huan)为(Wei)ISO-8859-1编(Bian)码(Ma)的(De)字(Zi)符(Fu)串(Chuan)?(?) 163.Java中(Zhong)的(De)日(Ri)期(Qi)和(He)时(Shi)间(Jian):(?) 164.打(Da)印(Yin)昨(Zuo)天(Tian)的(De)当(Dang)前(Qian)时(Shi)刻(Ke)。(?) 165.Java反(Fan)射(She)技(Ji)术(Shu)主(Zhu)要(Yao)实(Shi)现(Xian)类(Lei)有(You)哪(Na)些(Xie),(?)作(Zuo)用(Yong)分(Fen)别(Bie)是(Shi)什(Shi)么(Me)?(?) 166.Class类(Lei)的(De)作(Zuo)用(Yong)?(?)生(Sheng)成(Cheng)Class对(Dui)象(Xiang)的(De)方(Fang)法(Fa)有(You)哪(Na)些(Xie)?(?) 167.反(Fan)射(She)的(De)使(Shi)用(Yong)场(Chang)合(He)和(He)作(Zuo)用(Yong)、(?)及(Ji)其(Qi)优(You)缺(Que)点(Dian) 168.面(Mian)向(Xiang)对(Dui)象(Xiang)设(She)计(Ji)原(Yuan)则(Ze)有(You)哪(Na)些(Xie)
String相(Xiang)关(Guan)
169.下(Xia)面(Mian)程(Cheng)序(Xu)的(De)运(Yun)行(Xing)结(Jie)果(Guo)是(Shi)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?) 170.Java语(Yu)言(Yan)中(Zhong),(?)String类(Lei)中(Zhong)的(De)indexOf()方(Fang)法(Fa)返(Fan)回(Hui)值(Zhi)的(De)类(Lei)型(Xing)是(Shi)((?))(?) 171.给(Gei)定(Ding)以(Yi)下(Xia)代(Dai)码(Ma),(?)程(Cheng)序(Xu)的(De)运(Yun)行(Xing)结(Jie)果(Guo)是(Shi) ((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?) 172.执(Zhi)行(Xing)下(Xia)列(Lie)代(Dai)码(Ma)后(Hou),(?)哪(Na)个(Ge)结(Jie)论(Lun)是(Shi)正(Zheng)确(Que)的(De)((?))(?)((?)选(Xuan)择(Ze)两(Liang)项(Xiang))(?) 173.实(Shi)现(Xian)String类(Lei)的(De)replaceAll方(Fang)法(Fa) 174.在(Zai)“(?)=”(?)后(Hou)填(Tian)写(Xie)适(Shi)当(Dang)的(De)内(Nei)容(Rong):(?) 175.是(Shi)否(Fou)可(Ke)以(Yi)继(Ji)承(Cheng)String类(Lei)? 176.给(Gei)定(Ding)两(Liang)个(Ge)字(Zi)符(Fu)串(Chuan)s和(He)t,(?) 写(Xie)一(Yi)个(Ge)函(Han)数(Shu)来(Lai)决(Jue)定(Ding)是(Shi)否(Fou)t是(Shi)s的(De)重(Zhong)组(Zu)词(Ci)。(?)你(Ni)可(Ke)以(Yi)假(Jia)设(She)字(Zi)符(Fu)串(Chuan)只(Zhi)包(Bao)含(Han)小(Xiao)写(Xie)字(Zi)母(Mu)。(?) 177.String s=new String(“(?)abc”(?));创(Chuang)建(Jian)了(Liao)几(Ji)个(Ge)String对(Dui)象(Xiang)。(?) 178.输(Shu)出(Chu)结(Jie)果(Guo)?(?) 179.下(Xia)列(Lie)程(Cheng)序(Xu)的(De)输(Shu)出(Chu)结(Jie)果(Guo)是(Shi)什(Shi)么(Me)?(?) 180.关(Guan)于(Yu)java.lang.String类(Lei),(?)以(Yi)下(Xia)描(Miao)述(Shu)正(Zheng)确(Que)的(De)一(Yi)项(Xiang)是(Shi)((?))(?) 181.下(Xia)面(Mian)哪(Na)个(Ge)是(Shi)正(Zheng)确(Que)的(De)((?))(?) 182.已(Yi)知(Zhi)如(Ru)下(Xia)代(Dai)码(Ma):(?)执(Zhi)行(Xing)结(Jie)果(Guo)是(Shi)什(Shi)么(Me)((?))(?) 183.字(Zi)符(Fu)串(Chuan)如(Ru)何(He)转(Zhuan)换(Huan)为(Wei)int类(Lei)型(Xing) 184.写(Xie)一(Yi)个(Ge)方(Fang)法(Fa),(?)实(Shi)现(Xian)字(Zi)符(Fu)串(Chuan)的(De)反(Fan)转(Zhuan),(?)如(Ru):(?)输(Shu)入(Ru)abc,(?)输(Shu)出(Chu)cba 185.编(Bian)写(Xie)java,(?)将(Jiang)“(?)I follow Bill Gate.Tom Gate.John Gate”(?)中(Zhong)的(De)“(?)Gate”(?)全(Quan)部(Bu)替(Ti)换(Huan)为(Wei)“(?)Gates”(?) 186.String 是(Shi)最(Zui)基(Ji)本(Ben)的(De)数(Shu)据(Ju)类(Lei)型(Xing)吗(Ma)? 187.String 和(He)StringBuilder、(?)StringBuffer 的(De)区(Qu)别(Bie)? 188.String类(Lei)为(Wei)什(Shi)么(Me)是(Shi)final的(De) 189.String类(Lei)型(Xing)是(Shi)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)吗(Ma)?(?)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)有(You)哪(Na)些(Xie) 190.Strings="Hello";s=s+"world!";执(Zhi)行(Xing)后(Hou),(?)是(Shi)否(Fou)是(Shi)对(Dui)前(Qian)面(Mian)s指(Zhi)向(Xiang)空(Kong)间(Jian)内(Nei)容(Rong)的(De)修(Xiu)改(Gai)?(?) 191.String s = new String("xyz");创(Chuang)建(Jian)几(Ji)个(Ge)String Object? 192.下(Xia)面(Mian)这(Zhe)条(Tiao)语(Yu)句(Ju)一(Yi)共(Gong)创(Chuang)建(Jian)了(Liao)多(Duo)少(Shao)个(Ge)对(Dui)象(Xiang):(?)String s="a"+"b"+"c"+"d";
集(Ji)合(He)
193.Java集(Ji)合(He)体(Ti)系(Xi)结(Jie)构(Gou)((?)List、(?)Set、(?)Collection、(?)Map的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi))(?) 194.Vector和(He)ArrayList的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi) 195.ArrayList和(He)LinkedList的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi) 196.HashMap和(He)Hashtable的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi) 197.HashSet的(De)使(Shi)用(Yong)和(He)原(Yuan)理(Li)((?)hashCode()和(He)equals())(?) 198.TreeSet的(De)原(Yuan)理(Li)和(He)使(Shi)用(Yong)((?)Comparable和(He)comparator)(?) 199.集(Ji)合(He)和(He)数(Shu)组(Zu)的(De)比(Bi)较(Jiao)((?)为(Wei)什(Shi)么(Me)引(Yin)入(Ru)集(Ji)合(He))(?) 200.Collection和(He)Collections的(De)区(Qu)别(Bie) 201.下(Xia)列(Lie)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)有(You)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?) 202.Java的(De)HashMap和(He)Hashtable有(You)什(Shi)么(Me)区(Qu)别(Bie)HashSet和(He)HashMap有(You)什(Shi)么(Me)区(Qu)别(Bie)?(?)使(Shi)用(Yong)这(Zhe)些(Xie)结(Jie)构(Gou)保(Bao)存(Cun)的(De)数(Shu)需(Xu)要(Yao)重(Zhong)载(Zai)的(De)方(Fang)法(Fa)是(Shi)哪(Na)些(Xie)?(?) 203.列(Lie)出(Chu)Java中(Zhong)的(De)集(Ji)合(He)类(Lei)层(Ceng)次(Ci)结(Jie)构(Gou)?(?) 204.List,(?)Set,(?)Map各(Ge)有(You)什(Shi)么(Me)特(Te)点(Dian) 205.ArrayList list=new ArrayList(20);中(Zhong)的(De)list扩(Kuo)充(Chong)几(Ji)次(Ci)((?))(?) 206.List、(?)Set、(?)Map哪(Na)个(Ge)继(Ji)承(Cheng)自(Zi)Collection接(Jie)口(Kou),(?)一(Yi)下(Xia)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)是(Shi)((?))(?) 207.合(He)并(Bing)两(Liang)个(Ge)有(You)序(Xu)的(De)链(Lian)表(Biao) 208.用(Yong)递(Di)归(Gui)方(Fang)式(Shi)实(Shi)现(Xian)链(Lian)表(Biao)的(De)转(Zhuan)置(Zhi)。(?) 209.给(Gei)定(Ding)一(Yi)个(Ge)不(Bu)包(Bao)含(Han)相(Xiang)同(Tong)元(Yuan)素(Su)的(De)整(Zheng)数(Shu)集(Ji)合(He),(?)nums,(?)返(Fan)回(Hui)所(Suo)有(You)可(Ke)能(Neng)的(De)子(Zi)集(Ji)集(Ji)合(He)。(?)解(Jie)答(Da)中(Zhong)集(Ji)合(He)不(Bu)能(Neng)包(Bao)含(Han)重(Zhong)复(Fu)的(De)子(Zi)集(Ji)。(?) 210.以(Yi)下(Xia)结(Jie)构(Gou)中(Zhong),(?)哪(Na)个(Ge)具(Ju)有(You)同(Tong)步(Bu)功(Gong)能(Neng)((?))(?) 211.以(Yi)下(Xia)结(Jie)构(Gou)中(Zhong),(?)插(Cha)入(Ru)性(Xing)能(Neng)最(Zui)高(Gao)的(De)是(Shi)((?))(?) 212.以(Yi)下(Xia)结(Jie)构(Gou)中(Zhong),(?)哪(Na)个(Ge)最(Zui)适(Shi)合(He)当(Dang)作(Zuo)stack使(Shi)用(Yong)((?))(?) 213.Map的(De)实(Shi)现(Xian)类(Lei)中(Zhong),(?)哪(Na)些(Xie)是(Shi)有(You)序(Xu)的(De),(?)哪(Na)些(Xie)是(Shi)无(Wu)序(Xu)的(De),(?)有(You)序(Xu)的(De)是(Shi)如(Ru)何(He)保(Bao)证(Zheng)其(Qi)有(You)序(Xu)性(Xing),(?)你(Ni)觉(Jue)得(De)哪(Na)个(Ge)有(You)序(Xu)性(Xing)性(Xing)能(Neng)更(Geng)高(Gao),(?)你(Ni)有(You)没(Mei)有(You)更(Geng)好(Hao)或(Huo)者(Zhe)更(Geng)高(Gao)效(Xiao)的(De)实(Shi)现(Xian)方(Fang)式(Shi)?(?) 214.下(Xia)面(Mian)的(De)代(Dai)码(Ma)在(Zai)绝(Jue)大(Da)部(Bu)分(Fen)时(Shi)间(Jian)内(Nei)都(Du)运(Yun)行(Xing)得(De)很(Hen)正(Zheng)常(Chang),(?)请(Qing)问(Wen)什(Shi)么(Me)情(Qing)况(Kuang)下(Xia)会(Hui)出(Chu)现(Xian)问(Wen)题(Ti)?(?)根(Gen)源(Yuan)在(Zai)哪(Na)里(Li)?(?) 215.TreeMap和(He)TreeSet在(Zai)排(Pai)序(Xu)时(Shi)如(Ru)何(He)比(Bi)较(Jiao)元(Yuan)素(Su)?(?)Collections工(Gong)具(Ju)类(Lei)中(Zhong)的(De)sort((?))(?)方(Fang)法(Fa)如(Ru)何(He)比(Bi)较(Jiao)元(Yuan)素(Su)?(?) 216.List里(Li)面(Mian)如(Ru)何(He)剔(Ti)除(Chu)相(Xiang)同(Tong)的(De)对(Dui)象(Xiang)?(?)请(Qing)简(Jian)单(Dan)用(Yong)代(Dai)码(Ma)实(Shi)现(Xian)一(Yi)种(Zhong)方(Fang)法(Fa) 217.Java.util.Map的(De)实(Shi)现(Xian)类(Lei)有(You) 218.下(Xia)列(Lie)叙(Xu)述(Shu)中(Zhong)正(Zheng)确(Que)的(De)是(Shi)((?))(?) 219.List、(?)Set、(?)Map 是(Shi)否(Fou)继(Ji)承(Cheng)自(Zi)Collection 接(Jie)口(Kou)?(?) 220.说(Shuo)出(Chu)ArrayList、(?)Vector、(?)LinkedList 的(De)存(Cun)储(Chu)性(Xing)能(Neng)和(He)特(Te)性(Xing)?(?) 221.List、(?)Map、(?)Set 三(San)个(Ge)接(Jie)口(Kou),(?)存(Cun)取(Qu)元(Yuan)素(Su)时(Shi),(?)各(Ge)有(You)什(Shi)么(Me)特(Te)点(Dian)?(?) 222.TreeMap和(He)TreeSet在(Zai)排(Pai)序(Xu)时(Shi)如(Ru)何(He)比(Bi)较(Jiao)元(Yuan)素(Su)?(?)Collections工(Gong)具(Ju)类(Lei)中(Zhong)的(De)sort()方(Fang)法(Fa)如(Ru)何(He)比(Bi)较(Jiao)元(Yuan)素(Su)?(?)
多(Duo)线(Xian)程(Cheng)
223.下(Xia)面(Mian)程(Cheng)序(Xu)的(De)运(Yun)行(Xing)结(Jie)果(Guo)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?) 224.下(Xia)列(Lie)哪(Na)个(Ge)方(Fang)法(Fa)可(Ke)用(Yong)于(Yu)创(Chuang)建(Jian)一(Yi)个(Ge)可(Ke)运(Yun)行(Xing)的(De)类(Lei)((?))(?) 225.说(Shuo)明(Ming)类(Lei)java.lang.ThreadLocal的(De)作(Zuo)用(Yong)和(He)原(Yuan)理(Li)。(?)列(Lie)举(Ju)在(Zai)哪(Na)些(Xie)程(Cheng)序(Xu)中(Zhong)见(Jian)过(Guo)ThreadLocal的(De)使(Shi)用(Yong)?(?) 226.说(Shuo)说(Shuo)乐(Le)观(Guan)锁(Suo)与(Yu)悲(Bei)观(Guan)锁(Suo) 227.在(Zai)Java中(Zhong)怎(Zen)么(Me)实(Shi)现(Xian)多(Duo)线(Xian)程(Cheng)?描(Miao)述(Shu)线(Xian)程(Cheng)状(Zhuang)态(Tai)的(De)变(Bian)化(Hua)过(Guo)程(Cheng)。(?) 228.请(Qing)写(Xie)出(Chu)多(Duo)线(Xian)程(Cheng)代(Dai)码(Ma)使(Shi)用(Yong)Thread或(Huo)者(Zhe)Runnable,(?)并(Bing)说(Shuo)出(Chu)两(Liang)种(Zhong)的(De)区(Qu)别(Bie)。(?) 229.在(Zai)多(Duo)线(Xian)程(Cheng)编(Bian)程(Cheng)里(Li),(?)wait方(Fang)法(Fa)的(De)调(Diao)用(Yong)方(Fang)式(Shi)是(Shi)怎(Zen)样(Yang)的(De)?(?) 230.Java线(Xian)程(Cheng)的(De)几(Ji)种(Zhong)状(Zhuang)态(Tai) 231.在(Zai)Java多(Duo)线(Xian)程(Cheng)中(Zhong),(?)请(Qing)用(Yong)下(Xia)面(Mian)哪(Na)种(Zhong)方(Fang)式(Shi)不(Bu)会(Hui)使(Shi)线(Xian)程(Cheng)进(Jin)入(Ru)阻(Zu)塞(Sai)状(Zhuang)态(Tai)((?))(?) 232.volatile关(Guan)键(Jian)字(Zi)是(Shi)否(Fou)能(Neng)保(Bao)证(Zheng)线(Xian)程(Cheng)安(An)全(Quan)?(?) 233.请(Qing)写(Xie)出(Chu)常(Chang)用(Yong)的(De)Java多(Duo)线(Xian)程(Cheng)启(Qi)动(Dong)方(Fang)式(Shi),(?)Executors线(Xian)程(Cheng)池(Chi)有(You)几(Ji)种(Zhong)常(Chang)用(Yong)类(Lei)型(Xing)?(?) 234.关(Guan)于(Yu)sleep()和(He)wait(),(?)以(Yi)下(Xia)描(Miao)述(Shu)错(Cuo)误(Wu)的(De)一(Yi)项(Xiang)是(Shi)((?))(?) 235.进(Jin)程(Cheng)和(He)线(Xian)程(Cheng)的(De)区(Qu)别(Bie)是(Shi)什(Shi)么(Me)?(?) 236.以(Yi)下(Xia)锁(Suo)机(Ji)机(Ji)制(Zhi)中(Zhong),(?)不(Bu)能(Neng)保(Bao)证(Zheng)线(Xian)程(Cheng)安(An)全(Quan)的(De)是(Shi)((?))(?) 237.创(Chuang)建(Jian)n多(Duo)个(Ge)线(Xian)程(Cheng),(?)如(Ru)何(He)保(Bao)证(Zheng)这(Zhe)些(Xie)线(Xian)程(Cheng)同(Tong)时(Shi)启(Qi)动(Dong)?(?)看(Kan)清(Qing),(?)是(Shi)“(?)同(Tong)时(Shi)”(?)。(?) 238.同(Tong)步(Bu)和(He)异(Yi)步(Bu)有(You)何(He)异(Yi)同(Tong),(?)在(Zai)什(Shi)么(Me)情(Qing)况(Kuang)下(Xia)分(Fen)别(Bie)使(Shi)用(Yong)它(Ta)们(Men)?(?) 239.Java线(Xian)程(Cheng)中(Zhong),(?)sleep()和(He)wait()区(Qu)别(Bie) 240.下(Xia)面(Mian)所(Suo)述(Shu)步(Bu)骤(Zhou)中(Zhong),(?)是(Shi)创(Chuang)建(Jian)进(Jin)程(Cheng)做(Zuo)必(Bi)须(Xu)的(De)步(Bu)骤(Zhou)是(Shi)((?))(?) 241.无(Wu)锁(Suo)化(Hua)编(Bian)程(Cheng)有(You)哪(Na)些(Xie)常(Chang)见(Jian)方(Fang)法(Fa)?(?)((?))(?) 242.sleep()和(He)yield()有(You)什(Shi)么(Me)区(Qu)别(Bie)? 243.当(Dang)一(Yi)个(Ge)线(Xian)程(Cheng)进(Jin)入(Ru)一(Yi)个(Ge)对(Dui)象(Xiang)的(De)synchronized方(Fang)法(Fa)A之(Zhi)后(Hou),(?)其(Qi)它(Ta)线(Xian)程(Cheng)是(Shi)否(Fou)可(Ke)进(Jin)入(Ru)此(Ci)对(Dui)象(Xiang)的(De)synchronized方(Fang)法(Fa)?(?) 244.请(Qing)说(Shuo)出(Chu)与(Yu)线(Xian)程(Cheng)同(Tong)步(Bu)相(Xiang)关(Guan)的(De)方(Fang)法(Fa)。(?) 245.编(Bian)写(Xie)多(Duo)线(Xian)程(Cheng)程(Cheng)序(Xu)有(You)几(Ji)种(Zhong)实(Shi)现(Xian)方(Fang)式(Shi)?(?) 246.synchronized关(Guan)键(Jian)字(Zi)的(De)用(Yong)法(Fa)?(?) 247.启(Qi)动(Dong)一(Yi)个(Ge)线(Xian)程(Cheng)是(Shi)用(Yong)run()还(Huan)是(Shi)start()方(Fang)法(Fa)? 248.什(Shi)么(Me)是(Shi)线(Xian)程(Cheng)池(Chi)((?)thread pool)(?)?(?) 249.线(Xian)程(Cheng)的(De)基(Ji)本(Ben)状(Zhuang)态(Tai)以(Yi)及(Ji)状(Zhuang)态(Tai)之(Zhi)间(Jian)的(De)关(Guan)系(Xi)?(?) 250.简(Jian)述(Shu)synchronized 和(He)java.util.concurrent.locks.Lock的(De)异(Yi)同(Tong)?(?) 251.创(Chuang)建(Jian)线(Xian)程(Cheng)的(De)两(Liang)种(Zhong)方(Fang)式(Shi)分(Fen)别(Bie)是(Shi)什(Shi)么(Me),优(You)缺(Que)点(Dian)是(Shi)什(Shi)么(Me)?(?) 252.Java创(Chuang)建(Jian)线(Xian)程(Cheng)后(Hou),(?)调(Diao)用(Yong)start()方(Fang)法(Fa)和(He)run()的(De)区(Qu)别(Bie) 253.线(Xian)程(Cheng)的(De)生(Sheng)命(Ming)周(Zhou)期(Qi) 254.如(Ru)何(He)实(Shi)现(Xian)线(Xian)程(Cheng)同(Tong)步(Bu)?(?) 255.说(Shuo)说(Shuo)关(Guan)于(Yu)同(Tong)步(Bu)锁(Suo)的(De)更(Geng)多(Duo)细(Xi)节(Jie) 256.Java中(Zhong)实(Shi)现(Xian)线(Xian)程(Cheng)通(Tong)信(Xin)的(De)三(San)个(Ge)方(Fang)法(Fa)的(De)作(Zuo)用(Yong)是(Shi)什(Shi)么(Me)?(?)
IO流(Liu)
257.下(Xia)面(Mian)哪(Na)个(Ge)流(Liu)类(Lei)属(Shu)于(Yu)面(Mian)向(Xiang)字(Zi)符(Fu)的(De)输(Shu)入(Ru)流(Liu)((?))(?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?) 258.要(Yao)从(Cong)文(Wen)件(Jian)”(?)file.dat”(?)文(Wen)件(Jian)中(Zhong)读(Du)出(Chu)第(Di)10个(Ge)字(Zi)节(Jie)到(Dao)变(Bian)量(Liang)c中(Zhong),(?)下(Xia)列(Lie)哪(Na)个(Ge)正(Zheng)确(Que)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?) 259.新(Xin)建(Jian)一(Yi)个(Ge)流(Liu)对(Dui)象(Xiang),(?)下(Xia)面(Mian)那(Na)个(Ge)选(Xuan)项(Xiang)的(De)代(Dai)码(Ma)是(Shi)错(Cuo)误(Wu)的(De)?(?)((?))(?) 260.下(Xia)面(Mian)哪(Na)个(Ge)流(Liu)是(Shi)面(Mian)向(Xiang)字(Zi)符(Fu)的(De)输(Shu)入(Ru)流(Liu)((?))(?) 261.Java类(Lei)库(Ku)中(Zhong),(?)将(Jiang)信(Xin)息(Xi)写(Xie)入(Ru)内(Nei)存(Cun)的(De)类(Lei)是(Shi)((?))(?) 262.请(Qing)写(Xie)出(Chu)一(Yi)段(Duan)代(Dai)码(Ma),(?)能(Neng)够(Gou)完(Wan)成(Cheng)将(Jiang)字(Zi)符(Fu)串(Chuan)写(Xie)入(Ru)文(Wen)件(Jian) 263.下(Xia)面(Mian)哪(Na)个(Ge)流(Liu)类(Lei)属(Shu)于(Yu)面(Mian)向(Xiang)字(Zi)符(Fu)的(De)输(Shu)入(Ru)流(Liu)((?))(?) 264.Java中(Zhong)如(Ru)何(He)实(Shi)现(Xian)序(Xu)列(Lie)化(Hua),(?)有(You)什(Shi)么(Me)意(Yi)义(Yi)?(?) 265.Java 中(Zhong)有(You)几(Ji)种(Zhong)类(Lei)型(Xing)的(De)流(Liu)?(?) 266.写(Xie)一(Yi)个(Ge)方(Fang)法(Fa),(?)输(Shu)入(Ru)一(Yi)个(Ge)文(Wen)件(Jian)名(Ming)和(He)一(Yi)个(Ge)字(Zi)符(Fu)串(Chuan),(?)统(Tong)计(Ji)这(Zhe)个(Ge)字(Zi)符(Fu)串(Chuan)在(Zai)这(Zhe)个(Ge)文(Wen)件(Jian)中(Zhong)出(Chu)现(Xian)的(De)次(Ci)数(Shu)。(?) 267.输(Shu)入(Ru)流(Liu)和(He)输(Shu)出(Chu)流(Liu)联(Lian)系(Xi)和(He)区(Qu)别(Bie),(?)节(Jie)点(Dian)流(Liu)和(He)处(Chu)理(Li)流(Liu)联(Lian)系(Xi)和(He)区(Qu)别(Bie) 268.字(Zi)符(Fu)流(Liu)字(Zi)节(Jie)流(Liu)联(Lian)系(Xi)区(Qu)别(Bie);(?)什(Shi)么(Me)时(Shi)候(Hou)使(Shi)用(Yong)字(Zi)节(Jie)流(Liu)和(He)字(Zi)符(Fu)流(Liu)? 269.列(Lie)举(Ju)常(Chang)用(Yong)字(Zi)节(Jie)输(Shu)入(Ru)流(Liu)和(He)输(Shu)出(Chu)流(Liu)并(Bing)说(Shuo)明(Ming)其(Qi)特(Te)点(Dian),(?)至(Zhi)少(Shao)5对(Dui)。(?) 270.说(Shuo)明(Ming)缓(Huan)冲(Chong)流(Liu)的(De)优(You)点(Dian)和(He)原(Yuan)理(Li) 271.序(Xu)列(Lie)化(Hua)的(De)定(Ding)义(Yi)、(?)实(Shi)现(Xian)和(He)注(Zhu)意(Yi)事(Shi)项(Xiang) 272.使(Shi)用(Yong)IO流(Liu)完(Wan)成(Cheng)文(Wen)件(Jian)夹(Jia)复(Fu)制(Zhi) 273.说(Shuo)说(Shuo)BIO、(?)NIO和(He)AIO的(De)区(Qu)别(Bie)
异(Yi)常(Chang)处(Chu)理(Li)
279.下(Xia)列(Lie)哪(Na)种(Zhong)异(Yi)常(Chang)是(Shi)检(Jian)查(Cha)型(Xing)异(Yi)常(Chang),(?)需(Xu)要(Yao)在(Zai)编(Bian)写(Xie)程(Cheng)序(Xu)时(Shi)声(Sheng)明(Ming)((?))(?) 280.Java出(Chu)现(Xian)OutOf MemoryError((?)OOM 错(Cuo)误(Wu))的(De)原(Yuan)因(Yin)有(You)哪(Na)些(Xie)?(?)出(Chu)现(Xian)OOM错(Cuo)误(Wu)后(Hou),(?)怎(Zen)么(Me)解(Jie)决(Jue)?(?) 281.列(Lie)举(Ju)常(Chang)见(Jian)的(De)运(Yun)行(Xing)时(Shi)异(Yi)常(Chang) 282.下(Xia)面(Mian)关(Guan)于(Yu) Java.lang.Exception类(Lei)的(De)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)是(Shi)((?))(?) 283.Unsupported major.minor version 52是(Shi)什(Shi)么(Me)异(Yi)常(Chang),(?)怎(Zen)么(Me)造(Zao)成(Cheng)的(De),(?)如(Ru)何(He)解(Jie)决(Jue)?(?) 284.try{}里(Li)有(You)一(Yi)个(Ge)return语(Yu)句(Ju),(?)那(Na)么(Me)紧(Jin)跟(Gen)在(Zai)这(Zhe)个(Ge)try后(Hou)的(De)finally{}里(Li)的(De)code会(Hui)不(Bu)会(Hui)被(Bei)执(Zhi)行(Xing),(?)什(Shi)么(Me)时(Shi)候(Hou)被(Bei)执(Zhi)行(Xing),(?)在(Zai)return前(Qian)还(Huan)是(Shi)后(Hou)? 285.Java 语(Yu)言(Yan)如(Ru)何(He)进(Jin)行(Xing)异(Yi)常(Chang)处(Chu)理(Li),(?)关(Guan)键(Jian)字(Zi):(?)throws、(?)throw、(?)try、(?)catch、(?)finally分(Fen)别(Bie)如(Ru)何(He)使(Shi)用(Yong)?(?) 286.运(Yun)行(Xing)时(Shi)异(Yi)常(Chang)与(Yu)受(Shou)检(Jian)异(Yi)常(Chang)有(You)何(He)异(Yi)同(Tong)?(?) 287.类(Lei)ExampleA 继(Ji)承(Cheng)Exception,(?)类(Lei)ExampleB 继(Ji)承(Cheng)ExampleA 288.Error和(He)Exception的(De)区(Qu)别(Bie) 289.Java异(Yi)常(Chang)处(Chu)理(Li)try-catch-finally的(De)执(Zhi)行(Xing)过(Guo)程(Cheng) 290.异(Yi)常(Chang)处(Chu)理(Li)中(Zhong)throws和(He)throw的(De)区(Qu)别(Bie)
Web方(Fang)面(Mian)相(Xiang)关(Guan)
291.WEB应(Ying)用(Yong)中(Zhong)如(Ru)果(Guo)有(You).class和(He).jar类(Lei)型(Xing)的(De)文(Wen)件(Jian)一(Yi)般(Ban)分(Fen)别(Bie)应(Ying)该(Gai)放(Fang)在(Zai)什(Shi)么(Me)位(Wei)置(Zhi)?(?) 292.元(Yuan)素(Su)中(Zhong)有(You)一(Yi)个(Ge)输(Shu)入(Ru)框(Kuang)((?)< input type=‘(?)text’(?) name=’(?)username‘(?)id=’(?)username”(?)value=‘(?)’(?)"/>,请(Qing)用(Yong)JavaScript语(Yu)言(Yan)写(Xie)一(Yi)行(Xing)代(Dai)码(Ma),(?)取(Qu)得(De)这(Zhe)个(Ge)输(Shu)入(Ru)框(Kuang)中(Zhong)的(De)值(Zhi)。(?) 293.简(Jian)单(Dan)描(Miao)述(Shu)一(Yi)下(Xia)Servlet与(Yu)JSP的(De)的(De)相(Xiang)同(Tong)点(Dian)和(He)区(Qu)别(Bie)点(Dian)。(?) 294.请(Qing)简(Jian)单(Dan)描(Miao)述(Shu)下(Xia)几(Ji)个(Ge)您(Nin)熟(Shu)悉(Xi)JavaScript库(Ku),(?)它(Ta)们(Men)有(You)哪(Na)些(Xie)作(Zuo)用(Yong)和(He)特(Te)点(Dian)?(?) 295.简(Jian)单(Dan)描(Miao)述(Shu)HTML,(?)CSS,(?)Javascript在(Zai)Web开(Kai)发(Fa)中(Zhong)分(Fen)别(Bie)起(Qi)什(Shi)么(Me)作(Zuo)用(Yong)?(?) 296.当(Dang)DOM加(Jia)载(Zai)完(Wan)成(Cheng)后(Hou)要(Yao)执(Zhi)行(Xing)的(De)函(Han)数(Shu),(?)下(Xia)面(Mian)哪(Na)个(Ge)是(Shi)正(Zheng)确(Que)的(De)() 297.举(Ju)例(Li)说(Shuo)明(Ming)JAVA中(Zhong)如(Ru)何(He)解(Jie)析(Xi)xml,(?)不(Bu)同(Tong)方(Fang)式(Shi)有(You)和(He)优(You)缺(Que)点(Dian)?(?) 298.char型(Xing)变(Bian)量(Liang)中(Zhong)能(Neng)不(Bu)能(Neng)存(Cun)储(Chu)一(Yi)个(Ge)中(Zhong)文(Wen)汉(Han)字(Zi)?(?) 299.一(Yi)个(Ge)类(Lei)可(Ke)以(Yi)实(Shi)现(Xian)多(Duo)个(Ge)接(Jie)口(Kou),(?)但(Dan)只(Zhi)能(Neng)继(Ji)承(Cheng)一(Yi)个(Ge)抽(Chou)象(Xiang)类(Lei)。(?) 300.比(Bi)较(Jiao)一(Yi)下(Xia)Java 和(He)JavaSciprt 301.什(Shi)么(Me)时(Shi)候(Hou)用(Yong)assert?(?) 302.UML是(Shi)什(Shi)么(Me)?(?)UML中(Zhong)有(You)哪(Na)些(Xie)图(Tu)?(?) 303.XML 文(Wen)档(Dang)定(Ding)义(Yi)有(You)几(Ji)种(Zhong)形(Xing)式(Shi)?(?)它(Ta)们(Men)之(Zhi)间(Jian)有(You)何(He)本(Ben)质(Zhi)区(Qu)别(Bie)?(?)解(Jie)析(Xi)XML 文(Wen)档(Dang)有(You)哪(Na)几(Ji)种(Zhong)方(Fang)式(Shi)?(?) 304.你(Ni)在(Zai)项(Xiang)目(Mu)中(Zhong)哪(Na)些(Xie)地(Di)方(Fang)用(Yong)到(Dao)了(Liao)XML?(?) 305.用(Yong)JavaScript实(Shi)现(Xian)用(Yong)正(Zheng)则(Ze)表(Biao)达(Da)式(Shi)验(Yan)证(Zheng),(?)某(Mou)个(Ge)字(Zi)符(Fu)串(Chuan)是(Shi)合(He)法(Fa)的(De)6位(Wei)数(Shu)字(Zi)的(De)邮(You)编(Bian)的(De)函(Han)数(Shu) 306.请(Qing)使(Shi)用(Yong)JQuery将(Jiang)页(Ye)面(Mian)上(Shang)的(De)所(Suo)有(You)元(Yuan)素(Su)边(Bian)框(Kuang)设(She)置(Zhi)为(Wei)2pix宽(Kuan)的(De)虚(Xu)线(Xian)?(?) 307.如(Ru)何(He)设(She)定(Ding)JQuery异(Yi)步(Bu)调(Diao)用(Yong)还(Huan)是(Shi)同(Tong)步(Bu)调(Diao)用(Yong)?(?) 308.说(Shuo)出(Chu)3条(Tiao)以(Yi)上(Shang)firefox和(He)IE的(De)浏(Liu)览(Lan)器(Qi)兼(Jian)容(Rong)问(Wen)题(Ti)?(?) 309.请(Qing)用(Yong)Jquery语(Yu)言(Yan)写(Xie)出(Chu)ajax请(Qing)求(Qiu)或(Huo)者(Zhe)post请(Qing)求(Qiu)代(Dai)码(Ma) 310.body中(Zhong)的(De)onload ((?))(?)函(Han)数(Shu)和(He)jQuery中(Zhong)document.ready()有(You)什(Shi)么(Me)区(Qu)别(Bie)?(?) 311.jQuery中(Zhong)有(You)哪(Na)几(Ji)种(Zhong)类(Lei)型(Xing)的(De)选(Xuan)择(Ze)器(Qi)?(?) 312.EasyUI中(Zhong)datagrid刷(Shua)新(Xin)当(Dang)前(Qian)数(Shu)据(Ju)的(De)方(Fang)法(Fa)?(?) 313.分(Fen)别(Bie)写(Xie)出(Chu)一(Yi)个(Ge)div居(Ju)中(Zhong)和(He)其(Qi)中(Zhong)的(De)内(Nei)容(Rong)居(Ju)中(Zhong)的(De)css属(Shu)性(Xing)设(She)置(Zhi) 314.概(Gai)述(Shu)一(Yi)下(Xia)session与(Yu)cookie的(De)区(Qu)别(Bie) 315.JavaScript 中(Zhong) null和(He) undefined 是(Shi)否(Fou)有(You)区(Qu)别(Bie)?(?)有(You)哪(Na)些(Xie)区(Qu)别(Bie)?(?) 316.Servlet中(Zhong)的(De)doPost和(He)doGet方(Fang)法(Fa)有(You)什(Shi)么(Me)区(Qu)别(Bie)?它(Ta)们(Men)在(Zai)传(Chuan)递(Di)和(He)获(Huo)取(Qu)参(Can)数(Shu)上(Shang)有(You)什(Shi)么(Me)区(Qu)别(Bie)?(?) 317.请(Qing)写(Xie)出(Chu)一(Yi)段(Duan)jQuery代(Dai)码(Ma),(?)实(Shi)现(Xian)把(Ba)当(Dang)前(Qian)页(Ye)面(Mian)中(Zhong)所(Suo)有(You)的(De)a元(Yuan)索(Suo)中(Zhong)class 属(Shu)性(Xing)为(Wei)“(?)view-link”(?)的(De)链(Lian)接(Jie)都(Du)改(Gai)为(Wei)在(Zai)新(Xin)窗(Chuang)口(Kou)中(Zhong)打(Da)开(Kai) 318.如(Ru)下(Xia)JavaScript代(Dai)码(Ma)的(De)输(Shu)出(Chu)为(Wei):(?) 319.Jquery中(Zhong)’(?).get()’(?)与(Yu)’(?).eq()’(?)的(De)区(Qu)别(Bie) 320.如(Ru)何(He)给(Gei)weblogic定(Ding)内(Nei)存(Cun)的(De)大(Da)小(Xiao)?(?) 321.TCP为(Wei)何(He)采(Cai)用(Yong)三(San)次(Ci)握(Wo)手(Shou)来(Lai)建(Jian)立(Li)连(Lian)接(Jie),(?)若(Ruo)用(Yong)二(?)次(Ci)握(Wo)手(Shou)可(Ke)以(Yi)吗(Ma),(?)请(Qing)说(Shuo)明(Ming)理(Li)由(You)?(?) 322.以(Yi)下(Xia)HTTP相(Xiang)应(Ying)状(Zhuang)态(Tai)码(Ma)的(De)含(Han)义(Yi)描(Miao)述(Shu)正(Zheng)确(Que)的(De)是(Shi)((?))(?) 323.JSP页(Ye)面(Mian)包(Bao)括(Kuo)哪(Na)些(Xie)元(Yuan)素(Su)?(?)((?))(?) 324.Ajax有(You)四(Si)种(Zhong)技(Ji)术(Shu)组(Zu)成(Cheng):(?)DOM,CSS,JavaScript,(?)XmlHttpRequest,(?)其(Qi)中(Zhong)控(Kong)制(Zhi)文(Wen)档(Dang)结(Jie)构(Gou)的(De)是(Shi)((?))(?) 325.下(Xia)面(Mian)关(Guan)于(Yu)session的(De)用(Yong)法(Fa)哪(Na)些(Xie)是(Shi)错(Cuo)误(Wu)的(De)?(?)((?))(?) 326.Jsp九(Jiu)大(Da)内(Nei)置(Zhi)对(Dui)象(Xiang) 327.如(Ru)何(He)配(Pei)置(Zhi)一(Yi)个(Ge)servlet? 328.JavaScript,(?)如(Ru)何(He)定(Ding)义(Yi)含(Han)有(You)数(Shu)值(Zhi)1至(Zhi)8的(De)数(Shu)组(Zu)?(?) 329.以(Yi)下(Xia)JavaScipt语(Yu)句(Ju)会(Hui)产(Chan)生(Sheng)运(Yun)行(Xing)错(Cuo)误(Wu)的(De)是(Shi)_((?))(?) 330.在(Zai)JSP中(Zhong),(?)下(Xia)面(Mian)__((?))(?)__块(Kuai)中(Zhong)可(Ke)以(Yi)定(Ding)义(Yi)一(Yi)个(Ge)新(Xin)类(Lei):(?) 331.HTML含(Han)义(Yi)和(He)版(Ban)本(Ben)变(Bian)化(Hua) 332.什(Shi)么(Me)是(Shi)锚(Mao)链(Lian)接(Jie) 333.HTML字(Zi)符(Fu)实(Shi)体(Ti)的(De)作(Zuo)用(Yong)及(Ji)其(Qi)常(Chang)用(Yong)字(Zi)符(Fu)实(Shi)体(Ti) 334.HTML表(Biao)单(Dan)的(De)作(Zuo)用(Yong)和(He)常(Chang)用(Yong)表(Biao)单(Dan)项(Xiang)类(Lei)型(Xing) 335.表(Biao)格(Ge)、(?)框(Kuang)架(Jia)、(?)div三(San)种(Zhong)HTML布(Bu)局(Ju)方(Fang)式(Shi)的(De)特(Te)点(Dian) 336.form中(Zhong)input设(She)置(Zhi)为(Wei)readonly和(He)disabled的(De)区(Qu)别(Bie) 337.CSS的(De)定(Ding)义(Yi)和(He)作(Zuo)用(Yong) 338.CSS2常(Chang)用(Yong)选(Xuan)择(Ze)器(Qi)类(Lei)型(Xing)及(Ji)其(Qi)含(Han)义(Yi) 339.引(Yin)入(Ru)样(Yang)式(Shi)的(De)三(San)种(Zhong)方(Fang)式(Shi)及(Ji)其(Qi)优(You)先(Xian)级(Ji)别(Bie) 340.盒(He)子(Zi)模(Mo)型(Xing) 341.JavaScript语(Yu)言(Yan)及(Ji)其(Qi)特(Te)点(Dian) 342.JavaScript常(Chang)用(Yong)数(Shu)据(Ju)类(Lei)型(Xing)有(You)哪(Na)些(Xie) 343.html语(Yu)法(Fa)中(Zhong)哪(Na)条(Tiao)命(Ming)令(Ling)用(Yong)于(Yu)使(Shi)一(Yi)行(Xing)文(Wen)本(Ben)折(Zhe)行(Xing),(?)而(?)不(Bu)是(Shi)插(Cha)入(Ru)一(Yi)个(Ge)新(Xin)的(De)段(Duan)落(Luo)?(?) (B) 344.Ajax的(De)优(You)点(Dian)和(He)缺(Que)点(Dian) 345.怎(Zen)样(Yang)防(Fang)止(Zhi)表(Biao)单(Dan)刷(Shua)新(Xin)重(Zhong)复(Fu)提(Ti)交(Jiao)问(Wen)题(Ti)?(?)((?)说(Shuo)出(Chu)思(Si)路(Lu)即(Ji)可(Ke))(?) 346.JQuery.get()和(He)JQuery.ajax()方(Fang)法(Fa)之(Zhi)间(Jian)的(De)区(Qu)别(Bie)是(Shi)什(Shi)么(Me)?(?) 347.Jquery里(Li)的(De)缓(Huan)存(Cun)问(Wen)题(Ti)如(Ru)何(He)解(Jie)决(Jue)?(?)例(Li)如(Ru)((?)$.ajax()以(Yi)及(Ji)$.get())(?) 348.Javascript是(Shi)面(Mian)向(Xiang)对(Dui)象(Xiang)的(De),(?)怎(Zen)么(Me)体(Ti)现(Xian)Javascript的(De)继(Ji)承(Cheng)关(Guan)系(Xi)?(?) 349.Javascript的(De)有(You)几(Ji)种(Zhong)种(Zhong)变(Bian)量(Liang)。(?)变(Bian)量(Liang)范(Fan)围(Wei)有(You)什(Shi)么(Me)不(Bu)同(Tong)?(?) 350.Js如(Ru)何(He)获(Huo)取(Qu)页(Ye)面(Mian)的(De)dom对(Dui)象(Xiang) 351.Servlet API中(Zhong)forward() 与(Yu)redirect()的(De)区(Qu)别(Bie)?(?) 352.Session域(Yu)和(He)request域(Yu)什(Shi)么(Me)区(Qu)别(Bie)?(?) 353.页(Ye)面(Mian)中(Zhong)有(You)一(Yi)个(Ge)命(Ming)名(Ming)为(Wei)bankNo的(De)下(Xia)拉(La)列(Lie)表(Biao),(?)写(Xie)js脚(Jiao)本(Ben)获(Huo)取(Qu)当(Dang)前(Qian)选(Xuan)项(Xiang)的(De)索(Suo)引(Yin)值(Zhi),(?)如(Ru)果(Guo)用(Yong)jquery如(Ru)何(He)获(Huo)取(Qu) 354.写(Xie)出(Chu)要(Yao)求(Qiu)11位(Wei)数(Shu)字(Zi)的(De)正(Zheng)则(Ze)表(Biao)达(Da)式(Shi) 355.分(Fen)别(Bie)获(Huo)取(Qu)指(Zhi)定(Ding)name、(?)Id的(De)javascript对(Dui)象(Xiang),(?)如(Ru)果(Guo)用(Yong)jquey如(Ru)何(He)获(Huo)取(Qu) 356.一(Yi)个(Ge)页(Ye)面(Mian)有(You)两(Liang)个(Ge)form,(?)如(Ru)何(He)获(Huo)取(Qu)第(Di)一(Yi)个(Ge)form 357.如(Ru)何(He)设(She)置(Zhi)一(Yi)个(Ge)层(Ceng)的(De)可(Ke)见(Jian)/隐(Yin)藏(Cang) 358.描(Miao)述(Shu)JSP中(Zhong)动(Dong)态(Tai)INCLUDE与(Yu)静(Jing)态(Tai)INCLUDE的(De)区(Qu)别(Bie)?(?) 359.列(Lie)举(Ju)JSP的(De)内(Nei)置(Zhi)对(Dui)象(Xiang)及(Ji)方(Fang)法(Fa) 360.列(Lie)举(Ju)jsp的(De)四(Si)大(Da)作(Zuo)用(Yong)域(Yu) 361.html和(He)xhtml的(De)区(Qu)别(Bie)是(Shi)什(Shi)么(Me)?(?) 362.你(Ni)做(Zuo)的(De)页(Ye)面(Mian)用(Yong)哪(Na)些(Xie)浏(Liu)览(Lan)器(Qi)测(Ce)试(Shi)过(Guo)?(?)这(Zhe)些(Xie)测(Ce)试(Shi)的(De)内(Nei)核(He)分(Fen)别(Bie)是(Shi)什(Shi)么(Me)?(?) 363.你(Ni)遇(Yu)到(Dao)了(Liao)哪(Na)些(Xie)浏(Liu)览(Lan)器(Qi)的(De)兼(Jian)容(Rong)性(Xing)问(Wen)题(Ti)?(?)怎(Zen)么(Me)解(Jie)决(Jue)的(De)?(?) 364.你(Ni)知(Zhi)道(Dao)的(De)常(Chang)用(Yong)的(De)js库(Ku)有(You)哪(Na)些(Xie)?(?) 365.Js中(Zhong)的(De)三(San)种(Zhong)弹(Dan)出(Chu)式(Shi)消(Xiao)息(Xi)提(Ti)醒(Xing)((?)警(Jing)告(Gao)窗(Chuang)口(Kou)、(?)确(Que)认(Ren)窗(Chuang)口(Kou)、(?)信(Xin)息(Xi)输(Shu)入(Ru)窗(Chuang)口(Kou))(?)的(De)命(Ming)令(Ling)是(Shi)什(Shi)么(Me)?(?) 366.谈(Tan)谈(Tan)js的(De)闭(Bi)包(Bao) 367.写(Xie)一(Yi)段(Duan)js,(?)遍(Bian)历(Li)所(Suo)有(You)的(De)li,(?)将(Jiang)每(Mei)个(Ge)li的(De)内(Nei)容(Rong)逐(Zhu)个(Ge)alert出(Chu)来(Lai) 368.页(Ye)面(Mian)上(Shang)如(Ru)何(He)用(Yong)JavaScript对(Dui)多(Duo)个(Ge)checkbox全(Quan)选(Xuan) 369.写(Xie)一(Yi)个(Ge)简(Jian)单(Dan)的(De)JQuery的(De)ajax 370.Js截(Jie)取(Qu)字(Zi)符(Fu)串(Chuan)abcdefg的(De)efg 371.http的(De)请(Qing)求(Qiu)头(Tou)信(Xin)息(Xi)包(Bao)含(Han)了(Liao)什(Shi)么(Me)? 372.http的(De)响(Xiang)应(Ying)码(Ma)200,(?)404,(?)302,(?)500表(Biao)示(Shi)的(De)含(Han)义(Yi)分(Fen)别(Bie)是(Shi)?(?) 373.Servlet中(Zhong)request对(Dui)象(Xiang)的(De)方(Fang)法(Fa)有(You)?(?) 374.Javascript的(De)常(Chang)用(Yong)对(Dui)象(Xiang)有(You)哪(Na)些(Xie) 375.DOM和(He)BOM及(Ji)其(Qi)关(Guan)系(Xi) 376.JavaScript中(Zhong)获(Huo)取(Qu)某(Mou)个(Ge)元(Yuan)素(Su)的(De)三(San)种(Zhong)方(Fang)式(Shi)JavaScript中(Zhong)的(De)三(San)种(Zhong)弹(Dan)出(Chu)式(Shi)消(Xiao)息(Xi)提(Ti)醒(Xing)命(Ming)令(Ling)是(Shi)什(Shi)么(Me)? 377.JavaScript操(Cao)作(Zuo)CSS的(De)两(Liang)种(Zhong)方(Fang)式(Shi) 378.静(Jing)态(Tai)网(Wang)页(Ye)和(He)动(Dong)态(Tai)网(Wang)页(Ye)的(De)联(Lian)系(Xi)和(He)区(Qu)别(Bie) 379.JSP/ASP/PHP的(De)比(Bi)较(Jiao) 380.CGI/Servlet/JSP的(De)比(Bi)较(Jiao) 381.HTTP协(Xie)议(Yi)工(Gong)作(Zuo)原(Yuan)理(Li)及(Ji)其(Qi)特(Te)点(Dian) 382.get和(He)post的(De)区(Qu)别(Bie) 383.如(Ru)何(He)解(Jie)决(Jue)表(Biao)单(Dan)提(Ti)交(Jiao)的(De)中(Zhong)文(Wen)乱(Luan)码(Ma)问(Wen)题(Ti) 384.绝(Jue)对(Dui)路(Lu)径(Jing)、(?)根(Gen)路(Lu)径(Jing)、(?)相(Xiang)对(Dui)路(Lu)径(Jing)的(De)含(Han)义(Yi)及(Ji)其(Qi)区(Qu)别(Bie) 385.如(Ru)实(Shi)现(Xian)servlet的(De)单(Dan)线(Xian)程(Cheng)模(Mo)式(Shi) 386.Servlet的(De)生(Sheng)命(Ming)周(Zhou)期(Qi) 387.转(Zhuan)发(Fa)和(He)重(Zhong)定(Ding)向(Xiang)的(De)区(Qu)别(Bie) 388.JSP的(De)执(Zhi)行(Xing)过(Guo)程(Cheng) 389.JSP动(Dong)作(Zuo)有(You)哪(Na)些(Xie),简(Jian)述(Shu)作(Zuo)用(Yong)? 390.page/request/session/application作(Zuo)用(Yong)域(Yu)区(Qu)别(Bie) 391.JSP和(He)Servlet的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi) 392.谈(Tan)谈(Tan)过(Guo)滤(Lu)器(Qi)原(Yuan)理(Li)及(Ji)其(Qi)作(Zuo)用(Yong)? 393.jQuery相(Xiang)比(Bi)JavaScript的(De)优(You)势(Shi)在(Zai)哪(Na)里(Li) 394.DOM对(Dui)象(Xiang)和(He)jQuery对(Dui)象(Xiang)的(De)区(Qu)别(Bie)及(Ji)其(Qi)转(Zhuan)换(Huan) 395.jQuery中(Zhong)$的(De)作(Zuo)用(Yong)主(Zhu)要(Yao)有(You)哪(Na)些(Xie) 396.Ajax含(Han)义(Yi)及(Ji)其(Qi)主(Zhu)要(Yao)技(Ji)术(Shu) 397.Ajax的(De)工(Gong)作(Zuo)原(Yuan)理(Li) 398.JSON及(Ji)其(Qi)作(Zuo)用(Yong) 399.文(Wen)件(Jian)上(Shang)传(Chuan)组(Zu)件(Jian)Common-fileUpload的(De)常(Chang)用(Yong)类(Lei)及(Ji)其(Qi)作(Zuo)用(Yong)?(?) 400.说(Shuo)出(Chu)Servlet的(De)生(Sheng)命(Ming)周(Zhou)期(Qi),(?)并(Bing)说(Shuo)出(Chu)Servlet和(He)CGI的(De)区(Qu)别(Bie)? 401.JSP 和(He)Servlet 有(You)有(You)什(Shi)么(Me)关(Guan)系(Xi)?(?) 402.JSP中(Zhong)的(De)四(Si)种(Zhong)作(Zuo)用(Yong)域(Yu)?(?) 403.如(Ru)何(He)实(Shi)现(Xian)JSP或(Huo)Servlet的(De)单(Dan)线(Xian)程(Cheng)模(Mo)式(Shi)?(?) 404.实(Shi)现(Xian)会(Hui)话(Hua)跟(Gen)踪(Zong)的(De)技(Ji)术(Shu)有(You)哪(Na)些(Xie)?(?) 405.过(Guo)滤(Lu)器(Qi)有(You)哪(Na)些(Xie)作(Zuo)用(Yong)和(He)用(Yong)法(Fa)?(?) 406.监(Jian)听(Ting)器(Qi)有(You)哪(Na)些(Xie)作(Zuo)用(Yong)和(He)用(Yong)法(Fa)?(?) 407.你(Ni)的(De)项(Xiang)目(Mu)中(Zhong)使(Shi)用(Yong)过(Guo)哪(Na)些(Xie)JSTL标(Biao)签(Qian)?(?) 408.使(Shi)用(Yong)标(Biao)签(Qian)库(Ku)有(You)什(Shi)么(Me)好(Hao)处(Chu)?(?)如(Ru)何(He)自(Zi)定(Ding)义(Yi)JSP标(Biao)签(Qian)?(?) 409.表(Biao)达(Da)式(Shi)语(Yu)言(Yan)((?)EL)(?)的(De)隐(Yin)式(Shi)对(Dui)象(Xiang)及(Ji)其(Qi)作(Zuo)用(Yong)?(?) 410.表(Biao)达(Da)式(Shi)语(Yu)言(Yan)((?)EL)(?)支(Zhi)持(Chi)哪(Na)些(Xie)运(Yun)算(Suan)符(Fu)?(?) 411.Servlet 3中(Zhong)的(De)异(Yi)步(Bu)处(Chu)理(Li)指(Zhi)的(De)是(Shi)什(Shi)么(Me)?(?) 412.如(Ru)何(He)在(Zai)基(Ji)于(Yu)Java的(De)Web项(Xiang)目(Mu)中(Zhong)实(Shi)现(Xian)文(Wen)件(Jian)上(Shang)传(Chuan)和(He)下(Xia)载(Zai)?(?) 413.简(Jian)述(Shu)值(Zhi)栈(Zhan)(Value-Stack)的(De)原(Yuan)理(Li)和(He)生(Sheng)命(Ming)周(Zhou)期(Qi) 414.阐(Chan)述(Shu)Session加(Jia)载(Zai)实(Shi)体(Ti)对(Dui)象(Xiang)的(De)过(Guo)程(Cheng)。(?) 415.怎(Zen)么(Me)防(Fang)止(Zhi)重(Zhong)复(Fu)提(Ti)交(Jiao) 416.$(document).ready(function(){}) jQuery(document).ready(function(){}); 有(You)什(Shi)么(Me)区(Qu)别(Bie)?(?) 417.写(Xie)出(Chu)输(Shu)出(Chu)结(Jie)果(Guo) 418.web项(Xiang)目(Mu)从(Cong)浏(Liu)览(Lan)器(Qi)发(Fa)起(Qi)交(Jiao)易(Yi)响(Xiang)应(Ying)缓(Huan)慢(Man),(?)请(Qing)简(Jian)述(Shu)从(Cong)哪(Na)些(Xie)方(Fang)面(Mian)如(Ru)数(Shu)分(Fen)析(Xi)
设(She)计(Ji)模(Mo)式(Shi)
419.请(Qing)写(Xie)出(Chu)您(Nin)熟(Shu)悉(Xi)的(De)几(Ji)种(Zhong)设(She)计(Ji)模(Mo)式(Shi),(?)并(Bing)做(Zuo)简(Jian)单(Dan)介(Jie)绍(Shao)。(?) 420.写(Xie)出(Chu)你(Ni)用(Yong)过(Guo)的(De)设(She)计(Ji)模(Mo)式(Shi),(?)并(Bing)至(Zhi)少(Shao)写(Xie)出(Chu)2种(Zhong)模(Mo)式(Shi)的(De)类(Lei)图(Tu)或(Huo)关(Guan)键(Jian)代(Dai)码(Ma)。(?) 421.列(Lie)出(Chu)除(Chu)Singleton外(Wai)的(De)常(Chang)用(Yong)的(De)3种(Zhong)设(She)计(Ji)模(Mo)式(Shi),(?)并(Bing)简(Jian)单(Dan)描(Miao)述(Shu) 422.Action是(Shi)单(Dan)实(Shi)例(Li)还(Huan)是(Shi)多(Duo)实(Shi)例(Li),(?)为(Wei)什(Shi)么(Me)?(?) 423.写(Xie)一(Yi)个(Ge)单(Dan)例(Li)类(Lei) 424.说(Shuo)说(Shuo)你(Ni)所(Suo)熟(Shu)悉(Xi)或(Huo)听(Ting)说(Shuo)过(Guo)的(De)设(She)计(Ji)模(Mo)式(Shi)以(Yi)及(Ji)你(Ni)对(Dui)设(She)计(Ji)模(Mo)式(Shi)的(De)看(Kan)法(Fa) 425.Java企(Qi)业(Ye)级(Ji)开(Kai)发(Fa)中(Zhong)常(Chang)用(Yong)的(De)设(She)计(Ji)模(Mo)式(Shi)有(You)哪(Na)些(Xie)?(?) 426.你(Ni)在(Zai)开(Kai)发(Fa)中(Zhong)都(Du)用(Yong)到(Dao)了(Liao)那(Na)些(Xie)设(She)计(Ji)模(Mo)式(Shi)?(?)用(Yong)在(Zai)什(Shi)么(Me)场(Chang)合(He)?(?) 427.什(Shi)么(Me)是(Shi)设(She)计(Ji)模(Mo)式(Shi),(?)设(She)计(Ji)模(Mo)式(Shi)的(De)作(Zuo)用(Yong)。(?) 428.23种(Zhong)经(Jing)典(Dian)设(She)计(Ji)模(Mo)式(Shi)都(Du)有(You)哪(Na)些(Xie),(?)如(Ru)何(He)分(Fen)类(Lei)。(?) 429.写(Xie)出(Chu)简(Jian)单(Dan)工(Gong)厂(Chang)模(Mo)式(Shi)的(De)示(Shi)例(Li)代(Dai)码(Ma) 430.请(Qing)对(Dui)你(Ni)所(Suo)熟(Shu)悉(Xi)的(De)一(Yi)个(Ge)设(She)计(Ji)模(Mo)式(Shi)进(Jin)行(Xing)介(Jie)绍(Shao)
高(Gao)级(Ji)框(Kuang)架(Jia)
431.什(Shi)么(Me)是(Shi)Maven?(?) 432.Maven和(He)ANT的(De)区(Qu)别(Bie) 433.Maven仓(Cang)库(Ku)是(Shi)什(Shi)么(Me) 434.Maven的(De)工(Gong)程(Cheng)类(Lei)型(Xing)有(You)哪(Na)些(Xie)?(?) 435.Maven常(Chang)用(Yong)命(Ming)令(Ling)有(You)哪(Na)些(Xie)?(?) 436.ZooKeeper的(De)作(Zuo)用(Yong)是(Shi)什(Shi)么(Me)?(?) 437.什(Shi)么(Me)是(Shi)Znode?(?) 438.Znode节(Jie)点(Dian)类(Lei)型(Xing)有(You)哪(Na)些(Xie)?(?) 439.什(Shi)么(Me)是(Shi)Dubbo?(?) 440.什(Shi)么(Me)是(Shi)RPC远(Yuan)程(Cheng)过(Guo)程(Cheng)调(Diao)用(Yong)?(?) 441.Dubbo中(Zhong)有(You)哪(Na)些(Xie)角(Jiao)色(Se)?(?) 442.Dubbo执(Zhi)行(Xing)流(Liu)程(Cheng)什(Shi)么(Me)是(Shi)?(?) 443.说(Shuo)说(Shuo)Dubbo支(Zhi)持(Chi)的(De)协(Xie)议(Yi)有(You)哪(Na)些(Xie)?(?) 444.Dubbo支(Zhi)持(Chi)的(De)注(Zhu)册(Ce)中(Zhong)心(Xin)有(You)哪(Na)些(Xie)?(?) 445.SessionFactory是(Shi)线(Xian)程(Cheng)安(An)全(Quan)的(De)吗(Ma)?(?)Session是(Shi)线(Xian)程(Cheng)安(An)全(Quan)的(De)吗(Ma),(?)两(Liang)个(Ge)线(Xian)程(Cheng)能(Neng)够(Gou)共(Gong)享(Xiang)同(Tong)一(Yi)个(Ge)Session吗(Ma)?(?) 446.Session的(De)load和(He)get方(Fang)法(Fa)的(De)区(Qu)别(Bie)是(Shi)什(Shi)么(Me)?(?) 447.Session的(De)save()、(?)update()、(?)merge()、(?)lock()、(?)saveOrUpdate()和(He)persist()方(Fang)法(Fa)有(You)什(Shi)么(Me)区(Qu)别(Bie)?(?) 448.什(Shi)么(Me)是(Shi)VSFTPD?(?) 449.什(Shi)么(Me)是(Shi)Nginx?(?) 450.Nginx有(You)哪(Na)些(Xie)作(Zuo)用(Yong)?(?) 451.什(Shi)么(Me)是(Shi)正(Zheng)向(Xiang)代(Dai)理(Li)?(?) 452.什(Shi)么(Me)是(Shi)反(Fan)向(Xiang)代(Dai)理(Li)?(?) 453.什(Shi)么(Me)是(Shi)Redis?(?) 454.Redis的(De)特(Te)点(Dian)什(Shi)么(Me)是(Shi)?(?) 455.Redis数(Shu)据(Ju)类(Lei)型(Xing)有(You)哪(Na)些(Xie)?(?) 456.Redis中(Zhong)的(De)常(Chang)用(Yong)命(Ming)令(Ling)哪(Na)些(Xie)?(?) 457.Redis的(De)配(Pei)置(Zhi)以(Yi)及(Ji)持(Chi)久(Jiu)化(Hua)方(Fang)案(An)有(You)几(Ji)种(Zhong)?(?) 458.什(Shi)么(Me)是(Shi)RDB方(Fang)式(Shi)?(?) 459.什(Shi)么(Me)是(Shi)AOF方(Fang)式(Shi)?(?) 460.什(Shi)么(Me)是(Shi)全(Quan)文(Wen)检(Jian)索(Suo)?(?) 461.什(Shi)么(Me)是(Shi)Lucene?(?) 462.什(Shi)么(Me)是(Shi)Solr?(?) 463.Solr是(Shi)由(You)哪(Na)两(Liang)个(Ge)部(Bu)分(Fen)构(Gou)成(Cheng)?(?) 464.什(Shi)么(Me)是(Shi)正(Zheng)排(Pai)索(Suo)引(Yin)?(?) 465.什(Shi)么(Me)是(Shi)倒(Dao)排(Pai)索(Suo)引(Yin)?(?) 466.什(Shi)么(Me)是(Shi)ActiveMQ?(?) 467.消(Xiao)息(Xi)服(Fu)务(Wu)的(De)应(Ying)用(Yong)场(Chang)景(Jing)有(You)哪(Na)些(Xie)?(?) 468.什(Shi)么(Me)是(Shi)JMS?(?) 469.JMS有(You)哪(Na)些(Xie)模(Mo)型(Xing)?(?) 470.什(Shi)么(Me)是(Shi)JsonP?(?) 471.什(Shi)么(Me)是(Shi)跨(Kua)域(Yu)?(?) 472.什(Shi)么(Me)是(Shi)同(Tong)源(Yuan)策(Ce)略(Lue)?(?) 473.什(Shi)么(Me)是(Shi)MyCat?(?) 474.什(Shi)么(Me)是(Shi)纵(Zong)向(Xiang)切(Qie)分(Fen)/垂(Chui)直(Zhi)切(Qie)分(Fen)?(?) 475.简(Jian)述(Shu)Tomcat,(?)Apache,(?)JBoss和(He)WebLogic的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi) 476.以(Yi)下(Xia)可(Ke)以(Yi)实(Shi)现(Xian)负(Fu)载(Zai)均(Jun)衡(Heng)的(De)是(Shi)((?))(?) 477.Tomcat/ WebSphere/WebLogic的(De)作(Zuo)用(Yong)和(He)特(Te)点(Dian) 478.B/S和(He)C/S的(De)含(Han)义(Yi)及(Ji)其(Qi)区(Qu)别(Bie) 479.说(Shuo)说(Shuo)你(Ni)对(Dui)容(Rong)器(Qi)的(De)理(Li)解(Jie) 480.为(Wei)什(Shi)么(Me)要(Yao)使(Shi)用(Yong)连(Lian)接(Jie)池(Chi)?(?) 481.数(Shu)据(Ju)库(Ku)连(Lian)接(Jie)池(Chi)的(De)原(Yuan)理(Li) 482.MVC模(Mo)式(Shi)及(Ji)其(Qi)优(You)缺(Que)点(Dian) 483.MVC模(Mo)式(Shi)完(Wan)成(Cheng)分(Fen)页(Ye)功(Gong)能(Neng)的(De)基(Ji)本(Ben)思(Si)路(Lu)是(Shi)什(Shi)么(Me)?(?) 484.常(Chang)用(Yong)的(De)Web容(Rong)器(Qi) 485.Java Web开(Kai)发(Fa)的(De)Model 1和(He)Model 2分(Fen)别(Bie)指(Zhi)的(De)是(Shi)什(Shi)么(Me)?(?) 486.说(Shuo)说(Shuo)什(Shi)么(Me)是(Shi)框(Kuang)架(Jia):(?) 487.简(Jian)单(Dan)说(Shuo)一(Yi)下(Xia)MVC框(Kuang)架(Jia)?(?) 488.简(Jian)单(Dan)讲(Jiang)一(Yi)下(Xia)struts2的(De)执(Zhi)行(Xing)流(Liu)程(Cheng) 489.Struts2中(Zhong)的(De)拦(Lan)截(Jie)器(Qi),(?)你(Ni)都(Du)用(Yong)它(Ta)干(Gan)什(Shi)么(Me)?(?) 490.简(Jian)单(Dan)讲(Jiang)一(Yi)下(Xia)SpringMVC的(De)执(Zhi)行(Xing)流(Liu)程(Cheng)?(?) 491.简(Jian)单(Dan)说(Shuo)一(Yi)下(Xia)struts2和(He)springMVC有(You)什(Shi)么(Me)不(Bu)同(Tong) 492.说(Shuo)一(Yi)下(Xia)Spring中(Zhong)的(De)两(Liang)大(Da)核(He)心(Xin) 493.讲(Jiang)一(Yi)下(Xia)Spring的(De)事(Shi)务(Wu)的(De)传(Chuan)播(Bo)特(Te)性(Xing) 494.什(Shi)么(Me)是(Shi)ORM 495.Hibernate对(Dui)象(Xiang)的(De)状(Zhuang)态(Tai) 496.介(Jie)绍(Shao)一(Yi)下(Xia)Hibernate的(De)缓(Huan)存(Cun) 497.简(Jian)单(Dan)讲(Jiang)一(Yi)下(Xia)webservice使(Shi)用(Yong)的(De)场(Chang)景(Jing) 498.简(Jian)单(Dan)介(Jie)绍(Shao)一(Yi)下(Xia)activity?(?) 499.什(Shi)么(Me)是(Shi)MyBatis?(?) 500.Mybatis是(Shi)如(Ru)何(He)进(Jin)行(Xing)分(Fen)页(Ye)的(De)?(?)分(Fen)页(Ye)插(Cha)件(Jian)的(De)原(Yuan)理(Li)是(Shi)什(Shi)么(Me)?(?) 501.MyBatis与(Yu)Hibernate有(You)哪(Na)些(Xie)不(Bu)同(Tong)?(?) 502.简(Jian)述(Shu)Mybatis的(De)Xml映(Ying)射(She)文(Wen)件(Jian)和(He)Mybatis内(Nei)部(Bu)数(Shu)据(Ju)结(Jie)构(Gou)之(Zhi)间(Jian)的(De)映(Ying)射(She)关(Guan)系(Xi)?(?) 503.什(Shi)么(Me)是(Shi)MyBatis的(De)接(Jie)口(Kou)绑(Bang)定(Ding),有(You)什(Shi)么(Me)好(Hao)处(Chu)?(?) 504.Mybatis能(Neng)执(Zhi)行(Xing)一(Yi)对(Dui)一(Yi)、(?)一(Yi)对(Dui)多(Duo)的(De)关(Guan)联(Lian)查(Cha)询(Xun)吗(Ma)?(?)都(Du)有(You)哪(Na)些(Xie)实(Shi)现(Xian)方(Fang)式(Shi),(?)以(Yi)及(Ji)它(Ta)们(Men)之(Zhi)间(Jian)的(De)区(Qu)别(Bie)?(?) 505.MyBatis里(Li)面(Mian)的(De)动(Dong)态(Tai)Sql是(Shi)怎(Zen)么(Me)设(She)定(Ding)的(De)?用(Yong)什(Shi)么(Me)语(Yu)法(Fa)? 506.使(Shi)用(Yong)MyBatis的(De)mapper接(Jie)口(Kou)调(Diao)用(Yong)时(Shi)有(You)哪(Na)些(Xie)要(Yao)求(Qiu)?(?) 507.Mybatis是(Shi)如(Ru)何(He)将(Jiang)sql执(Zhi)行(Xing)结(Jie)果(Guo)封(Feng)装(Zhuang)为(Wei)目(Mu)标(Biao)对(Dui)象(Xiang)并(Bing)返(Fan)回(Hui)的(De)?(?)都(Du)有(You)哪(Na)些(Xie)映(Ying)射(She)形(Xing)式(Shi)?(?) 508.MyBatis接(Jie)口(Kou)绑(Bang)定(Ding)有(You)几(Ji)种(Zhong)实(Shi)现(Xian)方(Fang)式(Shi),分(Fen)别(Bie)是(Shi)怎(Zen)么(Me)实(Shi)现(Xian)的(De)? 509.MyBatis实(Shi)现(Xian)一(Yi)对(Dui)一(Yi)有(You)几(Ji)种(Zhong)方(Fang)式(Shi)?具(Ju)体(Ti)怎(Zen)么(Me)操(Cao)作(Zuo)的(De)?(?) 510.什(Shi)么(Me)情(Qing)况(Kuang)下(Xia)用(Yong)注(Zhu)解(Jie)绑(Bang)定(Ding),什(Shi)么(Me)情(Qing)况(Kuang)下(Xia)用(Yong)xml绑(Bang)定(Ding)?(?) 511.MyBatis的(De)好(Hao)处(Chu)是(Shi)什(Shi)么(Me)?(?)
微(Wei)服(Fu)务(Wu)框(Kuang)架(Jia)
512.Spring Boot有(You)哪(Na)些(Xie)优(You)点(Dian)?(?) 513.如(Ru)何(He)重(Zhong)新(Xin)加(Jia)载(Zai)Spring Boot上(Shang)的(De)更(Geng)改(Gai),(?)而(?)无(Wu)需(Xu)重(Zhong)新(Xin)启(Qi)动(Dong)服(Fu)务(Wu)器(Qi)?(?) 514.常(Chang)见(Jian)的(De)系(Xi)统(Tong)架(Jia)构(Gou)风(Feng)格(Ge)有(You)哪(Na)些(Xie)?(?)各(Ge)有(You)什(Shi)么(Me)优(You)缺(Que)点(Dian)?(?) 515.什(Shi)么(Me)是(Shi)AKF拆(Chai)分(Fen)原(Yuan)则(Ze)?(?) 516.什(Shi)么(Me)是(Shi)Spring Cloud?(?) 517.Spring Cloud与(Yu)Dubbo的(De)区(Qu)别(Bie)是(Shi)什(Shi)么(Me)?(?) 518.什(Shi)么(Me)是(Shi)Eureka注(Zhu)册(Ce)中(Zhong)心(Xin)?(?) 519.简(Jian)单(Dan)谈(Tan)一(Yi)下(Xia)Eureka中(Zhong)的(De)三(San)种(Zhong)角(Jiao)色(Se)分(Fen)别(Bie)是(Shi)什(Shi)么(Me)?(?) 520.什(Shi)么(Me)是(Shi)Ribbon 521.集(Ji)中(Zhong)式(Shi)与(Yu)进(Jin)程(Cheng)内(Nei)负(Fu)载(Zai)均(Jun)衡(Heng)的(De)区(Qu)别(Bie) 522.Ribbon的(De)常(Chang)见(Jian)负(Fu)载(Zai)均(Jun)衡(Heng)策(Ce)略(Lue)有(You)哪(Na)些(Xie)?(?) 523.简(Jian)单(Dan)说(Shuo)说(Shuo)什(Shi)么(Me)是(Shi)Feign?(?) 524.什(Shi)么(Me)是(Shi)声(Sheng)明(Ming)式(Shi),(?)有(You)什(Shi)么(Me)作(Zuo)用(Yong),(?)解(Jie)决(Jue)什(Shi)么(Me)问(Wen)题(Ti)?(?) 525.什(Shi)么(Me)是(Shi)服(Fu)务(Wu)的(De)灾(Zai)难(Nan)性(Xing)的(De)雪(Xue)崩(Beng)效(Xiao)应(Ying)?(?) 526.如(Ru)何(He)解(Jie)决(Jue)灾(Zai)难(Nan)性(Xing)雪(Xue)崩(Beng)效(Xiao)应(Ying)?(?) 527.线(Xian)程(Cheng)池(Chi)隔(Ge)离(Li)和(He)信(Xin)号(Hao)量(Liang)隔(Ge)离(Li)的(De)区(Qu)别(Bie) 528.请(Qing)回(Hui)答(Da)微(Wei)服(Fu)务(Wu)架(Jia)构(Gou)的(De)六(Liu)种(Zhong)常(Chang)用(Yong)设(She)计(Ji)模(Mo)式(Shi)是(Shi)什(Shi)么(Me)?(?) 529.什(Shi)么(Me)是(Shi)网(Wang)关(Guan)服(Fu)务(Wu)?(?) 530.网(Wang)关(Guan)服(Fu)务(Wu)中(Zhong),(?)路(Lu)由(You)器(Qi)的(De)4种(Zhong)路(Lu)由(You)规(Gui)则(Ze)方(Fang)法(Fa)是(Shi)什(Shi)么(Me)?(?) 531.为(Wei)什(Shi)么(Me)要(Yao)使(Shi)用(Yong)spring cloud config 配(Pei)置(Zhi)中(Zhong)心(Xin)?(?)它(Ta)解(Jie)决(Jue)了(Liao)什(Shi)么(Me)问(Wen)题(Ti)?(?) 532.什(Shi)么(Me)是(Shi)Spring Cloud Bus 533.消(Xiao)息(Xi)驱(Qu)动(Dong)Stream解(Jie)决(Jue)了(Liao)什(Shi)么(Me)问(Wen)题(Ti)?(?) 534.为(Wei)什(Shi)么(Me)要(Yao)使(Shi)用(Yong)微(Wei)服(Fu)务(Wu)跟(Gen)踪(Zong)?(?)它(Ta)解(Jie)决(Jue)了(Liao)什(Shi)么(Me)问(Wen)题(Ti)?(?) 535.什(Shi)么(Me)是(Shi)ELK((?)ElasticSearch, Logstash, Kibana)(?) 536.为(Wei)什(Shi)么(Me)要(Yao)用(Yong)ELK,(?)它(Ta)解(Jie)决(Jue)了(Liao)什(Shi)么(Me)问(Wen)题(Ti)?(?) 537.什(Shi)么(Me)是(Shi)分(Fen)布(Bu)式(Shi)跟(Gen)踪(Zong):Zipki?(?)
数(Shu)据(Ju)库(Ku)
538.下(Xia)列(Lie)属(Shu)于(Yu)关(Guan)系(Xi)型(Xing)数(Shu)据(Ju)库(Ku)的(De)是(Shi)((?))(?)((?)选(Xuan)择(Ze)两(Liang)项(Xiang))(?) 539.请(Qing)列(Lie)出(Chu)Java常(Chang)见(Jian)的(De)开(Kai)源(Yuan)数(Shu)据(Ju)连(Lian)接(Jie)池(Chi),(?)并(Bing)对(Dui)参(Can)数(Shu)做(Zuo)出(Chu)简(Jian)单(Dan)的(De)说(Shuo)明(Ming) 540.储(Chu)蓄(Xu)所(Suo)有(You)多(Duo)个(Ge)储(Chu)户(Hu),(?)储(Chu)户(Hu)在(Zai)多(Duo)个(Ge)储(Chu)户(Hu)所(Suo)存(Cun)取(Qu)款(Kuan),(?)储(Chu)蓄(Xu)所(Suo)与(Yu)储(Chu)户(Hu)之(Zhi)间(Jian)是(Shi)((?))(?) 541.视(Shi)图(Tu)是(Shi)一(Yi)个(Ge)“(?)虚(Xu)表(Biao)”(?),(?)视(Shi)图(Tu)的(De)构(Gou)造(Zao)基(Ji)于(Yu)((?))(?) 542.设(She)有(You)关(Guan)系(Xi)R(A,B,C,D)及(Ji)其(Qi)上(Shang)的(De)函(Han)数(Shu)相(Xiang)关(Guan)性(Xing)集(Ji)合(He)F={B→(?)A,BC→(?)D},那(Na)么(Me)关(Guan)系(Xi)R最(Zui)高(Gao)是(Shi)((?))(?) 543.什(Shi)么(Me)是(Shi)DAO模(Mo)式(Shi)?(?) 544.数(Shu)据(Ju)库(Ku)MySQL,(?)Oracle,(?)SqlServer分(Fen)页(Ye)时(Shi)用(Yong)的(De)语(Yu)句(Ju) 545.Oracle完(Wan)成(Cheng)分(Fen)页(Ye)功(Gong)能(Neng)的(De)三(San)层(Ceng)子(Zi)查(Cha)询(Xun)语(Yu)句(Ju)及(Ji)其(Qi)含(Han)义(Yi)?(?) 546.问(Wen)SQL怎(Zen)么(Me)优(You)化(Hua)执(Zhi)行(Xing)效(Xiao)率(Lu)更(Geng)高(Gao) 547.谈(Tan)谈(Tan)数(Shu)据(Ju)库(Ku)去(Qu)空(Kong)格(Ge)的(De)情(Qing)况(Kuang) 548.根(Gen)据(Ju)你(Ni)以(Yi)往(Wang)的(De)经(Jing)验(Yan)简(Jian)单(Dan)叙(Xu)述(Shu)一(Yi)下(Xia)MYSQL的(De)优(You)化(Hua) 549.以(Yi)Oracle11R为(Wei)例(Li)简(Jian)述(Shu)数(Shu)据(Ju)库(Ku)集(Ji)群(Qun)部(Bu)署(Shu) 550.说(Shuo)一(Yi)下(Xia)数(Shu)据(Ju)库(Ku)的(De)存(Cun)储(Chu)过(Guo)程(Cheng)?(?) 551.数(Shu)据(Ju)库(Ku)创(Chuang)建(Jian)索(Suo)引(Yin)的(De)缺(Que)点(Dian)?(?) 552.有(You)两(Liang)张(Zhang)表(Biao);(?)请(Qing)用(Yong)SQL查(Cha)询(Xun),(?)所(Suo)有(You)的(De)客(Ke)户(Hu)订(Ding)单(Dan)日(Ri)期(Qi)最(Zui)新(Xin)的(De)前(Qian)五(Wu)条(Tiao)订(Ding)单(Dan)记(Ji)录(Lu)。(?)((?)分(Fen)别(Bie)注(Zhu)明(Ming)MySQL. Oracle写(Xie)法(Fa))(?) 553.关(Guan)于(Yu)HQL与(Yu)SQL,以(Yi)下(Xia)哪(Na)些(Xie)说(Shuo)法(Fa)正(Zheng)确(Que)?(?)((?))(?) 554.下(Xia)面(Mian)是(Shi)学(Xue)生(Sheng)表(Biao)((?)student)(?)的(De)结(Jie)构(Gou)说(Shuo)明(Ming) 555.为(Wei)管(Guan)理(Li)岗(Gang)位(Wei)业(Ye)务(Wu)培(Pei)训(Xun)信(Xin)息(Xi),(?)有(You)如(Ru)下(Xia)3个(Ge)表(Biao):(?) 556.用(Yong)Java怎(Zen)么(Me)实(Shi)现(Xian)有(You)每(Mei)天(Tian)有(You)1亿(Yi)条(Tiao)记(Ji)录(Lu)的(De)DB储(Chu)存(Cun)?(?)MySQL上(Shang)亿(Yi)记(Ji)录(Lu)数(Shu)据(Ju)量(Liang)的(De)数(Shu)据(Ju)库(Ku)如(Ru)何(He)设(She)计(Ji)?(?) 557.Mysql的(De)引(Yin)擎(Qing)有(You)哪(Na)些(Xie)?(?)支(Zhi)持(Chi)事(Shi)物(Wu)么(Me)?(?)DB储(Chu)存(Cun)引(Yin)擎(Qing)有(You)哪(Na)些(Xie)?(?) 558.以(Yi)下(Xia)是(Shi)学(Xue)生(Sheng)考(Kao)试(Shi)结(Jie)果(Guo)表(Biao) 559.库(Ku)中(Zhong)已(Yi)经(Jing)存(Cun)在(Zai)雇(Gu)用(Yong)表(Biao)表(Biao)名(Ming):(?) 560.如(Ru)下(Xia)表(Biao)1中(Zhong)的(De)数(Shu)据(Ju),(?)表(Biao)名(Ming)为(Wei):(?)t_test,记(Ji)录(Lu)某(Mou)场(Chang)比(Bi)赛(Sai)的(De)结(Jie)果(Guo)。(?) 561.请(Qing)将(Jiang)如(Ru)下(Xia)数(Shu)据(Ju)库(Ku)语(Yu)句(Ju)进(Jin)行(Xing)优(You)化(Hua),(?)使(Shi)其(Qi)执(Zhi)行(Xing)效(Xiao)率(Lu)更(Geng)高(Gao)((?)提(Ti)示(Shi):(?)…(?)不(Bu)需(Xu)要(Yao)更(Geng)改(Gai))(?) 562.请(Qing)简(Jian)述(Shu)如(Ru)何(He)将(Jiang)Oracle中(Zhong)的(De)数(Shu)据(Ju)库(Ku)转(Zhuan)至(Zhi)DB2中(Zhong),(?)需(Xu)要(Yao)保(Bao)证(Zheng)表(Biao)结(Jie)构(Gou)和(He)数(Shu)据(Ju)不(Bu)变(Bian) 563.学(Xue)生(Sheng)成(Cheng)绩(Ji)表(Biao) 564.Oracl数(Shu)据(Ju)库(Ku)中(Zhong)有(You)两(Liang)张(Zhang)表(Biao)Stu((?)学(Xue)生(Sheng)表(Biao))(?)和(He)Grade((?)分(Fen)数(Shu)表(Biao))(?),(?)如(Ru)下(Xia)图(Tu)所(Suo)示(Shi):(?) 565.下(Xia)面(Mian)是(Shi)学(Xue)生(Sheng)表(Biao)((?)Student)(?)的(De)结(Jie)构(Gou)说(Shuo)明(Ming):(?) 566.取(Qu)出(Chu)sql表(Biao)中(Zhong)低(Di)31到(Dao)40的(De)记(Ji)录(Lu)((?)以(Yi)自(Zi)动(Dong)增(Zeng)长(Chang)ID为(Wei)主(Zhu)键(Jian))(?) 567.下(Xia)列(Lie)两(Liang)个(Ge)表(Biao),(?)需(Xu)要(Yao)用(Yong)一(Yi)条(Tiao)sql语(Yu)句(Ju)把(Ba)b表(Biao)中(Zhong)的(De)ID和(He)NAME 字(Zi)段(Duan)的(De)数(Shu)值(Zhi)复(Fu)制(Zhi)到(Dao)A表(Biao)中(Zhong) 568.什(Shi)么(Me)是(Shi)基(Ji)本(Ben)表(Biao),(?)什(Shi)么(Me)是(Shi)视(Shi)图(Tu),(?)两(Liang)者(Zhe)的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi)是(Shi)什(Shi)么(Me)?(?) 569.什(Shi)么(Me)是(Shi)事(Shi)务(Wu)?(?)什(Shi)么(Me)是(Shi)锁(Suo)?(?) 570.Student学(Xue)生(Sheng)表(Biao)((?)学(Xue)号(Hao),(?)姓(Xing)名(Ming)、(?)性(Xing)别(Bie)、(?)年(Nian)龄(Ling)、(?)组(Zu)织(Zhi)部(Bu)门(Men))(?),(?)Course 课(Ke)程(Cheng)表(Biao)((?)编(Bian)号(Hao),(?)课(Ke)程(Cheng)名(Ming)称(Cheng))(?),(?)Sc选(Xuan)课(Ke)表(Biao)((?)学(Xue)号(Hao),(?)课(Ke)程(Cheng)编(Bian)号(Hao),(?)成(Cheng)绩(Ji))(?) 571.sql查(Cha)询(Xun)
Linux操(Cao)作(Zuo)
580.请(Qing)写(Xie)出(Chu)常(Chang)用(Yong)的(De)linux指(Zhi)令(Ling)不(Bu)低(Di)于(Yu)10个(Ge),(?)请(Qing)写(Xie)出(Chu)linux tomcat启(Qi)动(Dong)。(?) 581.当(Dang)使(Shi)用(Yong)RMI技(Ji)术(Shu)实(Shi)现(Xian)远(Yuan)程(Cheng)方(Fang)法(Fa)调(Diao)用(Yong)时(Shi),(?)能(Neng)为(Wei)远(Yuan)程(Cheng)对(Dui)象(Xiang)生(Sheng)成(Cheng)Sub和(He)Skeleton命(Ming)令(Ling)的(De)是(Shi)((?))(?) 582.以(Yi)下(Xia)哪(Na)个(Ge)是(Shi)服(Fu)务(Wu)((?))(?) 583.下(Xia)面(Mian)的(De)网(Wang)络(Luo)协(Xie)议(Yi)中(Zhong),(?)面(Mian)向(Xiang)连(Lian)接(Jie)的(De)的(De)协(Xie)议(Yi)是(Shi):(?) ((?))(?) 584.在(Zai)/etc/fstab 文(Wen)件(Jian)中(Zhong)指(Zhi)定(Ding)的(De)文(Wen)件(Jian)系(Xi)统(Tong)加(Jia)载(Zai)参(Can)数(Shu)中(Zhong),(?) ((?))(?) 参(Can)数(Shu)一(Yi)般(Ban)用(Yong)于(Yu)CD-ROM 等(Deng)移(Yi)动(Dong)设(She)备(Bei)。(?) 585.Linux 文(Wen)件(Jian)权(Quan)限(Xian)一(Yi)共(Gong)10 位(Wei)长(Chang)度(Du),(?)分(Fen)成(Cheng)四(Si)段(Duan),(?)第(Di)三(San)段(Duan)表(Biao)示(Shi)的(De)内(Nei)容(Rong)是(Shi) ((?))(?) 586.终(Zhong)止(Zhi)一(Yi)个(Ge)前(Qian)台(Tai)进(Jin)程(Cheng)可(Ke)能(Neng)用(Yong)到(Dao)的(De)命(Ming)令(Ling)和(He)操(Cao)作(Zuo) ((?))(?) 587.在(Zai)使(Shi)用(Yong)mkdir 命(Ming)令(Ling)创(Chuang)建(Jian)新(Xin)的(De)目(Mu)录(Lu)时(Shi),(?)在(Zai)其(Qi)父(Fu)目(Mu)录(Lu)不(Bu)存(Cun)在(Zai)时(Shi)先(Xian)创(Chuang)建(Jian)父(Fu)目(Mu)录(Lu)的(De)选(Xuan)项(Xiang)是(Shi) ((?))(?) 588.下(Xia)面(Mian)关(Guan)于(Yu)i 节(Jie)点(Dian)描(Miao)述(Shu)错(Cuo)误(Wu)的(De)是(Shi) ((?))(?) 589.一(Yi)个(Ge)文(Wen)件(Jian)名(Ming)字(Zi)为(Wei)rr.Z,(?)可(Ke)以(Yi)用(Yong)来(Lai)解(Jie)压(Ya)缩(Suo)的(De)命(Ming)令(Ling)是(Shi):(?) ((?))(?) 590.具(Ju)有(You)很(Hen)多(Duo)C 语(Yu)言(Yan)的(De)功(Gong)能(Neng),(?)又(You)称(Cheng)过(Guo)滤(Lu)器(Qi)的(De)是(Shi) ((?))(?) 591.一(Yi)台(Tai)主(Zhu)机(Ji)要(Yao)实(Shi)现(Xian)通(Tong)过(Guo)局(Ju)域(Yu)网(Wang)与(Yu)另(Ling)一(Yi)个(Ge)局(Ju)域(Yu)网(Wang)通(Tong)信(Xin),(?)需(Xu)要(Yao)做(Zuo)的(De)工(Gong)作(Zuo)是(Shi) ((?))(?) 592.建(Jian)立(Li)动(Dong)态(Tai)路(Lu)由(You)需(Xu)要(Yao)用(Yong)到(Dao)的(De)文(Wen)件(Jian)有(You) ((?))(?) 593.局(Ju)域(Yu)网(Wang)的(De)网(Wang)络(Luo)地(Di)址(Zhi)192.168.1.0/24,(?)局(Ju)域(Yu)网(Wang)络(Luo)连(Lian)接(Jie)其(Qi)它(Ta)网(Wang)络(Luo)的(De)网(Wang)关(Guan)地(Di)址(Zhi)是(Shi)192.168.1.1。(?)主(Zhu)机(Ji)192.168.1.20 访(Fang)问(Wen)172.16.1.0/24 网(Wang)络(Luo)时(Shi),(?)其(Qi)路(Lu)由(You)设(She)置(Zhi)正(Zheng)确(Que)的(De)是(Shi) ((?))(?) 594.下(Xia)列(Lie)提(Ti)法(Fa)中(Zhong),(?)不(Bu)属(Shu)于(Yu)ifconfig 命(Ming)令(Ling)作(Zuo)用(Yong)范(Fan)围(Wei)的(De)是(Shi) ((?))(?) 595.下(Xia)列(Lie)关(Guan)于(Yu)链(Lian)接(Jie)描(Miao)述(Shu),(?)错(Cuo)误(Wu)的(De)是(Shi)((?))(?) 596.在(Zai)局(Ju)域(Yu)网(Wang)络(Luo)内(Nei)的(De)某(Mou)台(Tai)主(Zhu)机(Ji)用(Yong)ping 命(Ming)令(Ling)测(Ce)试(Shi)网(Wang)络(Luo)连(Lian)接(Jie)时(Shi)发(Fa)现(Xian)网(Wang)络(Luo)内(Nei)部(Bu)的(De)主(Zhu)机(Ji)都(Du)可(Ke)以(Yi)连(Lian)同(Tong),(?)而(?)不(Bu)能(Neng)与(Yu)公(Gong)网(Wang)连(Lian)通(Tong),(?)问(Wen)题(Ti)可(Ke)能(Neng)是(Shi)((?))(?) 597.下(Xia)列(Lie)文(Wen)件(Jian)中(Zhong),(?)包(Bao)含(Han)了(Liao)主(Zhu)机(Ji)名(Ming)到(Dao)IP 地(Di)址(Zhi)的(De)映(Ying)射(She)关(Guan)系(Xi)的(De)文(Wen)件(Jian)是(Shi):(?) 598.不(Bu)需(Xu)要(Yao)编(Bian)译(Yi)内(Nei)核(He)的(De)情(Qing)况(Kuang)是(Shi)((?))(?) 599.在(Zai)shell 中(Zhong)变(Bian)量(Liang)的(De)赋(Fu)值(Zhi)有(You)四(Si)种(Zhong)方(Fang)法(Fa),(?)其(Qi)中(Zhong),(?)采(Cai)用(Yong)name=12 的(De)方(Fang)法(Fa)称(Cheng) ((?))(?) 600.((?))(?)命(Ming)令(Ling)可(Ke)以(Yi)从(Cong)文(Wen)本(Ben)文(Wen)件(Jian)的(De)每(Mei)一(Yi)行(Xing)中(Zhong)截(Jie)取(Qu)指(Zhi)定(Ding)内(Nei)容(Rong)的(De)数(Shu)据(Ju)。(?) 601.下(Xia)列(Lie)不(Bu)是(Shi)Linux 系(Xi)统(Tong)进(Jin)程(Cheng)类(Lei)型(Xing)的(De)是(Shi)((?))(?) 602.在(Zai)日(Ri)常(Chang)管(Guan)理(Li)中(Zhong),(?)通(Tong)常(Chang)CPU 会(Hui)影(Ying)响(Xiang)系(Xi)统(Tong)性(Xing)能(Neng)的(De)情(Qing)况(Kuang)是(Shi):(?) ((?))(?) 603.若(Ruo)一(Yi)台(Tai)计(Ji)算(Suan)机(Ji)的(De)内(Nei)存(Cun)为(Wei)128MB,(?)则(Ze)交(Jiao)换(Huan)分(Fen)区(Qu)的(De)大(Da)小(Xiao)通(Tong)常(Chang)是(Shi) 604.在(Zai)安(An)装(Zhuang)Linux 的(De)过(Guo)程(Cheng)中(Zhong)的(De)第(Di)五(Wu)步(Bu)是(Shi)让(Rang)用(Yong)户(Hu)选(Xuan)择(Ze)安(An)装(Zhuang)方(Fang)式(Shi),(?)如(Ru)果(Guo)用(Yong)户(Hu)希(Xi)望(Wang)安(An)装(Zhuang)部(Bu)分(Fen)组(Zu)件(Jian)((?)软(Ruan)件(Jian)程(Cheng)序(Xu))(?),(?)并(Bing)在(Zai)选(Xuan)择(Ze)好(Hao)后(Hou)让(Rang)系(Xi)统(Tong)自(Zi)动(Dong)安(An)装(Zhuang),(?)应(Ying)该(Gai)选(Xuan)择(Ze)的(De)选(Xuan)项(Xiang)是(Shi)((?))(?) 605.Linux 有(You)三(San)个(Ge)查(Cha)看(Kan)文(Wen)件(Jian)的(De)命(Ming)令(Ling),(?)若(Ruo)希(Xi)望(Wang)在(Zai)查(Cha)看(Kan)文(Wen)件(Jian)内(Nei)容(Rong)过(Guo)程(Cheng)中(Zhong)可(Ke)以(Yi)用(Yong)光(Guang)标(Biao)上(Shang)下(Xia)移(Yi)动(Dong)来(Lai)查(Cha)看(Kan)文(Wen)件(Jian)内(Nei)容(Rong),(?)应(Ying)使(Shi)用(Yong)((?))(?)命(Ming)令(Ling) 606.下(Xia)列(Lie)信(Xin)息(Xi)是(Shi)某(Mou)系(Xi)统(Tong)用(Yong)ps ef 命(Ming)令(Ling)列(Lie)出(Chu)的(De)正(Zheng)在(Zai)运(Yun)行(Xing)的(De)进(Jin)程(Cheng) ((?))(?)进(Jin)程(Cheng)是(Shi)运(Yun)行(Xing)Internet 超(Chao)级(Ji)服(Fu)务(Wu)器(Qi),(?)它(Ta)负(Fu)责(Ze)监(Jian)听(Ting)Internet sockets 上(Shang)的(De)连(Lian)接(Jie),(?)并(Bing)调(Diao)用(Yong)合(He)适(Shi)的(De)服(Fu)务(Wu)器(Qi)来(Lai)处(Chu)理(Li)接(Jie)收(Shou)的(De)信(Xin)息(Xi)。(?) 607.在(Zai)TCP/IP 模(Mo)型(Xing)中(Zhong),(?)应(Ying)用(Yong)层(Ceng)包(Bao)含(Han)了(Liao)所(Suo)有(You)的(De)高(Gao)层(Ceng)协(Xie)议(Yi),(?)在(Zai)下(Xia)列(Lie)的(De)一(Yi)些(Xie)应(Ying)用(Yong)协(Xie)议(Yi)中(Zhong),(?) ((?))(?)是(Shi)能(Neng)够(Gou)实(Shi)现(Xian)本(Ben)地(Di)与(Yu)远(Yuan)程(Cheng)主(Zhu)机(Ji)之(Zhi)间(Jian)的(De)文(Wen)件(Jian)传(Chuan)输(Shu)工(Gong)作(Zuo) 608.当(Dang)我(Wo)们(Men)与(Yu)某(Mou)远(Yuan)程(Cheng)网(Wang)络(Luo)连(Lian)接(Jie)不(Bu)上(Shang)时(Shi),(?)就(Jiu)需(Xu)要(Yao)跟(Gen)踪(Zong)路(Lu)由(You)查(Cha)看(Kan),(?)以(Yi)便(Bian)了(Liao)解(Jie)在(Zai)网(Wang)络(Luo)的(De)什(Shi)么(Me)位(Wei)置(Zhi)出(Chu)现(Xian)了(Liao)问(Wen)题(Ti),(?)满(Man)足(Zu)该(Gai)目(Mu)的(De)的(De)命(Ming)令(Ling)是(Shi)((?))(?) 609.对(Dui)名(Ming)为(Wei)fido 的(De)文(Wen)件(Jian)用(Yong)chmod 551 fido 进(Jin)行(Xing)了(Liao)修(Xiu)改(Gai),(?)则(Ze)它(Ta)的(De)许(Xu)可(Ke)权(Quan)是(Shi)((?))(?) 610.用(Yong)ls al 命(Ming)令(Ling)列(Lie)出(Chu)下(Xia)面(Mian)的(De)文(Wen)件(Jian)列(Lie)表(Biao),(?)((?))(?)文(Wen)件(Jian)是(Shi)符(Fu)号(Hao)连(Lian)接(Jie)文(Wen)件(Jian) 611.DNS 域(Yu)名(Ming)系(Xi)统(Tong)主(Zhu)要(Yao)负(Fu)责(Ze)主(Zhu)机(Ji)名(Ming)和(He)((?))(?)之(Zhi)间(Jian)的(De)解(Jie)析(Xi)。(?) 612.WWW 服(Fu)务(Wu)器(Qi)是(Shi)在(Zai)Internet 上(Shang)使(Shi)用(Yong)最(Zui)为(Wei)广(Guang)泛(Fan),(?)它(Ta)采(Cai)用(Yong)的(De)是(Shi)((?))(?)结(Jie)构(Gou) 613.Linux 系(Xi)统(Tong)通(Tong)过(Guo)((?))(?)命(Ming)令(Ling)给(Gei)其(Qi)他(Ta)用(Yong)户(Hu)发(Fa)消(Xiao)息(Xi)。(?) 614.NFS 是(Shi)((?))(?)系(Xi)统(Tong)。(?) 615.((?))(?)命(Ming)令(Ling)可(Ke)以(Yi)在(Zai)Linux 的(De)安(An)全(Quan)系(Xi)统(Tong)中(Zhong)完(Wan)成(Cheng)文(Wen)件(Jian)向(Xiang)磁(Ci)带(Dai)备(Bei)份(Fen)的(De)工(Gong)作(Zuo) 616.Linux 文(Wen)件(Jian)系(Xi)统(Tong)的(De)文(Wen)件(Jian)都(Du)按(An)其(Qi)作(Zuo)用(Yong)分(Fen)门(Men)别(Bie)类(Lei)地(Di)放(Fang)在(Zai)相(Xiang)关(Guan)的(De)目(Mu)录(Lu)中(Zhong),(?)对(Dui)于(Yu)外(Wai)部(Bu)设(She)备(Bei)文(Wen)件(Jian),(?)一(Yi)般(Ban)应(Ying)将(Jiang)其(Qi)放(Fang)在(Zai)((?))(?)目(Mu)录(Lu)中(Zhong) 617.在(Zai)重(Zhong)新(Xin)启(Qi)动(Dong)Linux 系(Xi)统(Tong)的(De)同(Tong)时(Shi)把(Ba)内(Nei)存(Cun)中(Zhong)的(De)信(Xin)息(Xi)写(Xie)入(Ru)硬(Ying)盘(Pan),(?)应(Ying)使(Shi)用(Yong)((?))(?)命(Ming)令(Ling)实(Shi)现(Xian) 618.网(Wang)络(Luo)管(Guan)理(Li)具(Ju)备(Bei)以(Yi)下(Xia)几(Ji)大(Da)功(Gong)能(Neng):(?)配(Pei)置(Zhi)管(Guan)理(Li)、(?)((?))(?)、(?)性(Xing)能(Neng)管(Guan)理(Li)、(?)安(An)全(Quan)管(Guan)理(Li)和(He)计(Ji)费(Fei)管(Guan)理(Li)等(Deng) 619.关(Guan)闭(Bi)linux 系(Xi)统(Tong)((?)不(Bu)重(Zhong)新(Xin)启(Qi)动(Dong))(?)可(Ke)使(Shi)用(Yong)命(Ming)令(Ling)((?))(?) 620.实(Shi)现(Xian)从(Cong)IP 地(Di)址(Zhi)到(Dao)以(Yi)太(Tai)网(Wang)MAC 地(Di)址(Zhi)转(Zhuan)换(Huan)的(De)命(Ming)令(Ling)为(Wei):(?) ((?))(?) 621.在(Zai)vi 编(Bian)辑(Ji)器(Qi)中(Zhong)的(De)命(Ming)令(Ling)模(Mo)式(Shi)下(Xia),(?)键(Jian)入(Ru)((?))(?)可(Ke)在(Zai)光(Guang)标(Biao)当(Dang)前(Qian)所(Suo)在(Zai)行(Xing)下(Xia)添(Tian)加(Jia)一(Yi)新(Xin)行(Xing) 622.在(Zai)vi 编(Bian)辑(Ji)器(Qi)中(Zhong)的(De)命(Ming)令(Ling)模(Mo)式(Shi)下(Xia),(?)删(Shan)除(Chu)当(Dang)前(Qian)光(Guang)标(Biao)处(Chu)的(De)字(Zi)符(Fu)使(Shi)用(Yong)((?))(?)命(Ming)令(Ling) 623.在(Zai)vi 编(Bian)辑(Ji)器(Qi)中(Zhong)的(De)命(Ming)令(Ling)模(Mo)式(Shi)下(Xia),(?)重(Zhong)复(Fu)上(Shang)一(Yi)次(Ci)对(Dui)编(Bian)辑(Ji)的(De)文(Wen)本(Ben)进(Jin)行(Xing)的(De)操(Cao)作(Zuo),(?)可(Ke)使(Shi)用(Yong)((?))(?)命(Ming)令(Ling) 624.删(Shan)除(Chu)文(Wen)件(Jian)命(Ming)令(Ling)为(Wei):(?) ((?))(?) 625.退(Tui)出(Chu)交(Jiao)互(Hu)模(Mo)式(Shi)的(De)shell,(?)应(Ying)键(Jian)入(Ru)((?))(?)
算(Suan)法(Fa)分(Fen)析(Xi)及(Ji)手(Shou)写(Xie)代(Dai)码(Ma)
626.判(Pan)断(Duan)身(Shen)份(Fen)证(Zheng):(?)要(Yao)么(Me)是(Shi)15位(Wei),(?)要(Yao)么(Me)是(Shi)18位(Wei),(?)最(Zui)后(Hou)一(Yi)位(Wei)可(Ke)以(Yi)为(Wei)字(Zi)母(Mu),(?)并(Bing)写(Xie)出(Chu)程(Cheng)序(Xu)提(Ti)出(Chu)其(Qi)中(Zhong)年(Nian)月(Yue)日(Ri)。(?)要(Yao)求(Qiu):(?) 627.对(Dui)于(Yu)一(Yi)个(Ge)字(Zi)符(Fu)串(Chuan),(?)请(Qing)设(She)计(Ji)一(Yi)个(Ge)高(Gao)效(Xiao)算(Suan)法(Fa),(?)找(Zhao)到(Dao)第(Di)一(Yi)次(Ci)重(Zhong)复(Fu)出(Chu)现(Xian)的(De)字(Zi)符(Fu)保(Bao)证(Zheng)字(Zi)符(Fu)串(Chuan)中(Zhong)有(You)重(Zhong)复(Fu)的(De)字(Zi)符(Fu),(?)字(Zi)符(Fu)串(Chuan)的(De)长(Chang)度(Du)小(Xiao)于(Yu)等(Deng)于(Yu)500. 628.写(Xie)一(Yi)个(Ge)完(Wan)整(Zheng)函(Han)数(Shu),(?)实(Shi)现(Xian)拷(Kao)贝(Bei)数(Shu)组(Zu) 629.写(Xie)一(Yi)排(Pai)序(Xu)算(Suan)法(Fa),(?)输(Shu)入(Ru)10个(Ge)数(Shu)字(Zi),(?)以(Yi)逗(Dou)号(Hao)分(Fen)开(Kai),(?)可(Ke)根(Gen)据(Ju)参(Can)数(Shu)选(Xuan)择(Ze)升(Sheng)序(Xu)或(Huo)者(Zhe)降(Jiang)序(Xu)排(Pai)序(Xu),(?)须(Xu)注(Zhu)明(Ming)是(Shi)何(He)种(Zhong)排(Pai)序(Xu)算(Suan)法(Fa)。(?) 630.判(Pan)断(Duan)字(Zi)符(Fu)串(Chuan)是(Shi)否(Fou)是(Shi)这(Zhe)样(Yang)的(De)组(Zu)成(Cheng)的(De),(?)第(Di)一(Yi)个(Ge)字(Zi)母(Mu),(?)后(Hou)面(Mian)可(Ke)以(Yi)是(Shi)字(Zi)母(Mu)、(?)数(Shu)字(Zi)、(?)下(Xia)划(Hua)线(Xian)、(?)总(Zong)长(Chang)度(Du)为(Wei)5-20。(?) 631.已(Yi)排(Pai)好(Hao)序(Xu)的(De)数(Shu)组(Zu)A,(?)一(Yi)般(Ban)来(Lai)说(Shuo)可(Ke)用(Yong)二(?)分(Fen)查(Cha)找(Zhao)可(Ke)以(Yi)很(Hen)快(Kuai)找(Zhao)到(Dao),(?)现(Xian)有(You)一(Yi)特(Te)殊(Shu)数(Shu)组(Zu)A,(?)它(Ta)是(Shi)循(Xun)环(Huan)递(Di)增(Zeng)的(De),(?)如(Ru)a[]={17, 19 ,20, 25, 1, 4, 7, 9},(?)在(Zai)这(Zhe)样(Yang)的(De)数(Shu)组(Zu)中(Zhong)找(Zhao)一(Yi)元(Yuan)素(Su),(?)看(Kan)看(Kan)是(Shi)否(Fou)存(Cun)在(Zai)。(?)请(Qing)写(Xie)出(Chu)你(Ni)的(De)算(Suan)法(Fa),(?)必(Bi)要(Yao)时(Shi)可(Ke)写(Xie)伪(Wei)代(Dai)码(Ma),(?)并(Bing)分(Fen)析(Xi)其(Qi)空(Kong)间(Jian),(?)时(Shi)间(Jian)复(Fu)杂(Za)度(Du)。(?) 632.请(Qing)编(Bian)写(Xie)一(Yi)个(Ge)完(Wan)整(Zheng)的(De)程(Cheng)序(Xu),(?)实(Shi)现(Xian)如(Ru)下(Xia)功(Gong)能(Neng):(?)从(Cong)键(Jian)盘(Pan)输(Shu)入(Ru)数(Shu)字(Zi)n,(?)程(Cheng)序(Xu)自(Zi)动(Dong)计(Ji)算(Suan)n!并(Bing)输(Shu)出(Chu)。(?)((?)注(Zhu)1:(?)n!(?)=1*2*3...*n, 注(Zhu)2:(?)请(Qing)使(Shi)用(Yong)递(Di)归(Gui)实(Shi)现(Xian))(?) 633.请(Qing)用(Yong)递(Di)归(Gui)的(De)方(Fang)法(Fa)计(Ji)算(Suan)斐(Fei)波(Bo)那(Na)契(Qi)数(Shu)列(Lie)的(De)同(Tong)项(Xiang)F((?)n)(?),(?)已(Yi)知(Zhi)F0=0,F1=1,F(n)=F(n-1)+F(n-2)(n>=2,n∈(?)N*). 634.现(Xian)在(Zai)有(You)整(Zheng)数(Shu)数(Shu)组(Zu){11,66,22,0,55,32},(?)请(Qing)任(Ren)意(Yi)选(Xuan)择(Ze)一(Yi)种(Zhong)排(Pai)序(Xu)算(Suan)法(Fa),(?)用(Yong)Java程(Cheng)序(Xu)实(Shi)现(Xian) 635.请(Qing)根(Gen)据(Ju)注(Zhu)释(Shi),(?)编(Bian)码(Ma)实(Shi)现(Xian)下(Xia)面(Mian)类(Lei)的(De)方(Fang)法(Fa) 636.二(?)分(Fen)法(Fa)查(Cha)询(Xun)((?)递(Di)归(Gui)实(Shi)现(Xian))(?) 637.编(Bian)写(Xie)一(Yi)段(Duan)Java程(Cheng)序(Xu),(?)把(Ba)一(Yi)句(Ju)英(Ying)语(Yu)中(Zhong)的(De)每(Mei)个(Ge)单(Dan)词(Ci)中(Zhong)的(De)字(Zi)母(Mu)次(Ci)序(Xu)倒(Dao)转(Zhuan),(?)单(Dan)词(Ci)次(Ci)序(Xu)保(Bao)持(Chi)不(Bu)变(Bian),(?)例(Li)入(Ru)输(Shu)入(Ru)为(Wei)“(?)There is a dog.”(?),输(Shu)出(Chu)结(Jie)果(Guo)应(Ying)该(Gai)是(Shi)“(?)erehT si a god.”(?)要(Yao)求(Qiu)不(Bu)使(Shi)用(Yong)Java的(De)库(Ku)函(Han)数(Shu),(?)例(Li)如(Ru)String类(Lei)的(De)split,(?)reverse方(Fang)法(Fa)。(?) 638.手(Shou)写(Xie)9x9乘(Cheng)法(Fa)表(Biao),(?)冒(Mao)泡(Pao)排(Pai)序(Xu) 639.题(Ti)目(Mu):(?) 给(Gei)定(Ding)一(Yi)个(Ge)整(Zheng)数(Shu)数(Shu)组(Zu),(?)找(Zhao)到(Dao)是(Shi)否(Fou)该(Gai)数(Shu)组(Zu)包(Bao)含(Han)任(Ren)何(He)重(Zhong)复(Fu)数(Shu)字(Zi)。(?)你(Ni)的(De)函(Han)数(Shu)应(Ying)该(Gai)返(Fan)回(Hui)true只(Zhi)要(Yao)有(You)任(Ren)何(He)数(Shu)字(Zi) 在(Zai)该(Gai)数(Shu)组(Zu)中(Zhong)重(Zhong)复(Fu)出(Chu)现(Xian),(?)否(Fou)则(Ze)返(Fan)回(Hui)false。(?) 640.给(Gei)定(Ding)一(Yi)个(Ge)数(Shu)组(Zu)nums,(?) 写(Xie)一(Yi)个(Ge)函(Han)数(Shu)来(Lai)移(Yi)动(Dong)所(Suo)有(You)0元(Yuan)素(Su)到(Dao)数(Shu)组(Zu)末(Mo)尾(Wei),(?)同(Tong)时(Shi)维(Wei)持(Chi)数(Shu)组(Zu)中(Zhong)非(Fei)0元(Yuan)素(Su)的(De)相(Xiang)对(Dui)顺(Shun)序(Xu)不(Bu)变(Bian)。(?)要(Yao)求(Qiu)不(Bu)能(Neng)申(Shen)请(Qing)额(E)外(Wai)的(De)内(Nei)存(Cun)空(Kong)间(Jian),(?)并(Bing)且(Qie)最(Zui)小(Xiao)化(Hua)操(Cao)作(Zuo)次(Ci)数(Shu)。(?) 641.给(Gei)定(Ding)一(Yi)颗(Ke)二(?)叉(Cha)树(Shu),(?)返(Fan)回(Hui)节(Jie)点(Dian)值(Zhi)得(De)先(Xian)序(Xu)遍(Bian)历(Li),(?)请(Qing)使(Shi)用(Yong)迭(Die)代(Dai)((?)非(Fei)递(Di)归(Gui))(?)方(Fang)式(Shi)实(Shi)现(Xian)。(?) 642.验(Yan)证(Zheng)一(Yi)棵(Ke)树(Shu)是(Shi)否(Fou)为(Wei)有(You)效(Xiao)的(De)二(?)叉(Cha)搜(Sou)索(Suo)树(Shu)BST 643.从(Cong)一(Yi)个(Ge)链(Lian)表(Biao)中(Zhong)删(Shan)除(Chu)节(Jie)点(Dian) 644.二(?)叉(Cha)搜(Sou)索(Suo)树(Shu)BST中(Zhong)第(Di)Kth小(Xiao)的(De)元(Yuan)素(Su) 题(Ti)目(Mu):(?)给(Gei)定(Ding)个(Ge)BST,(?)写(Xie)一(Yi)个(Ge)函(Han)数(Shu)kthSmallest来(Lai)找(Zhao)到(Dao)第(Di)kth小(Xiao)的(De)元(Yuan)素(Su) 645.题(Ti)目(Mu):(?)给(Gei)定(Ding)含(Han)有(You)n个(Ge)整(Zheng)数(Shu)的(De)数(Shu)组(Zu)S,(?)S中(Zhong)是(Shi)否(Fou)存(Cun)在(Zai)三(San)个(Ge)元(Yuan)素(Su)a,b,c使(Shi)得(De)a + b + c = 0? 找(Zhao)到(Dao)所(Suo)有(You)这(Zhe)样(Yang)的(De)三(San)元(Yuan) 组(Zu),(?)并(Bing)且(Qie)结(Jie)果(Guo)集(Ji)中(Zhong)不(Bu)包(Bao)含(Han)重(Zhong)复(Fu)的(De)三(San)元(Yuan)组(Zu)。(?) 646.子(Zi)集(Ji)问(Wen)题(Ti) 647.迭(Die)代(Dai)方(Fang)法(Fa)实(Shi)现(Xian)二(?)叉(Cha)树(Shu)的(De)先(Xian)序(Xu)遍(Bian)历(Li):(?)题(Ti)目(Mu):(?) 给(Gei)定(Ding)一(Yi)颗(Ke)叉(Cha)树(Shu),(?)返(Fan)回(Hui)节(Jie)点(Dian)值(Zhi)得(De)先(Xian)序(Xu)遍(Bian)历(Li),(?)请(Qing)使(Shi)用(Yong)迭(Die)代(Dai)((?)非(Fei)递(Di)归(Gui))(?)方(Fang)式(Shi)实(Shi)现(Xian)。(?) 648.验(Yan)证(Zheng)二(?)叉(Cha)搜(Sou)索(Suo)树(Shu)BST:(?)题(Ti)目(Mu):(?) 验(Yan)证(Zheng)一(Yi)棵(Ke)树(Shu)是(Shi)否(Fou)为(Wei)有(You)效(Xiao)的(De)二(?)叉(Cha)搜(Sou)索(Suo)树(Shu)BST比(Bi)如(Ru),(?)二(?)叉(Cha)树(Shu)[2, 1, 3],(?)返(Fan)回(Hui)true二(?)叉(Cha)树(Shu)[1, 2, 3], 返(Fan)回(Hui)false 649.编(Bian)辑(Ji)距(Ju)离(Li)题(Ti)目(Mu):(?) 给(Gei)定(Ding)两(Liang)个(Ge)单(Dan)词(Ci)word1和(He)word2,(?)找(Zhao)到(Dao)最(Zui)小(Xiao)的(De)操(Cao)作(Zuo)步(Bu)骤(Zhou)使(Shi)得(De)word1转(Zhuan)换(Huan)成(Cheng)word2,(?)每(Mei)次(Ci)操(Cao)作(Zuo)算(Suan)作(Zuo)一(Yi) 步(Bu)。(?)你(Ni)可(Ke)以(Yi)对(Dui)单(Dan)词(Ci)进(Jin)行(Xing)以(Yi)下(Xia)三(San)种(Zhong)操(Cao)作(Zuo):(?)1)(?)插(Cha)入(Ru)一(Yi)个(Ge)字(Zi)符(Fu)2)(?)删(Shan)除(Chu)一(Yi)个(Ge)字(Zi)符(Fu)3)(?)替(Ti)换(Huan)一(Yi)个(Ge)字(Zi)符(Fu) 650.买(Mai)卖(Mai)股(Gu)票(Piao)问(Wen)题(Ti):(?)题(Ti)目(Mu):(?) 你(Ni)有(You)一(Yi)个(Ge)数(Shu)组(Zu),(?)第(Di)i个(Ge)元(Yuan)素(Su)表(Biao)示(Shi)第(Di)i天(Tian)某(Mou)个(Ge)股(Gu)票(Piao)的(De)价(Jia)格(Ge),(?)设(She)计(Ji)一(Yi)个(Ge)算(Suan)法(Fa)找(Zhao)到(Dao)最(Zui)大(Da)的(De)利(Li)润(Run),(?)并(Bing)且(Qie)你(Ni)只(Zhi)能(Neng)最(Zui)多(Duo)完(Wan)成(Cheng)两(Liang)次(Ci)交(Jiao)易(Yi)。(?) 651.[编(Bian)程(Cheng)]任(Ren)给(Gei)n个(Ge)整(Zheng)数(Shu)和(He)一(Yi)个(Ge)整(Zheng)数(Shu)x。(?)请(Qing)计(Ji)算(Suan)n个(Ge)整(Zheng)数(Shu)中(Zhong)有(You)多(Duo)少(Shao)对(Dui)整(Zheng)数(Shu)之(Zhi)和(He)等(Deng)于(Yu)x。(?) 652.[编(Bian)程(Cheng)]请(Qing)说(Shuo)明(Ming)快(Kuai)速(Su)排(Pai)序(Xu)算(Suan)法(Fa)的(De)设(She)计(Ji)思(Si)想(Xiang)和(He)时(Shi)间(Jian)复(Fu)杂(Za)度(Du),(?)并(Bing)用(Yong)高(Gao)级(Ji)语(Yu)言(Yan)写(Xie)出(Chu)对(Dui)整(Zheng)数(Shu)数(Shu)组(Zu)进(Jin)行(Xing)一(Yi)趟(Tang)快(Kuai)排(Pai)的(De)函(Han)数(Shu)实(Shi)现(Xian)。(?) 653.对(Dui)于(Yu)一(Yi)段(Duan)形(Xing)如(Ru):(?)1,(?)-1~3,1~15×(?)3的(De)输(Shu)入(Ru) 654.有(You)两(Liang)个(Ge)字(Zi)符(Fu)串(Chuan):(?)目(Mu)标(Biao)串(Chuan)S=“(?)s1s2.......sn”(?),(?)模(Mo)式(Shi)串(Chuan)T="t1t2.......tm"。(?)若(Ruo)存(Cun)在(Zai)T的(De)每(Mei)个(Ge)字(Zi)符(Fu)一(Yi)次(Ci)和(He)S中(Zhong)的(De)一(Yi)个(Ge)连(Lian)续(Xu)字(Zi)符(Fu)序(Xu)列(Lie)相(Xiang)等(Deng),(?)则(Ze)匹(Pi)配(Pei)成(Cheng)功(Gong),(?)返(Fan)回(Hui)T中(Zhong)第(Di)一(Yi)个(Ge)字(Zi)符(Fu)在(Zai)S中(Zhong)的(De)位(Wei)置(Zhi)。(?)否(Fou)则(Ze)匹(Pi)配(Pei)不(Bu)成(Cheng)功(Gong),(?)返(Fan)回(Hui)0。(?)写(Xie)出(Chu)你(Ni)的(De)算(Suan)法(Fa),(?)要(Yao)求(Qiu)线(Xian)性(Xing)时(Shi)间(Jian)复(Fu)杂(Za)度(Du) 655.如(Ru)何(He)生(Sheng)成(Cheng)一(Yi)个(Ge)0-100的(De)随(Sui)机(Ji)整(Zheng)数(Shu)?(?) 656.请(Qing)编(Bian)写(Xie)一(Yi)段(Duan)Java程(Cheng)序(Xu)将(Jiang)两(Liang)个(Ge)有(You)序(Xu)数(Shu)组(Zu)合(He)并(Bing)成(Cheng)一(Yi)个(Ge)有(You)序(Xu)数(Shu)组(Zu) 657.在(Zai)最(Zui)佳(Jia)情(Qing)况(Kuang)下(Xia),(?)以(Yi)下(Xia)哪(Na)个(Ge)时(Shi)间(Jian)复(Fu)杂(Za)度(Du)最(Zui)高(Gao)((?)D)(?) 658.一(Yi)个(Ge)数(Shu)组(Zu),(?)元(Yuan)素(Su)为(Wei)从(Cong)0到(Dao)m的(De)整(Zheng)数(Shu),(?)判(Pan)断(Duan)其(Qi)中(Zhong)是(Shi)否(Fou)有(You)重(Zhong)复(Fu)元(Yuan)素(Su),(?)使(Shi)用(Yong)java语(Yu)言(Yan)编(Bian)写(Xie)一(Yi)个(Ge)方(Fang)法(Fa) 659.某(Mou)二(?)叉(Cha)树(Shu)的(De)先(Xian)序(Xu)遍(Bian)历(Li)是(Shi)12453,(?)中(Zhong)序(Xu)遍(Bian)历(Li)是(Shi)42513,(?)那(Na)么(Me)其(Qi)后(Hou)序(Xu)遍(Bian)历(Li)是(Shi)(A) 660.设(She)一(Yi)颗(Ke)二(?)叉(Cha)树(Shu)中(Zhong)有(You)3个(Ge)叶(Ye)子(Zi)节(Jie)点(Dian),(?)有(You)八(Ba)个(Ge)度(Du)为(Wei)1的(De)节(Jie)点(Dian),(?)则(Ze)该(Gai)二(?)叉(Cha)树(Shu)中(Zhong)总(Zong)的(De)节(Jie)点(Dian)数(Shu)为(Wei)((?))(?) 661.给(Gei)出(Chu)下(Xia)面(Mian)的(De)二(?)叉(Cha)树(Shu)先(Xian)序(Xu)、(?)中(Zhong)序(Xu)、(?)后(Hou)序(Xu)遍(Bian)历(Li)的(De)序(Xu)列(Lie)?(?) 662.你(Ni)知(Zhi)道(Dao)的(De)排(Pai)序(Xu)算(Suan)法(Fa)都(Du)哪(Na)些(Xie)?(?)用(Yong)Java写(Xie)一(Yi)个(Ge)排(Pai)序(Xu)系(Xi)统(Tong) 663.写(Xie)一(Yi)个(Ge)二(?)分(Fen)查(Cha)找(Zhao)((?)折(Zhe)半(Ban)搜(Sou)索(Suo))(?)的(De)算(Suan)法(Fa)。(?) 664.统(Tong)计(Ji)一(Yi)篇(Pian)英(Ying)文(Wen)文(Wen)章(Zhang)单(Dan)词(Ci)个(Ge)数(Shu)。(?) 665.输(Shu)入(Ru)年(Nian)月(Yue)日(Ri),(?)计(Ji)算(Suan)该(Gai)日(Ri)期(Qi)是(Shi)这(Zhe)一(Yi)年(Nian)的(De)第(Di)几(Ji)天(Tian)。(?) 666.回(Hui)文(Wen)素(Su)数(Shu):(?)所(Suo)谓(Wei)回(Hui)文(Wen)数(Shu)就(Jiu)是(Shi)顺(Shun)着(Zhuo)读(Du)和(He)倒(Dao)着(Zhuo)读(Du)一(Yi)样(Yang)的(De)数(Shu)(例(Li)如(Ru):(?)11,(?)121,(?)1991…(?)),(?)回(Hui)文(Wen)素(Su)数(Shu)就(Jiu)是(Shi)既(Ji)是(Shi)回(Hui)文(Wen)数(Shu)又(You)是(Shi)素(Su)数(Shu)(只(Zhi)能(Neng)被(Bei)1和(He)自(Zi)身(Shen)整(Zheng)除(Chu)的(De)数(Shu))的(De)数(Shu)。(?)编(Bian)程(Cheng)找(Zhao)出(Chu)11~(?)9999之(Zhi)间(Jian)的(De)回(Hui)文(Wen)素(Su)数(Shu)。(?) 667.全(Quan)排(Pai)列(Lie):(?)给(Gei)出(Chu)五(Wu)个(Ge)数(Shu)字(Zi)12345的(De)所(Suo)有(You)排(Pai)列(Lie)。(?) 668.对(Dui)于(Yu)一(Yi)个(Ge)有(You)N个(Ge)整(Zheng)数(Shu)元(Yuan)素(Su)的(De)一(Yi)维(Wei)数(Shu)组(Zu),(?)找(Zhao)出(Chu)它(Ta)的(De)子(Zi)数(Shu)组(Zu)((?)数(Shu)组(Zu)中(Zhong)下(Xia)标(Biao)连(Lian)续(Xu)的(De)元(Yuan)素(Su)组(Zu)成(Cheng)的(De)数(Shu)组(Zu))(?)之(Zhi)和(He)的(De)最(Zui)大(Da)值(Zhi)。(?) 669.用(Yong)递(Di)归(Gui)实(Shi)现(Xian)字(Zi)符(Fu)串(Chuan)倒(Dao)转(Zhuan) 670.输(Shu)入(Ru)一(Yi)个(Ge)正(Zheng)整(Zheng)数(Shu),(?)将(Jiang)其(Qi)分(Fen)解(Jie)为(Wei)素(Su)数(Shu)的(De)乘(Cheng)积(Ji)。(?) 671.一(Yi)个(Ge)有(You)n级(Ji)的(De)台(Tai)阶(Jie),(?)一(Yi)次(Ci)可(Ke)以(Yi)走(Zou)1级(Ji)、(?)2级(Ji)或(Huo)3级(Ji),(?)问(Wen)走(Zou)完(Wan)n级(Ji)台(Tai)阶(Jie)有(You)多(Duo)少(Shao)种(Zhong)走(Zou)法(Fa)。(?) 672.写(Xie)一(Yi)个(Ge)算(Suan)法(Fa)判(Pan)断(Duan)一(Yi)个(Ge)英(Ying)文(Wen)单(Dan)词(Ci)的(De)所(Suo)有(You)字(Zi)母(Mu)是(Shi)否(Fou)全(Quan)都(Du)不(Bu)同(Tong)((?)不(Bu)区(Qu)分(Fen)大(Da)小(Xiao)写(Xie))(?) 673.有(You)一(Yi)个(Ge)已(Yi)经(Jing)排(Pai)好(Hao)序(Xu)的(De)整(Zheng)数(Shu)数(Shu)组(Zu),(?)其(Qi)中(Zhong)存(Cun)在(Zai)重(Zhong)复(Fu)元(Yuan)素(Su),(?)请(Qing)将(Jiang)重(Zhong)复(Fu)元(Yuan)素(Su)删(Shan)除(Chu)掉(Diao),(?)例(Li)如(Ru),(?)A= [1, 1, 2, 2, 3],(?)处(Chu)理(Li)之(Zhi)后(Hou)的(De)数(Shu)组(Zu)应(Ying)当(Dang)为(Wei)A= [1, 2, 3]。(?) 674.给(Gei)一(Yi)个(Ge)数(Shu)组(Zu),(?)其(Qi)中(Zhong)有(You)一(Yi)个(Ge)重(Zhong)复(Fu)元(Yuan)素(Su)占(Zhan)半(Ban)数(Shu)以(Yi)上(Shang),(?)找(Zhao)出(Chu)这(Zhe)个(Ge)元(Yuan)素(Su)。(?) 675.编(Bian)写(Xie)一(Yi)个(Ge)方(Fang)法(Fa)求(Qiu)一(Yi)个(Ge)字(Zi)符(Fu)串(Chuan)的(De)字(Zi)节(Jie)长(Chang)度(Du)?
第(Di)二(?)篇(Pian):(?)就(Jiu)业(Ye)实(Shi)战(Zhan)
第(Di)三(San)篇(Pian):(?)热(Re)门(Men)专(Zhuan)业(Ye)学(Xue)习(Xi)之(Zhi)路(Lu)
前(Qian)言(Yan)

本(Ben)题(Ti)集(Ji)由(You)尚(Shang)学(Xue)堂(Tang)学(Xue)员(Yuan)整(Zheng)理(Li),(?)列(Lie)举(Ju)了(Liao)众(Zhong)多(Duo)IT公(Gong)司(Si)面(Mian)试(Shi)真(Zhen)题(Ti),(?)对(Dui)应(Ying)聘(Pin)Java程(Cheng)序(Xu)员(Yuan)职(Zhi)位(Wei)的(De)常(Chang)见(Jian)考(Kao)点(Dian)和(He)知(Zhi)识(Shi)体(Ti)系(Xi)都(Du)进(Jin)行(Xing)的(De)分(Fen)类(Lei)和(He)归(Gui)纳(Na)整(Zheng)理(Li)。(?)

本(Ben)题(Ti)集(Ji)适(Shi)合(He)应(Ying)聘(Pin)Java和(He)JavaEE职(Zhi)位(Wei)的(De)程(Cheng)序(Xu)员(Yuan)作(Zuo)为(Wei)面(Mian)试(Shi)复(Fu)习(Xi)、(?)学(Xue)习(Xi)和(He)强(Qiang)化(Hua)的(De)资(Zi)料(Liao),(?)也(Ye)适(Shi)合(He)其(Qi)他(Ta)程(Cheng)序(Xu)员(Yuan)作(Zuo)为(Wei)拓(Tuo)展(Zhan)读(Du)物(Wu)进(Jin)行(Xing)阅(Yue)读(Du)。(?)

本(Ben)题(Ti)集(Ji)包(Bao)含(Han)了(Liao)常(Chang)见(Jian)的(De)算(Suan)法(Fa)、(?)面(Mian)试(Shi)题(Ti),(?)也(Ye)包(Bao)含(Han)了(Liao)新(Xin)的(De)高(Gao)级(Ji)技(Ji)术(Shu),(?)比(Bi)如(Ru):(?)微(Wei)服(Fu)务(Wu)架(Jia)构(Gou)等(Deng)技(Ji)术(Shu)的(De)面(Mian)试(Shi)题(Ti)目(Mu)。(?)本(Ben)题(Ti)集(Ji)非(Fei)常(Chang)全(Quan)面(Mian),(?)对(Dui)于(Yu)工(Gong)作(Zuo)1-5年(Nian)左(Zuo)右(You)的(De)java程(Cheng)序(Xu)员(Yuan)面(Mian)试(Shi)有(You)非(Fei)常(Chang)好(Hao)的(De)指(Zhi)导(Dao)作(Zuo)用(Yong)。(?)

大(Da)家(Jia)也(Ye)可(Ke)以(Yi)访(Fang)问(Wen)((?)直(Zhi)接(Jie)在(Zai)线(Xian)观(Guan)看(Kan)最(Zui)新(Xin)版(Ban)的(De)面(Mian)试(Shi)题(Ti))(?):(?)tekxul.com/javamianshiti.html

1.大(Da)学(Xue)生(Sheng)高(Gao)端(Duan)复(Fu)合(He)人(Ren)才(Cai)成(Cheng)长(Chang)
1.JAVA专(Zhuan)业(Ye),(?)1000课(Ke) 3.大(Da)数(Shu)据(Ju)专(Zhuan)业(Ye),(?)500课(Ke)
2.Python专(Zhuan)业(Ye),(?)500课(Ke)    4.人(Ren)工(Gong)智(Zhi)能(Neng)专(Zhuan)业(Ye),(?)500课(Ke)

四(Si)个(Ge)专(Zhuan)业(Ye)都(Du)要(Yao)学(Xue),(?)从(Cong)零(Ling)开(Kai)始(Shi)2000小(Xiao)时(Shi),(?)成(Cheng)为(Wei)高(Gao)端(Duan)人(Ren)才(Cai),(?)打(Da)下(Xia)一(Yi)生(Sheng)技(Ji)术(Shu)基(Ji)础(Chu),(?)不(Bu)再(Zai)是(Shi)低(Di)端(Duan)码(Ma)农(Nong)。(?)

2.扫(Sao)一(Yi)扫(Sao),(?)咨(Zi)询(Xun)详(Xiang)情(Qing):(?)

访(Fang)问(Wen)官(Guan)网(Wang) www.itbaizhan.cn

Java基(Ji)础(Chu)、(?)语(Yu)法(Fa):(?)

1.Java跨(Kua)平(Ping)台(Tai)原(Yuan)理(Li)((?)字(Zi)节(Jie)码(Ma)文(Wen)件(Jian)、(?)虚(Xu)拟(Ni)机(Ji))(?)

C/C++语(Yu)言(Yan)都(Du)直(Zhi)接(Jie)编(Bian)译(Yi)成(Cheng)针(Zhen)对(Dui)特(Te)定(Ding)平(Ping)台(Tai)机(Ji)器(Qi)码(Ma)。(?)如(Ru)果(Guo)要(Yao)跨(Kua)平(Ping)台(Tai),(?)需(Xu)要(Yao)使(Shi)用(Yong)相(Xiang)应(Ying)的(De)编(Bian)译(Yi)器(Qi)重(Zhong)新(Xin)编(Bian)译(Yi)。(?)

Java源(Yuan)程(Cheng)序(Xu)((?).java)(?)要(Yao)先(Xian)编(Bian)译(Yi)成(Cheng)与(Yu)平(Ping)台(Tai)无(Wu)关(Guan)的(De)字(Zi)节(Jie)码(Ma)文(Wen)件(Jian)(.class),(?)然(Ran)后(Hou)字(Zi)节(Jie)码(Ma)文(Wen)件(Jian)再(Zai)解(Jie)释(Shi)成(Cheng)机(Ji)器(Qi)码(Ma)运(Yun)行(Xing)。(?)解(Jie)释(Shi)是(Shi)通(Tong)过(Guo)Java虚(Xu)拟(Ni)机(Ji)来(Lai)执(Zhi)行(Xing)的(De)。(?)

字(Zi)节(Jie)码(Ma)文(Wen)件(Jian)不(Bu)面(Mian)向(Xiang)任(Ren)何(He)具(Ju)体(Ti)平(Ping)台(Tai),(?)只(Zhi)面(Mian)向(Xiang)虚(Xu)拟(Ni)机(Ji)。(?)

Java虚(Xu)拟(Ni)机(Ji)是(Shi)可(Ke)运(Yun)行(Xing)Java字(Zi)节(Jie)码(Ma)文(Wen)件(Jian)的(De)虚(Xu)拟(Ni)计(Ji)算(Suan)机(Ji)。(?)不(Bu)同(Tong)平(Ping)台(Tai)的(De)虚(Xu)拟(Ni)机(Ji)是(Shi)不(Bu)同(Tong)的(De),(?)但(Dan)它(Ta)们(Men)都(Du)提(Ti)供(Gong)了(Liao)相(Xiang)同(Tong)的(De)接(Jie)口(Kou)。(?)

Java语(Yu)言(Yan)具(Ju)有(You)一(Yi)次(Ci)编(Bian)译(Yi),(?)到(Dao)处(Chu)运(Yun)行(Xing)的(De)特(Te)点(Dian)。(?)就(Jiu)是(Shi)说(Shuo)编(Bian)译(Yi)后(Hou)的(De).class可(Ke)以(Yi)跨(Kua)平(Ping)台(Tai)运(Yun)行(Xing),(?)前(Qian)提(Ti)是(Shi)该(Gai)平(Ping)台(Tai)具(Ju)有(You)相(Xiang)应(Ying)的(De)Java虚(Xu)拟(Ni)机(Ji)。(?)但(Dan)是(Shi)性(Xing)能(Neng)比(Bi)C/C++要(Yao)低(Di)。(?)

Java的(De)跨(Kua)平(Ping)台(Tai)原(Yuan)理(Li)决(Jue)定(Ding)了(Liao)其(Qi)性(Xing)能(Neng)没(Mei)有(You)C/C++高(Gao)

2.Java的(De)安(An)全(Quan)性(Xing)

语(Yu)言(Yan)层(Ceng)次(Ci)的(De)安(An)全(Quan)性(Xing)主(Zhu)要(Yao)体(Ti)现(Xian)在(Zai):(?)

Java取(Qu)消(Xiao)了(Liao)强(Qiang)大(Da)但(Dan)又(You)危(Wei)险(Xian)的(De)指(Zhi)针(Zhen),(?)而(?)代(Dai)之(Zhi)以(Yi)引(Yin)用(Yong)。(?)由(You)于(Yu)指(Zhi)针(Zhen)可(Ke)进(Jin)行(Xing)移(Yi)动(Dong)运(Yun)算(Suan),(?)指(Zhi)针(Zhen)可(Ke)随(Sui)便(Bian)指(Zhi)向(Xiang)一(Yi)个(Ge)内(Nei)存(Cun)区(Qu)域(Yu),(?)而(?)不(Bu)管(Guan)这(Zhe)个(Ge)区(Qu)域(Yu)是(Shi)否(Fou)可(Ke)用(Yong),(?)这(Zhe)样(Yang)做(Zuo)是(Shi)危(Wei)险(Xian)的(De),(?)因(Yin)为(Wei)原(Yuan)来(Lai)这(Zhe)个(Ge)内(Nei)存(Cun)地(Di)址(Zhi)可(Ke)能(Neng)存(Cun)储(Chu)着(Zhuo)重(Zhong)要(Yao)数(Shu)据(Ju)或(Huo)者(Zhe)是(Shi)其(Qi)他(Ta)程(Cheng)序(Xu)运(Yun)行(Xing)所(Suo)占(Zhan)用(Yong)的(De),(?)并(Bing)且(Qie)使(Shi)用(Yong)指(Zhi)针(Zhen)也(Ye)容(Rong)易(Yi)数(Shu)组(Zu)越(Yue)界(Jie)。(?)

垃(La)圾(Ji)回(Hui)收(Shou)机(Ji)制(Zhi):(?)不(Bu)需(Xu)要(Yao)程(Cheng)序(Xu)员(Yuan)直(Zhi)接(Jie)控(Kong)制(Zhi)内(Nei)存(Cun)回(Hui)收(Shou),(?)由(You)垃(La)圾(Ji)回(Hui)收(Shou)器(Qi)在(Zai)后(Hou)台(Tai)自(Zi)动(Dong)回(Hui)收(Shou)不(Bu)再(Zai)使(Shi)用(Yong)的(De)内(Nei)存(Cun)。(?)避(Bi)免(Mian)程(Cheng)序(Xu)忘(Wang)记(Ji)及(Ji)时(Shi)回(Hui)收(Shou),(?)导(Dao)致(Zhi)内(Nei)存(Cun)泄(Xie)露(Lu)。(?)避(Bi)免(Mian)程(Cheng)序(Xu)错(Cuo)误(Wu)回(Hui)收(Shou)程(Cheng)序(Xu)核(He)心(Xin)类(Lei)库(Ku)的(De)内(Nei)存(Cun),(?)导(Dao)致(Zhi)系(Xi)统(Tong)崩(Beng)溃(Kui)。(?)

异(Yi)常(Chang)处(Chu)理(Li)机(Ji)制(Zhi):(?)Java异(Yi)常(Chang)机(Ji)制(Zhi)主(Zhu)要(Yao)依(Yi)赖(Lai)于(Yu)try、(?)catch、(?)finally、(?)throw、(?)throws五(Wu)个(Ge)关(Guan)键(Jian)字(Zi)。(?)

强(Qiang)制(Zhi)类(Lei)型(Xing)转(Zhuan)换(Huan):(?)只(Zhi)有(You)在(Zai)满(Man)足(Zu)强(Qiang)制(Zhi)转(Zhuan)换(Huan)规(Gui)则(Ze)的(De)情(Qing)况(Kuang)下(Xia)才(Cai)能(Neng)强(Qiang)转(Zhuan)成(Cheng)功(Gong)。(?)

底(Di)层(Ceng)的(De)安(An)全(Quan)性(Xing)可(Ke)以(Yi)从(Cong)以(Yi)下(Xia)方(Fang)面(Mian)来(Lai)说(Shuo)明(Ming)

Java在(Zai)字(Zi)节(Jie)码(Ma)的(De)传(Chuan)输(Shu)过(Guo)程(Cheng)中(Zhong)使(Shi)用(Yong)了(Liao)公(Gong)开(Kai)密(Mi)钥(Yue)加(Jia)密(Mi)机(Ji)制(Zhi)(PKC)。(?)

在(Zai)运(Yun)行(Xing)环(Huan)境(Jing)提(Ti)供(Gong)了(Liao)四(Si)级(Ji)安(An)全(Quan)性(Xing)保(Bao)障(Zhang)机(Ji)制(Zhi):(?)

字(Zi)节(Jie)码(Ma)校(Xiao)验(Yan)器(Qi) -类(Lei)装(Zhuang)载(Zai)器(Qi) -运(Yun)行(Xing)时(Shi)内(Nei)存(Cun)布(Bu)局(Ju) -文(Wen)件(Jian)访(Fang)问(Wen)限(Xian)制(Zhi)

3.Java三(San)大(Da)版(Ban)本(Ben)

Java2平(Ping)台(Tai)包(Bao)括(Kuo)标(Biao)准(Zhun)版(Ban)((?)J2SE)(?)、(?)企(Qi)业(Ye)版(Ban)((?)J2EE)(?)和(He)微(Wei)缩(Suo)版(Ban)((?)J2ME)(?)三(San)个(Ge)版(Ban)本(Ben):(?)

Standard Edition(标(Biao)准(Zhun)版(Ban)) J2SE 包(Bao)含(Han)那(Na)些(Xie)构(Gou)成(Cheng)Java语(Yu)言(Yan)核(He)心(Xin)的(De)类(Lei)。(?)

比(Bi)如(Ru):(?)数(Shu)据(Ju)库(Ku)连(Lian)接(Jie)、(?)接(Jie)口(Kou)定(Ding)义(Yi)、(?)输(Shu)入(Ru)/输(Shu)出(Chu)、(?)网(Wang)络(Luo)编(Bian)程(Cheng)

Enterprise Edition(企(Qi)业(Ye)版(Ban)) J2EE 包(Bao)含(Han)J2SE 中(Zhong)的(De)类(Lei),(?)并(Bing)且(Qie)还(Huan)包(Bao)含(Han)用(Yong)于(Yu)开(Kai)发(Fa)企(Qi)业(Ye)级(Ji)应(Ying)用(Yong)的(De)类(Lei)。(?)

比(Bi)如(Ru)servlet、(?)JSP、(?)XML、(?)事(Shi)务(Wu)控(Kong)制(Zhi)

Micro Edition(微(Wei)缩(Suo)版(Ban)) J2ME 包(Bao)含(Han)J2SE中(Zhong)一(Yi)部(Bu)分(Fen)类(Lei),(?)用(Yong)于(Yu)消(Xiao)费(Fei)类(Lei)电(Dian)子(Zi)产(Chan)品(Pin)的(De)软(Ruan)件(Jian)开(Kai)发(Fa)。(?)

比(Bi)如(Ru):(?)呼(Hu)机(Ji)、(?)智(Zhi)能(Neng)卡(Ka)、(?)手(Shou)机(Ji)、(?)PDA、(?)机(Ji)顶(Ding)盒(He)

他(Ta)们(Men)的(De)范(Fan)围(Wei)是(Shi):(?)J2SE包(Bao)含(Han)于(Yu)J2EE中(Zhong),(?)J2ME包(Bao)含(Han)了(Liao)J2SE的(De)核(He)心(Xin)类(Lei),(?)但(Dan)新(Xin)添(Tian)加(Jia)了(Liao)一(Yi)些(Xie)专(Zhuan)有(You)类(Lei)

应(Ying)用(Yong)场(Chang)合(He),(?)API的(De)覆(Fu)盖(Gai)范(Fan)围(Wei)各(Ge)不(Bu)相(Xiang)同(Tong)。(?)

4.什(Shi)么(Me)是(Shi)JVM?(?)什(Shi)么(Me)是(Shi)JDK?(?) 什(Shi)么(Me)是(Shi)JRE?(?)

JVM :(?)JVM是(Shi)Java Virtual Machine((?)Java虚(Xu)拟(Ni)机(Ji))(?)的(De)缩(Suo)写(Xie),(?)它(Ta)是(Shi)整(Zheng)个(Ge)java实(Shi)现(Xian)跨(Kua)平(Ping)台(Tai)的(De)最(Zui)核(He)心(Xin)的(De)部(Bu)分(Fen),(?)所(Suo)有(You)的(De)java程(Cheng)序(Xu)会(Hui)首(Shou)先(Xian)被(Bei)编(Bian)译(Yi)为(Wei).class的(De)类(Lei)文(Wen)件(Jian),(?)这(Zhe)种(Zhong)类(Lei)文(Wen)件(Jian)可(Ke)以(Yi)在(Zai)虚(Xu)拟(Ni)机(Ji)上(Shang)执(Zhi)行(Xing),(?)也(Ye)就(Jiu)是(Shi)说(Shuo)class并(Bing)不(Bu)直(Zhi)接(Jie)与(Yu)机(Ji)器(Qi)的(De)操(Cao)作(Zuo)系(Xi)统(Tong)相(Xiang)对(Dui)应(Ying),(?)而(?)是(Shi)经(Jing)过(Guo)虚(Xu)拟(Ni)机(Ji)间(Jian)接(Jie)与(Yu)操(Cao)作(Zuo)系(Xi)统(Tong)交(Jiao)互(Hu),(?)由(You)虚(Xu)拟(Ni)机(Ji)将(Jiang)程(Cheng)序(Xu)解(Jie)释(Shi)给(Gei)本(Ben)地(Di)系(Xi)统(Tong)执(Zhi)行(Xing)。(?)JVM是(Shi)Java平(Ping)台(Tai)的(De)基(Ji)础(Chu),(?)和(He)实(Shi)际(Ji)的(De)机(Ji)器(Qi)一(Yi)样(Yang),(?)它(Ta)也(Ye)有(You)自(Zi)己(Ji)的(De)指(Zhi)令(Ling)集(Ji),(?)并(Bing)且(Qie)在(Zai)运(Yun)行(Xing)时(Shi)操(Cao)作(Zuo)不(Bu)同(Tong)的(De)内(Nei)存(Cun)区(Qu)域(Yu)。(?)JVM通(Tong)过(Guo)抽(Chou)象(Xiang)操(Cao)作(Zuo)系(Xi)统(Tong)和(He)CPU结(Jie)构(Gou),(?)提(Ti)供(Gong)了(Liao)一(Yi)种(Zhong)与(Yu)平(Ping)台(Tai)无(Wu)关(Guan)的(De)代(Dai)码(Ma)执(Zhi)行(Xing)方(Fang)法(Fa),(?)即(Ji)与(Yu)特(Te)殊(Shu)的(De)实(Shi)现(Xian)方(Fang)法(Fa)、(?)主(Zhu)机(Ji)硬(Ying)件(Jian)、(?)主(Zhu)机(Ji)操(Cao)作(Zuo)系(Xi)统(Tong)无(Wu)关(Guan)。(?)JVM的(De)主(Zhu)要(Yao)工(Gong)作(Zuo)是(Shi)解(Jie)释(Shi)自(Zi)己(Ji)的(De)指(Zhi)令(Ling)集(Ji)((?)即(Ji)字(Zi)节(Jie)码(Ma))(?)到(Dao)CPU的(De)指(Zhi)令(Ling)集(Ji)或(Huo)对(Dui)应(Ying)的(De)系(Xi)统(Tong)调(Diao)用(Yong),(?)保(Bao)护(Hu)用(Yong)户(Hu)免(Mian)被(Bei)恶(E)意(Yi)程(Cheng)序(Xu)骚(Sao)扰(Rao)。(?)JVM对(Dui)上(Shang)层(Ceng)的(De)Java源(Yuan)文(Wen)件(Jian)是(Shi)不(Bu)关(Guan)心(Xin)的(De),(?)它(Ta)关(Guan)注(Zhu)的(De)只(Zhi)是(Shi)由(You)源(Yuan)文(Wen)件(Jian)生(Sheng)成(Cheng)的(De)类(Lei)文(Wen)件(Jian)((?).class文(Wen)件(Jian))(?)。(?)

JRE:(?)JRE是(Shi)java runtime environment((?)java运(Yun)行(Xing)环(Huan)境(Jing))(?)的(De)缩(Suo)写(Xie)。(?)光(Guang)有(You)JVM还(Huan)不(Bu)能(Neng)让(Rang)class文(Wen)件(Jian)执(Zhi)行(Xing),(?)因(Yin)为(Wei)在(Zai)解(Jie)释(Shi)class的(De)时(Shi)候(Hou)JVM需(Xu)要(Yao)调(Diao)用(Yong)解(Jie)释(Shi)所(Suo)需(Xu)要(Yao)的(De)类(Lei)库(Ku)lib。(?)在(Zai)JDK的(De)安(An)装(Zhuang)目(Mu)录(Lu)里(Li)你(Ni)可(Ke)以(Yi)找(Zhao)到(Dao)jre目(Mu)录(Lu),(?)里(Li)面(Mian)有(You)两(Liang)个(Ge)文(Wen)件(Jian)夹(Jia)bin和(He)lib,在(Zai)这(Zhe)里(Li)可(Ke)以(Yi)认(Ren)为(Wei)bin里(Li)的(De)就(Jiu)是(Shi)jvm,(?)lib中(Zhong)则(Ze)是(Shi)jvm工(Gong)作(Zuo)所(Suo)需(Xu)要(Yao)的(De)类(Lei)库(Ku),(?)而(?)jvm和(He)lib和(He)起(Qi)来(Lai)就(Jiu)称(Cheng)为(Wei)jre。(?)所(Suo)以(Yi),(?)在(Zai)你(Ni)写(Xie)完(Wan)java程(Cheng)序(Xu)编(Bian)译(Yi)成(Cheng).class之(Zhi)后(Hou),(?)你(Ni)可(Ke)以(Yi)把(Ba)这(Zhe)个(Ge).class文(Wen)件(Jian)和(He)jre一(Yi)起(Qi)打(Da)包(Bao)发(Fa)给(Gei)朋(Peng)友(You),(?)这(Zhe)样(Yang)你(Ni)的(De)朋(Peng)友(You)就(Jiu)可(Ke)以(Yi)运(Yun)行(Xing)你(Ni)写(Xie)程(Cheng)序(Xu)了(Liao)((?)jre里(Li)有(You)运(Yun)行(Xing).class的(De)java.exe)(?)。(?)JRE是(Shi)Sun公(Gong)司(Si)发(Fa)布(Bu)的(De)一(Yi)个(Ge)更(Geng)大(Da)的(De)系(Xi)统(Tong),(?)它(Ta)里(Li)面(Mian)就(Jiu)有(You)一(Yi)个(Ge)JVM。(?)JRE就(Jiu)与(Yu)具(Ju)体(Ti)的(De)CPU结(Jie)构(Gou)和(He)操(Cao)作(Zuo)系(Xi)统(Tong)有(You)关(Guan),(?)是(Shi)运(Yun)行(Xing)Java程(Cheng)序(Xu)必(Bi)不(Bu)可(Ke)少(Shao)的(De)((?)除(Chu)非(Fei)用(Yong)其(Qi)他(Ta)一(Yi)些(Xie)编(Bian)译(Yi)环(Huan)境(Jing)编(Bian)译(Yi)成(Cheng).exe可(Ke)执(Zhi)行(Xing)文(Wen)件(Jian)…(?)…(?))(?),(?)JRE的(De)地(Di)位(Wei)就(Jiu)象(Xiang)一(Yi)台(Tai)PC机(Ji)一(Yi)样(Yang),(?)我(Wo)们(Men)写(Xie)好(Hao)的(De)Win32应(Ying)用(Yong)程(Cheng)序(Xu)需(Xu)要(Yao)操(Cao)作(Zuo)系(Xi)统(Tong)帮(Bang)我(Wo)们(Men)运(Yun)行(Xing),(?)同(Tong)样(Yang)的(De),(?)我(Wo)们(Men)编(Bian)写(Xie)的(De)Java程(Cheng)序(Xu)也(Ye)必(Bi)须(Xu)要(Yao)JRE才(Cai)能(Neng)运(Yun)行(Xing)。(?)

JDK:(?)JDK是(Shi)java development kit((?)java开(Kai)发(Fa)工(Gong)具(Ju)包(Bao))(?)的(De)缩(Suo)写(Xie)。(?)每(Mei)个(Ge)学(Xue)java的(De)人(Ren)都(Du)会(Hui)先(Xian)在(Zai)机(Ji)器(Qi)上(Shang)装(Zhuang)一(Yi)个(Ge)JDK,(?)那(Na) 让(Rang)我(Wo)们(Men)看(Kan)一(Yi)下(Xia)JDK的(De)安(An)装(Zhuang)目(Mu)录(Lu)。(?)在(Zai)目(Mu)录(Lu)下(Xia)面(Mian)有(You)六(Liu)个(Ge)文(Wen)件(Jian)夹(Jia)、(?)一(Yi)个(Ge)src类(Lei)库(Ku)源(Yuan)码(Ma)压(Ya)缩(Suo)包(Bao)、(?)和(He)其(Qi)他(Ta)几(Ji)个(Ge)声(Sheng)明(Ming)文(Wen)件(Jian)。(?)其(Qi)中(Zhong),(?)真(Zhen)正(Zheng)在(Zai)运(Yun)行(Xing)java时(Shi)起(Qi)作(Zuo)用(Yong)的(De)是(Shi)以(Yi)下(Xia)四(Si)个(Ge)文(Wen)件(Jian)夹(Jia):(?)bin、(?)include、(?)lib、(?)jre。(?)现(Xian)在(Zai)我(Wo)们(Men)可(Ke)以(Yi)看(Kan)出(Chu)这(Zhe)样(Yang)一(Yi)个(Ge)关(Guan)系(Xi),(?)JDK包(Bao)含(Han)JRE,(?)而(?)JRE包(Bao)含(Han)JVM。(?)

bin:最(Zui)主(Zhu)要(Yao)的(De)是(Shi)编(Bian)译(Yi)器(Qi)(javac.exe)

include:java和(He)JVM交(Jiao)互(Hu)用(Yong)的(De)头(Tou)文(Wen)件(Jian)

lib:(?)类(Lei)库(Ku)

jre:java运(Yun)行(Xing)环(Huan)境(Jing)

((?)注(Zhu)意(Yi):(?)这(Zhe)里(Li)的(De)bin、(?)lib文(Wen)件(Jian)夹(Jia)和(He)jre里(Li)的(De)bin、(?)lib是(Shi)不(Bu)同(Tong)的(De))(?)总(Zong)的(De)来(Lai)说(Shuo)JDK是(Shi)用(Yong)于(Yu)java程(Cheng)序(Xu)的(De)开(Kai)发(Fa),而(?)jre则(Ze)是(Shi)只(Zhi)能(Neng)运(Yun)行(Xing)class而(?)没(Mei)有(You)编(Bian)译(Yi)的(De)功(Gong)能(Neng)。(?)eclipse、(?)idea等(Deng)其(Qi)他(Ta)IDE有(You)自(Zi)己(Ji)的(De)编(Bian)译(Yi)器(Qi)而(?)不(Bu)是(Shi)用(Yong)JDKbin目(Mu)录(Lu)中(Zhong)自(Zi)带(Dai)的(De),(?)所(Suo)以(Yi)在(Zai)安(An)装(Zhuang)时(Shi)你(Ni)会(Hui)发(Fa)现(Xian)他(Ta)们(Men)只(Zhi)要(Yao)求(Qiu)你(Ni)选(Xuan)jre路(Lu)径(Jing)就(Jiu)ok了(Liao)。(?)

JDK,JRE,JVM三(San)者(Zhe)关(Guan)系(Xi)概(Gai)括(Kuo)如(Ru)下(Xia):(?)

jdk是(Shi)JAVA程(Cheng)序(Xu)开(Kai)发(Fa)时(Shi)用(Yong)的(De)开(Kai)发(Fa)工(Gong)具(Ju)包(Bao),(?)其(Qi)内(Nei)部(Bu)也(Ye)有(You)JRE运(Yun)行(Xing)环(Huan)境(Jing)JRE。(?)JRE是(Shi)JAVA程(Cheng)序(Xu)运(Yun)行(Xing)时(Shi)需(Xu)要(Yao)的(De)运(Yun)行(Xing)环(Huan)境(Jing),(?)就(Jiu)是(Shi)说(Shuo)如(Ru)果(Guo)你(Ni)光(Guang)是(Shi)运(Yun)行(Xing)JAVA程(Cheng)序(Xu)而(?)不(Bu)是(Shi)去(Qu)搞(Gao)开(Kai)发(Fa)的(De)话(Hua),(?)只(Zhi)安(An)装(Zhuang)JRE就(Jiu)能(Neng)运(Yun)行(Xing)已(Yi)经(Jing)存(Cun)在(Zai)的(De)JAVA程(Cheng)序(Xu)了(Liao)。(?)JDk、(?)JRE内(Nei)部(Bu)都(Du)包(Bao)含(Han)JAVA虚(Xu)拟(Ni)机(Ji)JVM,(?)JAVA虚(Xu)拟(Ni)机(Ji)内(Nei)部(Bu)包(Bao)含(Han)许(Xu)多(Duo)应(Ying)用(Yong)程(Cheng)序(Xu)的(De)类(Lei)的(De)解(Jie)释(Shi)器(Qi)和(He)类(Lei)加(Jia)载(Zai)器(Qi)等(Deng)等(Deng)。(?)

5.Java三(San)种(Zhong)注(Zhu)释(Shi)类(Lei)型(Xing)

共(Gong)有(You)单(Dan)行(Xing)注(Zhu)释(Shi)、(?)多(Duo)行(Xing)注(Zhu)释(Shi)、(?)文(Wen)档(Dang)注(Zhu)释(Shi)3种(Zhong)注(Zhu)释(Shi)类(Lei)型(Xing)。(?)使(Shi)用(Yong)如(Ru)下(Xia):(?)

单(Dan)行(Xing)注(Zhu)释(Shi),(?)采(Cai)用(Yong)“(?)//”(?)方(Fang)式(Shi).只(Zhi)能(Neng)注(Zhu)释(Shi)一(Yi)行(Xing)代(Dai)码(Ma)。(?)如(Ru):(?)//类(Lei)成(Cheng)员(Yuan)变(Bian)量(Liang)

多(Duo)行(Xing)注(Zhu)释(Shi),(?)采(Cai)用(Yong)“(?)/*...*/”(?)方(Fang)式(Shi),(?)可(Ke)注(Zhu)释(Shi)多(Duo)行(Xing)代(Dai)码(Ma),(?)其(Qi)中(Zhong)不(Bu)允(Yun)许(Xu)出(Chu)现(Xian)嵌(Qian)套(Tao)。(?)如(Ru):(?)

/*System.out.println("a");

System.out.println("b");

System.out.println("c");*/

文(Wen)档(Dang)注(Zhu)释(Shi),(?)采(Cai)用(Yong)“(?)/**...*/”(?)方(Fang)式(Shi)。(?)如(Ru):(?)

/**

* 子(Zi)类(Lei) Dog

* @author Administrator

**/

public class Dog extends Animal{}

6.8种(Zhong)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)及(Ji)其(Qi)字(Zi)节(Jie)数(Shu)
数(Shu)据(Ju)类(Lei)型(Xing) 关(Guan)键(Jian)字(Zi) 字(Zi)节(Jie)数(Shu)
数(Shu)值(Zhi)型(Xing) 整(Zheng)数(Shu)型(Xing) byte 1
short 2
int 4
long 8
浮(Fu)点(Dian)型(Xing) float 4
double 8
布(Bu)尔(?)型(Xing) boolean 1((?)位(Wei))(?)
字(Zi)符(Fu)型(Xing) char 2
7.i++和(He)++i的(De)异(Yi)同(Tong)之(Zhi)处(Chu)

共(Gong)同(Tong)点(Dian):(?)

1、(?)i++和(He)++i都(Du)是(Shi)变(Bian)量(Liang)自(Zi)增(Zeng)1,(?)都(Du)等(Deng)价(Jia)于(Yu)i=i+1

2、(?)如(Ru)果(Guo)i++,++i是(Shi)一(Yi)条(Tiao)单(Dan)独(Du)的(De)语(Yu)句(Ju),(?)两(Liang)者(Zhe)没(Mei)有(You)任(Ren)何(He)区(Qu)别(Bie)

3、(?)i++和(He)++i的(De)使(Shi)用(Yong)仅(Jin)仅(Jin)针(Zhen)对(Dui)变(Bian)量(Liang)。(?) 5++和(He)++5会(Hui)报(Bao)错(Cuo),(?)因(Yin)为(Wei)5不(Bu)是(Shi)变(Bian)量(Liang)。(?)

不(Bu)同(Tong)点(Dian):(?)

如(Ru)果(Guo)i++,++i不(Bu)是(Shi)一(Yi)条(Tiao)单(Dan)独(Du)的(De)语(Yu)句(Ju),(?)他(Ta)们(Men)就(Jiu)有(You)区(Qu)别(Bie)i++ :(?)先(Xian)运(Yun)算(Suan)后(Hou)增(Zeng)1。(?)如(Ru):(?)

int x=5;
int y=x++;
System.out.println("x="+x+", y="+y);
    //以(Yi)上(Shang)代(Dai)码(Ma)运(Yun)行(Xing)后(Hou)输(Shu)出(Chu)结(Jie)果(Guo)为(Wei):(?)x=6, y=5

++i :(?) 先(Xian)增(Zeng)1后(Hou)运(Yun)算(Suan)。(?)如(Ru):(?)

int x=5;
int y=++x;
System.out.println("x="+x+", y="+y);
    //以(Yi)上(Shang)代(Dai)码(Ma)运(Yun)行(Xing)后(Hou)输(Shu)出(Chu)结(Jie)果(Guo)为(Wei):(?)x=6, y=6
8.&和(He)&&的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi),(?)|和(He)||的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi)

&和(He)&&的(De)联(Lian)系(Xi)(共(Gong)同(Tong)点(Dian)):(?)

&和(He)&&都(Du)可(Ke)以(Yi)用(Yong)作(Zuo)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu),(?)但(Dan)是(Shi)要(Yao)看(Kan)使(Shi)用(Yong)时(Shi)的(De)具(Ju)体(Ti)条(Tiao)件(Jian)来(Lai)决(Jue)定(Ding)。(?)

操(Cao)作(Zuo)数(Shu)1&操(Cao)作(Zuo)数(Shu)2,(?)操(Cao)作(Zuo)数(Shu)1&&操(Cao)作(Zuo)数(Shu)2,(?)

表(Biao)达(Da)式(Shi)1&表(Biao)达(Da)式(Shi)2,(?)表(Biao)达(Da)式(Shi)1&&表(Biao)达(Da)式(Shi)2,(?)

情(Qing)况(Kuang)1:(?)当(Dang)上(Shang)述(Shu)的(De)操(Cao)作(Zuo)数(Shu)是(Shi)boolean类(Lei)型(Xing)变(Bian)量(Liang)时(Shi),(?)&和(He)&&都(Du)可(Ke)以(Yi)用(Yong)作(Zuo)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu)。(?)

情(Qing)况(Kuang)2:(?)当(Dang)上(Shang)述(Shu)的(De)表(Biao)达(Da)式(Shi)结(Jie)果(Guo)是(Shi)boolean类(Lei)型(Xing)变(Bian)量(Liang)时(Shi),(?)&和(He)&&都(Du)可(Ke)以(Yi)用(Yong)作(Zuo)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu)。(?)

表(Biao)示(Shi)逻(Luo)辑(Ji)与(Yu)(and),(?)当(Dang)运(Yun)算(Suan)符(Fu)两(Liang)边(Bian)的(De)表(Biao)达(Da)式(Shi)的(De)结(Jie)果(Guo)或(Huo)操(Cao)作(Zuo)数(Shu)都(Du)为(Wei)true时(Shi),(?)整(Zheng)个(Ge)运(Yun)算(Suan)结(Jie)果(Guo)才(Cai)为(Wei)true,(?)否(Fou)则(Ze),(?)只(Zhi)要(Yao)有(You)一(Yi)方(Fang)为(Wei)false,(?)结(Jie)果(Guo)都(Du)为(Wei)false。(?)

&和(He)&&的(De)区(Qu)别(Bie)(不(Bu)同(Tong)点(Dian)):(?)

(1)、(?)&逻(Luo)辑(Ji)运(Yun)算(Suan)符(Fu)称(Cheng)为(Wei)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu),(?)&&逻(Luo)辑(Ji)运(Yun)算(Suan)符(Fu)称(Cheng)为(Wei)短(Duan)路(Lu)与(Yu)运(Yun)算(Suan)符(Fu),(?)也(Ye)可(Ke)叫(Jiao)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu)。(?)

对(Dui)于(Yu)&:(?)无(Wu)论(Lun)任(Ren)何(He)情(Qing)况(Kuang),(?)&两(Liang)边(Bian)的(De)操(Cao)作(Zuo)数(Shu)或(Huo)表(Biao)达(Da)式(Shi)都(Du)会(Hui)参(Can)与(Yu)计(Ji)算(Suan)。(?)

对(Dui)于(Yu)&&:(?)当(Dang)&&左(Zuo)边(Bian)的(De)操(Cao)作(Zuo)数(Shu)为(Wei)false或(Huo)左(Zuo)边(Bian)表(Biao)达(Da)式(Shi)结(Jie)果(Guo)为(Wei)false时(Shi),(?)&&右(You)边(Bian)的(De)操(Cao)作(Zuo)数(Shu)或(Huo)表(Biao)达(Da)式(Shi)将(Jiang)不(Bu)参(Can)与(Yu)计(Ji)算(Suan),(?)此(Ci)时(Shi)最(Zui)终(Zhong)结(Jie)果(Guo)都(Du)为(Wei)false。(?)

综(Zong)上(Shang)所(Suo)述(Shu),(?)如(Ru)果(Guo)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)的(De)第(Di)一(Yi)个(Ge)操(Cao)作(Zuo)数(Shu)是(Shi)false或(Huo)第(Di)一(Yi)个(Ge)表(Biao)达(Da)式(Shi)的(De)结(Jie)果(Guo)为(Wei)false时(Shi),(?)对(Dui)于(Yu)第(Di)二(?)个(Ge)操(Cao)作(Zuo)数(Shu)或(Huo)表(Biao)达(Da)式(Shi)是(Shi)否(Fou)进(Jin)行(Xing)运(Yun)算(Suan),(?)对(Dui)最(Zui)终(Zhong)的(De)结(Jie)果(Guo)没(Mei)有(You)影(Ying)响(Xiang),(?)结(Jie)果(Guo)肯(Ken)定(Ding)是(Shi)false。(?)推(Tui)介(Jie)平(Ping)时(Shi)多(Duo)使(Shi)用(Yong)&&,(?)因(Yin)为(Wei)它(Ta)效(Xiao)率(Lu)更(Geng)高(Gao)些(Xie)。(?)

、(?)&还(Huan)可(Ke)以(Yi)用(Yong)作(Zuo)位(Wei)运(Yun)算(Suan)符(Fu)。(?)当(Dang)&两(Liang)边(Bian)操(Cao)作(Zuo)数(Shu)或(Huo)两(Liang)边(Bian)表(Biao)达(Da)式(Shi)的(De)结(Jie)果(Guo)不(Bu)是(Shi)boolean类(Lei)型(Xing)时(Shi),(?)&用(Yong)于(Yu)按(An)位(Wei)与(Yu)运(Yun)算(Suan)符(Fu)的(De)操(Cao)作(Zuo)。(?)

|和(He)||的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi)与(Yu)&和(He)&&的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi)类(Lei)似(Si)

9.用(Yong)最(Zui)有(You)效(Xiao)率(Lu)的(De)方(Fang)法(Fa)算(Suan)出(Chu)2乘(Cheng)以(Yi)8等(Deng)于(Yu)多(Duo)少(Shao)

使(Shi)用(Yong)位(Wei)运(Yun)算(Suan)来(Lai)实(Shi)现(Xian)效(Xiao)率(Lu)最(Zui)高(Gao)。(?)位(Wei)运(Yun)算(Suan)符(Fu)是(Shi)对(Dui)操(Cao)作(Zuo)数(Shu)以(Yi)二(?)进(Jin)制(Zhi)比(Bi)特(Te)位(Wei)为(Wei)单(Dan)位(Wei)进(Jin)行(Xing)操(Cao)作(Zuo)和(He)运(Yun)算(Suan),(?)操(Cao)作(Zuo)数(Shu)和(He)结(Jie)果(Guo)都(Du)是(Shi)整(Zheng)型(Xing)数(Shu)。(?)对(Dui)于(Yu)位(Wei)运(Yun)算(Suan)符(Fu)“(?)<<”(?), 是(Shi)将(Jiang)一(Yi)个(Ge)数(Shu)左(Zuo)移(Yi)n位(Wei),(?)就(Jiu)相(Xiang)当(Dang)于(Yu)乘(Cheng)以(Yi)了(Liao)2的(De)n次(Ci)方(Fang),(?)那(Na)么(Me),(?)一(Yi)个(Ge)数(Shu)乘(Cheng)以(Yi)8只(Zhi)要(Yao)将(Jiang)其(Qi)左(Zuo)移(Yi)3位(Wei)即(Ji)可(Ke),(?)位(Wei)运(Yun)算(Suan)cpu直(Zhi)接(Jie)支(Zhi)持(Chi)的(De),(?)效(Xiao)率(Lu)最(Zui)高(Gao)。(?)所(Suo)以(Yi),(?)2乘(Cheng)以(Yi)8等(Deng)于(Yu)几(Ji)的(De)最(Zui)效(Xiao)率(Lu)的(De)方(Fang)法(Fa)是(Shi)2 << 3

10.基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)的(De)类(Lei)型(Xing)转(Zhuan)换(Huan)规(Gui)则(Ze)

基(Ji)本(Ben)类(Lei)型(Xing)转(Zhuan)换(Huan)分(Fen)为(Wei)自(Zi)动(Dong)转(Zhuan)换(Huan)和(He)强(Qiang)制(Zhi)转(Zhuan)换(Huan)。(?)

自(Zi)动(Dong)转(Zhuan)换(Huan)规(Gui)则(Ze):(?)容(Rong)量(Liang)小(Xiao)的(De)数(Shu)据(Ju)类(Lei)型(Xing)可(Ke)以(Yi)自(Zi)动(Dong)转(Zhuan)换(Huan)成(Cheng)容(Rong)量(Liang)大(Da)的(De)数(Shu)据(Ju)类(Lei)型(Xing),(?)也(Ye)可(Ke)

以(Yi)说(Shuo)低(Di)级(Ji)自(Zi)动(Dong)向(Xiang)高(Gao)级(Ji)转(Zhuan)换(Huan)。(?)这(Zhe)儿(?)的(De)容(Rong)量(Liang)指(Zhi)的(De)不(Bu)是(Shi)字(Zi)节(Jie)数(Shu),(?)而(?)是(Shi)指(Zhi)类(Lei)型(Xing)表(Biao)述(Shu)的(De)范(Fan)围(Wei)。(?)

强(Qiang)制(Zhi)转(Zhuan)换(Huan)规(Gui)则(Ze):(?)高(Gao)级(Ji)变(Bian)为(Wei)低(Di)级(Ji)需(Xu)要(Yao)强(Qiang)制(Zhi)转(Zhuan)换(Huan)。(?)

如(Ru)何(He)转(Zhuan)换(Huan):(?)

((?)1)(?)赋(Fu)值(Zhi)运(Yun)算(Suan)符(Fu)“(?)=”(?)右(You)边(Bian)的(De)转(Zhuan)换(Huan),(?)先(Xian)自(Zi)动(Dong)转(Zhuan)换(Huan)成(Cheng)表(Biao)达(Da)式(Shi)中(Zhong)级(Ji)别(Bie)最(Zui)高(Gao)的(De)数(Shu)据(Ju)类(Lei)型(Xing),(?)再(Zai)进(Jin)行(Xing)运(Yun)算(Suan)。(?)

((?)2)(?)赋(Fu)值(Zhi)运(Yun)算(Suan)符(Fu)“(?)=”(?)两(Liang)侧(Ce)的(De)转(Zhuan)换(Huan),(?)若(Ruo)左(Zuo)边(Bian)级(Ji)别(Bie)>右(You)边(Bian)级(Ji)别(Bie),(?)会(Hui)自(Zi)动(Dong)转(Zhuan)换(Huan);(?)若(Ruo)左(Zuo)边(Bian)级(Ji)别(Bie) == 右(You)边(Bian)级(Ji)别(Bie),(?)不(Bu)用(Yong)转(Zhuan)换(Huan);(?)若(Ruo)左(Zuo)边(Bian)级(Ji)别(Bie) < 右(You)边(Bian)级(Ji)别(Bie),(?)需(Xu)强(Qiang)制(Zhi)转(Zhuan)换(Huan)。(?)

(3)可(Ke)以(Yi)将(Jiang)整(Zheng)型(Xing)常(Chang)量(Liang)直(Zhi)接(Jie)赋(Fu)值(Zhi)给(Gei)byte, short, char等(Deng)类(Lei)型(Xing)变(Bian)量(Liang),(?)而(?)不(Bu)需(Xu)要(Yao)进(Jin)行(Xing)强(Qiang)制(Zhi)类(Lei)型(Xing)转(Zhuan)换(Huan),(?)前(Qian)提(Ti)是(Shi)不(Bu)超(Chao)出(Chu)其(Qi)表(Biao)述(Shu)范(Fan)围(Wei),(?)否(Fou)则(Ze)必(Bi)须(Xu)进(Jin)行(Xing)强(Qiang)制(Zhi)转(Zhuan)换(Huan)。(?)

11.if多(Duo)分(Fen)支(Zhi)语(Yu)句(Ju)和(He)switch多(Duo)分(Fen)支(Zhi)语(Yu)句(Ju)的(De)异(Yi)同(Tong)之(Zhi)处(Chu)

相(Xiang)同(Tong)之(Zhi)处(Chu):(?)都(Du)是(Shi)分(Fen)支(Zhi)语(Yu)句(Ju),(?)多(Duo)超(Chao)过(Guo)一(Yi)种(Zhong)的(De)情(Qing)况(Kuang)进(Jin)行(Xing)判(Pan)断(Duan)处(Chu)理(Li)。(?)

不(Bu)同(Tong)之(Zhi)处(Chu):(?)

switch更(Geng)适(Shi)合(He)用(Yong)于(Yu)多(Duo)分(Fen)支(Zhi)情(Qing)况(Kuang),(?)就(Jiu)是(Shi)有(You)很(Hen)多(Duo)种(Zhong)情(Qing)况(Kuang)需(Xu)要(Yao)判(Pan)断(Duan)处(Chu)理(Li),(?)判(Pan)断(Duan)条(Tiao)件(Jian)类(Lei)型(Xing)单(Dan)一(Yi),(?)只(Zhi)有(You)一(Yi)个(Ge)入(Ru)口(Kou),(?)在(Zai)分(Fen)支(Zhi)执(Zhi)行(Xing)完(Wan)后(Hou)((?)如(Ru)果(Guo)没(Mei)有(You)break跳(Tiao)出(Chu))(?),(?)不(Bu)加(Jia)判(Pan)断(Duan)地(Di)执(Zhi)行(Xing)下(Xia)去(Qu);而(?)if—(?)elseif---else多(Duo)分(Fen)枝(Zhi)主(Zhu)要(Yao)适(Shi)用(Yong)于(Yu)分(Fen)支(Zhi)较(Jiao)少(Shao)的(De)分(Fen)支(Zhi)结(Jie)构(Gou),(?)判(Pan)断(Duan)类(Lei)型(Xing)不(Bu)是(Shi)单(Dan)一(Yi),(?)只(Zhi)要(Yao)一(Yi)个(Ge)分(Fen)支(Zhi)被(Bei)执(Zhi)行(Xing)后(Hou),(?)后(Hou)边(Bian)的(De)分(Fen)支(Zhi)不(Bu)再(Zai)执(Zhi)行(Xing)。(?)switch为(Wei)等(Deng)值(Zhi)判(Pan)断(Duan)((?)不(Bu)允(Yun)许(Xu)比(Bi)如(Ru)>= <=)(?),(?)而(?)if为(Wei)等(Deng)值(Zhi)和(He)区(Qu)间(Jian)都(Du)可(Ke)以(Yi),(?)if的(De)使(Shi)用(Yong)范(Fan)围(Wei)大(Da)。(?)

12.while和(He)do-while循(Xun)环(Huan)的(De)区(Qu)别(Bie)

while先(Xian)判(Pan)断(Duan)后(Hou)执(Zhi)行(Xing),(?)第(Di)一(Yi)次(Ci)判(Pan)断(Duan)为(Wei)false,循(Xun)环(Huan)体(Ti)一(Yi)次(Ci)都(Du)不(Bu)执(Zhi)行(Xing)

do while先(Xian)执(Zhi)行(Xing) 后(Hou)判(Pan)断(Duan),(?)最(Zui)少(Shao)执(Zhi)行(Xing)1次(Ci)。(?)

如(Ru)果(Guo)while循(Xun)环(Huan)第(Di)一(Yi)次(Ci)判(Pan)断(Duan)为(Wei)true, 则(Ze)两(Liang)种(Zhong)循(Xun)环(Huan)没(Mei)有(You)区(Qu)别(Bie)。(?)

13.break和(He)continue的(De)作(Zuo)用(Yong)

break: 结(Jie)束(Shu)当(Dang)前(Qian)循(Xun)环(Huan)并(Bing)退(Tui)出(Chu)当(Dang)前(Qian)循(Xun)环(Huan)体(Ti)。(?)

break还(Huan)可(Ke)以(Yi)退(Tui)出(Chu)switch语(Yu)句(Ju)

continue: 循(Xun)环(Huan)体(Ti)中(Zhong)后(Hou)续(Xu)的(De)语(Yu)句(Ju)不(Bu)执(Zhi)行(Xing),(?)但(Dan)是(Shi)循(Xun)环(Huan)没(Mei)有(You)结(Jie)束(Shu),(?)继(Ji)续(Xu)进(Jin)行(Xing)循(Xun)环(Huan)条(Tiao)件(Jian)的(De)判(Pan)断(Duan)((?)for循(Xun)环(Huan)还(Huan)会(Hui)i++)(?)。(?)continue只(Zhi)是(Shi)结(Jie)束(Shu)本(Ben)次(Ci)循(Xun)环(Huan)。(?)

14.请(Qing)使(Shi)用(Yong)递(Di)归(Gui)算(Suan)法(Fa)计(Ji)算(Suan)n!(?)
package com.bjsxt;
import java.io.File;
public class $ {
public static void main(String[] args) {
        String path = "D:/301SXT";
        test(path);
    }
    private static void test(String path) {
        File f = new File(path);
        File[] fs = f.listFiles();
        if (fs == null) {
            return;
        }
        for (File file : fs) {
            if (file.isFile()) {
                System.out.println(file.getPath());
            } else {
                test(file.getPath());
            }
        }
    }
15.递(Di)归(Gui)的(De)定(Ding)义(Yi)和(He)优(You)缺(Que)点(Dian)

递(Di)归(Gui)算(Suan)法(Fa)是(Shi)一(Yi)种(Zhong)直(Zhi)接(Jie)或(Huo)者(Zhe)间(Jian)接(Jie)地(Di)调(Diao)用(Yong)自(Zi)身(Shen)算(Suan)法(Fa)的(De)过(Guo)程(Cheng)。(?)在(Zai)计(Ji)算(Suan)机(Ji)编(Bian)写(Xie)程(Cheng)序(Xu)中(Zhong),(?)递(Di)归(Gui)算(Suan)法(Fa)对(Dui)解(Jie)决(Jue)一(Yi)大(Da)类(Lei)问(Wen)题(Ti)是(Shi)十(Shi)分(Fen)有(You)效(Xiao)的(De),(?)它(Ta)往(Wang)往(Wang)使(Shi)算(Suan)法(Fa)的(De)描(Miao)述(Shu)简(Jian)洁(Jie)而(?)且(Qie)易(Yi)于(Yu)理(Li)解(Jie)。(?)

递(Di)归(Gui)算(Suan)法(Fa)解(Jie)决(Jue)问(Wen)题(Ti)的(De)特(Te)点(Dian):(?)

(1) 递(Di)归(Gui)就(Jiu)是(Shi)在(Zai)过(Guo)程(Cheng)或(Huo)函(Han)数(Shu)里(Li)调(Diao)用(Yong)自(Zi)身(Shen)。(?)

(2) 在(Zai)使(Shi)用(Yong)递(Di)归(Gui)策(Ce)略(Lue)时(Shi),(?)必(Bi)须(Xu)有(You)一(Yi)个(Ge)明(Ming)确(Que)的(De)递(Di)归(Gui)结(Jie)束(Shu)条(Tiao)件(Jian),(?)称(Cheng)为(Wei)递(Di)归(Gui)出(Chu)口(Kou)。(?)

(3) 递(Di)归(Gui)算(Suan)法(Fa)解(Jie)题(Ti)通(Tong)常(Chang)显(Xian)得(De)很(Hen)简(Jian)洁(Jie),(?)但(Dan)运(Yun)行(Xing)效(Xiao)率(Lu)较(Jiao)低(Di)。(?)所(Suo)以(Yi)一(Yi)般(Ban)不(Bu)提(Ti)倡(Chang)用(Yong)递(Di)归(Gui)算(Suan)法(Fa)设(She)计(Ji)程(Cheng)序(Xu)。(?)

(4) 在(Zai)递(Di)归(Gui)调(Diao)用(Yong)的(De)过(Guo)程(Cheng)当(Dang)中(Zhong)系(Xi)统(Tong)为(Wei)每(Mei)一(Yi)层(Ceng)的(De)返(Fan)回(Hui)点(Dian)、(?)局(Ju)部(Bu)量(Liang)等(Deng)开(Kai)辟(Bi)了(Liao)栈(Zhan)来(Lai)存(Cun)储(Chu)。(?)递(Di)归(Gui)次(Ci)数(Shu)过(Guo)多(Duo)容(Rong)易(Yi)造(Zao)成(Cheng)栈(Zhan)溢(Yi)出(Chu)等(Deng)。(?)所(Suo)以(Yi)一(Yi)般(Ban)不(Bu)提(Ti)倡(Chang)用(Yong)递(Di)归(Gui)算(Suan)法(Fa)设(She)计(Ji)程(Cheng)序(Xu)。(?)

16.数(Shu)组(Zu)的(De)特(Te)征(Zheng)

数(Shu)组(Zu)是(Shi)((?)相(Xiang)同(Tong)类(Lei)型(Xing)数(Shu)据(Ju))(?)的(De)((?)有(You)序(Xu))(?)((?)集(Ji)合(He))(?)

数(Shu)组(Zu)会(Hui)在(Zai)内(Nei)存(Cun)中(Zhong)开(Kai)辟(Bi)一(Yi)块(Kuai)连(Lian)续(Xu)的(De)空(Kong)间(Jian),(?)每(Mei)个(Ge)空(Kong)间(Jian)相(Xiang)当(Dang)于(Yu)之(Zhi)前(Qian)的(De)一(Yi)个(Ge)变(Bian)量(Liang),(?)称(Cheng)为(Wei)数(Shu)组(Zu)的(De)元(Yuan)素(Su)element

元(Yuan)素(Su)的(De)表(Biao)示(Shi) 数(Shu)组(Zu)名(Ming)[下(Xia)标(Biao)或(Huo)者(Zhe)索(Suo)引(Yin)] scores[7] scores[0] scores[9]

索(Suo)引(Yin)从(Cong)0开(Kai)始(Shi)

每(Mei)个(Ge)数(Shu)组(Zu)元(Yuan)素(Su)有(You)默(Mo)认(Ren)值(Zhi) double 0.0 boolean false int 0

数(Shu)组(Zu)元(Yuan)素(Su)有(You)序(Xu)的(De),(?)不(Bu)是(Shi)大(Da)小(Xiao)顺(Shun)序(Xu),(?)是(Shi)索(Suo)引(Yin) 的(De)顺(Shun)序(Xu)

数(Shu)组(Zu)中(Zhong)可(Ke)以(Yi)存(Cun)储(Chu)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing),(?)可(Ke)以(Yi)存(Cun)储(Chu)引(Yin)用(Yong)数(Shu)据(Ju)类(Lei)型(Xing);(?)但(Dan)是(Shi)对(Dui)于(Yu)一(Yi)个(Ge)数(Shu)组(Zu)而(?)言(Yan),(?)数(Shu)组(Zu)的(De)类(Lei)型(Xing)是(Shi)固(Gu)定(Ding)的(De),(?)只(Zhi)能(Neng)是(Shi)一(Yi)个(Ge)

length:数(Shu)组(Zu)的(De)长(Chang)度(Du)

数(Shu)组(Zu)的(De)长(Chang)度(Du)是(Shi)固(Gu)定(Ding)的(De),(?)一(Yi)经(Jing)定(Ding)义(Yi),(?)不(Bu)能(Neng)再(Zai)发(Fa)生(Sheng)变(Bian)化(Hua)((?)数(Shu)组(Zu)的(De)扩(Kuo)容(Rong))(?)

17.请(Qing)写(Xie)出(Chu)冒(Mao)泡(Pao)排(Pai)序(Xu)代(Dai)码(Ma)
package com.bjsxt;

public class TestBubbleSort {
public static void sort(int[] a) {
int temp = 0;
// 外(Wai)层(Ceng)循(Xun)环(Huan),(?)它(Ta)决(Jue)定(Ding)一(Yi)共(Gong)走(Zou)几(Ji)趟(Tang)
for (int i = 0; i <a.length-1; ++i) {
//内(Nei)层(Ceng)循(Xun)环(Huan),(?)它(Ta)决(Jue)定(Ding)每(Mei)趟(Tang)走(Zou)一(Yi)次(Ci)
for (int j = 0; j <a.length-i-1 ; ++j) {
//如(Ru)果(Guo)后(Hou)一(Yi)个(Ge)大(Da)于(Yu)前(Qian)一(Yi)个(Ge)
if (a[j + 1] < a[j]) {
//换(Huan)位(Wei)
temp = a[j];a[j] = a[j + 1];a[j + 1] = temp;
}
}
}

public static void sort2(int[] a) {
int temp = 0;
for (int i = 0; i <a.length-1; ++i) {
//通(Tong)过(Guo)符(Fu)号(Hao)位(Wei)可(Ke)以(Yi)减(Jian)少(Shao)无(Wu)谓(Wei)的(De)比(Bi)较(Jiao),(?)如(Ru)果(Guo)已(Yi)经(Jing)有(You)序(Xu)了(Liao),(?)就(Jiu)退(Tui)出(Chu)循(Xun)环(Huan)
int flag = 0;
for (int j = 0; j <a.length-1-i ; ++j) {
if (a[j + 1] < a[j]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
flag = 1;
}
}
if(flag == 0){
break;
}
}
}
}
18.请(Qing)写(Xie)出(Chu)选(Xuan)择(Ze)排(Pai)序(Xu)的(De)代(Dai)码(Ma)
package com.bjsxt;

public class TestSelectSort {
public static void sort(int arr[]) {
int temp = 0;
for (int i = 0; i < arr.length - 1; i++) {
// 认(Ren)为(Wei)目(Mu)前(Qian)的(De)数(Shu)就(Jiu)是(Shi)最(Zui)小(Xiao)的(De), 记(Ji)录(Lu)最(Zui)小(Xiao)数(Shu)的(De)下(Xia)标(Biao)
int minIndex = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[minIndex] > arr[j]) {
// 修(Xiu)改(Gai)最(Zui)小(Xiao)值(Zhi)的(De)下(Xia)标(Biao)
minIndex = j;
}
}
// 当(Dang)退(Tui)出(Chu)for就(Jiu)找(Zhao)到(Dao)这(Zhe)次(Ci)的(De)最(Zui)小(Xiao)值(Zhi)
if (i != minIndex) {
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
}
19.请(Qing)写(Xie)出(Chu)插(Cha)入(Ru)排(Pai)序(Xu)的(De)代(Dai)码(Ma)
package com.bjsxt;

public class TestInsertSort {
public static void sort(int arr[]) {
int i, j;
for (i = 1; i < arr.length; i++) {
int temp = arr[i];
for (j = i; j > 0 && temp < arr[j - 1]; j--) {
arr[j] = arr[j - 1];
}
arr[j] = temp;
}
}
}
20.可(Ke)变(Bian)参(Can)数(Shu)的(De)作(Zuo)用(Yong)和(He)特(Te)点(Dian)

总(Zong)结(Jie)1:(?)可(Ke)变(Bian)参(Can)数(Shu)

1.可(Ke)变(Bian)参(Can)数(Shu)的(De)形(Xing)式(Shi) ...

2.可(Ke)变(Bian)参(Can)数(Shu)只(Zhi)能(Neng)是(Shi)方(Fang)法(Fa)的(De)形(Xing)参(Can)

3.可(Ke)变(Bian)参(Can)数(Shu)对(Dui)应(Ying)的(De)实(Shi)参(Can)可(Ke)以(Yi)0,1,2.....个(Ge),(?)也(Ye)可(Ke)以(Yi)是(Shi)一(Yi)个(Ge)数(Shu)组(Zu)

4.在(Zai)可(Ke)变(Bian)参(Can)数(Shu)的(De)方(Fang)法(Fa)中(Zhong),(?)将(Jiang)可(Ke)变(Bian)参(Can)数(Shu)当(Dang)做(Zuo)数(Shu)组(Zu)来(Lai)处(Chu)理(Li)

5.可(Ke)变(Bian)参(Can)数(Shu)最(Zui)多(Duo)有(You)一(Yi)个(Ge),(?)只(Zhi)能(Neng)是(Shi)最(Zui)后(Hou)一(Yi)个(Ge)

6.可(Ke)变(Bian)参(Can)数(Shu)好(Hao)处(Chu):(?)方(Fang)便(Bian) 简(Jian)单(Dan) 减(Jian)少(Shao)重(Zhong)载(Zai)方(Fang)法(Fa)的(De)数(Shu)量(Liang)

7.如(Ru)果(Guo)定(Ding)义(Yi)了(Liao)可(Ke)变(Bian)参(Can)数(Shu)的(De)方(Fang)法(Fa),(?)不(Bu)允(Yun)许(Xu)同(Tong)时(Shi)定(Ding)义(Yi)相(Xiang)同(Tong)类(Lei)型(Xing)数(Shu)组(Zu)参(Can)数(Shu)的(De)方(Fang)法(Fa)

总(Zong)结(Jie)2:(?)数(Shu)组(Zu)做(Zuo)形(Xing)参(Can)和(He)可(Ke)变(Bian)参(Can)数(Shu)做(Zuo)形(Xing)参(Can)联(Lian)系(Xi)和(He)区(Qu)别(Bie)

联(Lian)系(Xi):(?)

1.实(Shi)参(Can)都(Du)可(Ke)以(Yi)是(Shi)数(Shu)组(Zu);(?)2.方(Fang)法(Fa)体(Ti)中(Zhong),(?)可(Ke)变(Bian)参(Can)数(Shu)当(Dang)做(Zuo)数(Shu)组(Zu)来(Lai)处(Chu)理(Li)

区(Qu)别(Bie):(?)

1.个(Ge)数(Shu)不(Bu)同(Tong) 可(Ke)变(Bian)参(Can)数(Shu)只(Zhi)能(Neng)有(You)一(Yi)个(Ge)数(Shu)组(Zu)参(Can)数(Shu)可(Ke)以(Yi)多(Duo)个(Ge)

2.位(Wei)置(Zhi)不(Bu)同(Tong) 可(Ke)变(Bian)参(Can)数(Shu)只(Zhi)能(Neng)是(Shi)最(Zui)后(Hou)一(Yi)个(Ge) 数(Shu)组(Zu)参(Can)数(Shu)位(Wei)置(Zhi)任(Ren)意(Yi)

3.实(Shi)参(Can)不(Bu)同(Tong) 可(Ke)变(Bian)参(Can)数(Shu)实(Shi)参(Can)可(Ke)以(Yi)0,1,2.....个(Ge),(?)也(Ye)可(Ke)以(Yi)是(Shi)一(Yi)个(Ge)数(Shu)组(Zu),(?)数(Shu)组(Zu)的(De)实(Shi)参(Can)只(Zhi)能(Neng)是(Shi)数(Shu)组(Zu)

21.类(Lei)和(He)对(Dui)象(Xiang)的(De)关(Guan)系(Xi)

类(Lei)是(Shi)对(Dui)象(Xiang)的(De)抽(Chou)象(Xiang),(?)而(?)对(Dui)象(Xiang)是(Shi)类(Lei)的(De)具(Ju)体(Ti)实(Shi)例(Li)。(?)类(Lei)是(Shi)抽(Chou)象(Xiang)的(De),(?)不(Bu)占(Zhan)用(Yong)内(Nei)存(Cun),(?)而(?)对(Dui)象(Xiang)是(Shi)具(Ju)体(Ti)的(De),(?)占(Zhan)用(Yong)存(Cun)储(Chu)空(Kong)间(Jian)。(?)类(Lei)是(Shi)用(Yong)于(Yu)创(Chuang)建(Jian)对(Dui)象(Xiang)的(De)蓝(Lan)图(Tu),(?)它(Ta)是(Shi)一(Yi)个(Ge)定(Ding)义(Yi)包(Bao)括(Kuo)在(Zai)特(Te)定(Ding)类(Lei)型(Xing)的(De)对(Dui)象(Xiang)中(Zhong)的(De)方(Fang)法(Fa)和(He)变(Bian)量(Liang)的(De)软(Ruan)件(Jian)模(Mo)板(Ban)。(?)

类(Lei)和(He)对(Dui)象(Xiang)好(Hao)比(Bi)图(Tu)纸(Zhi)和(He)实(Shi)物(Wu)的(De)关(Guan)系(Xi),(?)模(Mo)具(Ju)和(He)铸(Zhu)件(Jian)的(De)关(Guan)系(Xi)。(?)

比(Bi)如(Ru)人(Ren)类(Lei)就(Jiu)是(Shi)一(Yi)个(Ge)概(Gai)念(Nian),(?)人(Ren)类(Lei)具(Ju)有(You)身(Shen)高(Gao),(?)体(Ti)重(Zhong)等(Deng)属(Shu)性(Xing)。(?)人(Ren)类(Lei)可(Ke)以(Yi)做(Zuo)吃(Chi)饭(Fan)、(?)说(Shuo)话(Hua)等(Deng)方(Fang)法(Fa)。(?)

小(Xiao)明(Ming)就(Jiu)是(Shi)一(Yi)个(Ge)具(Ju)体(Ti)的(De)人(Ren),(?)也(Ye)就(Jiu)是(Shi)实(Shi)例(Li),(?)他(Ta)的(De)属(Shu)性(Xing)是(Shi)具(Ju)体(Ti)的(De)身(Shen)高(Gao)200cm,(?)体(Ti)重(Zhong)180kg,(?)他(Ta)做(Zuo)的(De)方(Fang)法(Fa)是(Shi)具(Ju)体(Ti)的(De)吃(Chi)了(Liao)一(Yi)碗(Wan)白(Bai)米(Mi)饭(Fan),(?)说(Shuo)了(Liao)“(?)12345”(?)这(Zhe)样(Yang)一(Yi)句(Ju)话(Hua)。(?)

22.面(Mian)向(Xiang)过(Guo)程(Cheng)和(He)面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)区(Qu)别(Bie)

两(Liang)者(Zhe)都(Du)是(Shi)软(Ruan)件(Jian)开(Kai)发(Fa)思(Si)想(Xiang),(?)先(Xian)有(You)面(Mian)向(Xiang)过(Guo)程(Cheng),(?)后(Hou)有(You)面(Mian)向(Xiang)对(Dui)象(Xiang)。(?)在(Zai)大(Da)型(Xing)项(Xiang)目(Mu)中(Zhong),(?)针(Zhen)对(Dui)面(Mian)向(Xiang)过(Guo)程(Cheng)的(De)不(Bu)足(Zu)推(Tui)出(Chu)了(Liao)面(Mian)向(Xiang)对(Dui)象(Xiang)开(Kai)发(Fa)思(Si)想(Xiang)。(?)

比(Bi)喻(Yu)

蒋(Jiang)介(Jie)石(Shi)和(He)毛(Mao)泽(Ze)东(Dong)分(Fen)别(Bie)是(Shi)面(Mian)向(Xiang)过(Guo)程(Cheng)和(He)面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)杰(Jie)出(Chu)代(Dai)表(Biao),(?)这(Zhe)样(Yang)充(Chong)分(Fen)说(Shuo)明(Ming),(?)在(Zai)解(Jie)决(Jue)复(Fu)制(Zhi)问(Wen)题(Ti)时(Shi),(?)面(Mian)向(Xiang)对(Dui)象(Xiang)有(You)更(Geng)大(Da)的(De)优(You)越(Yue)性(Xing)。(?)

面(Mian)向(Xiang)过(Guo)程(Cheng)是(Shi)蛋(Dan)炒(Chao)饭(Fan),(?)面(Mian)向(Xiang)对(Dui)象(Xiang)是(Shi)盖(Gai)浇(Jiao)饭(Fan)。(?)盖(Gai)浇(Jiao)饭(Fan)的(De)好(Hao)处(Chu)就(Jiu)是(Shi)“(?)菜(Cai)”(?)“(?)饭(Fan)”(?)分(Fen)离(Li),(?)从(Cong)而(?)提(Ti)高(Gao)了(Liao)制(Zhi)作(Zuo)盖(Gai)浇(Jiao)饭(Fan)的(De)灵(Ling)活(Huo)性(Xing)。(?)饭(Fan)不(Bu)满(Man)意(Yi)就(Jiu)换(Huan)饭(Fan),(?)菜(Cai)不(Bu)满(Man)意(Yi)换(Huan)菜(Cai)。(?)用(Yong)软(Ruan)件(Jian)工(Gong)程(Cheng)的(De)专(Zhuan)业(Ye)术(Shu)语(Yu)就(Jiu)是(Shi)“(?)可(Ke)维(Wei)护(Hu)性(Xing)”(?)比(Bi)较(Jiao)好(Hao),(?)“(?)饭(Fan)”(?) 和(He)“(?)菜(Cai)”(?)的(De)耦(Ou)合(He)度(Du)比(Bi)较(Jiao)低(Di)。(?)

区(Qu)别(Bie)

编(Bian)程(Cheng)思(Si)路(Lu)不(Bu)同(Tong):(?) 面(Mian)向(Xiang)过(Guo)程(Cheng)以(Yi)实(Shi)现(Xian)功(Gong)能(Neng)的(De)函(Han)数(Shu)开(Kai)发(Fa)为(Wei)主(Zhu),(?)而(?)面(Mian)向(Xiang)对(Dui)象(Xiang)要(Yao)首(Shou)先(Xian)抽(Chou)象(Xiang)出(Chu)类(Lei)、(?)属(Shu)性(Xing)及(Ji)其(Qi)方(Fang)法(Fa),(?)然(Ran)后(Hou)通(Tong)过(Guo)实(Shi)例(Li)化(Hua)类(Lei)、(?)执(Zhi)行(Xing)方(Fang)法(Fa)来(Lai)完(Wan)成(Cheng)功(Gong)能(Neng)。(?)

封(Feng)装(Zhuang)性(Xing):(?)都(Du)具(Ju)有(You)封(Feng)装(Zhuang)性(Xing),(?)但(Dan)是(Shi)面(Mian)向(Xiang)过(Guo)程(Cheng)是(Shi)封(Feng)装(Zhuang)的(De)是(Shi)功(Gong)能(Neng),(?)而(?)面(Mian)向(Xiang)对(Dui)象(Xiang)封(Feng)装(Zhuang)的(De)是(Shi)数(Shu)据(Ju)和(He)功(Gong)能(Neng)。(?)

面(Mian)向(Xiang)对(Dui)象(Xiang)具(Ju)有(You)继(Ji)承(Cheng)性(Xing)和(He)多(Duo)态(Tai)性(Xing),(?)而(?)面(Mian)向(Xiang)过(Guo)程(Cheng)没(Mei)有(You)继(Ji)承(Cheng)性(Xing)和(He)多(Duo)态(Tai)性(Xing),(?)所(Suo)以(Yi)面(Mian)向(Xiang)对(Dui)象(Xiang)优(You)势(Shi)是(Shi)明(Ming)显(Xian)。(?)

方(Fang)法(Fa)重(Zhong)载(Zai)和(He)方(Fang)法(Fa)重(Zhong)写(Xie)((?)覆(Fu)盖(Gai))(?)的(De)区(Qu)别(Bie)

英(Ying)文(Wen) 位(Wei)置(Zhi)不(Bu)同(Tong) 作(Zuo)用(Yong)不(Bu)同(Tong)
重(Zhong)载(Zai) overload 同(Tong)一(Yi)个(Ge)类(Lei)中(Zhong) 在(Zai)一(Yi)个(Ge)类(Lei)里(Li)面(Mian)为(Wei)一(Yi)种(Zhong)行(Xing)为(Wei)提(Ti)供(Gong)多(Duo)种(Zhong)实(Shi)现(Xian)方(Fang)式(Shi)并(Bing)提(Ti)高(Gao)可(Ke)读(Du)性(Xing)
重(Zhong)写(Xie) override 子(Zi)类(Lei)和(He)父(Fu)类(Lei)间(Jian) 父(Fu)类(Lei)方(Fang)法(Fa)无(Wu)法(Fa)满(Man)足(Zu)子(Zi)类(Lei)的(De)要(Yao)求(Qiu),(?)子(Zi)类(Lei)通(Tong)过(Guo)方(Fang)法(Fa)重(Zhong)写(Xie)满(Man)足(Zu)要(Yao)求(Qiu)
修(Xiu)饰(Shi)符(Fu) 返(Fan)回(Hui)值(Zhi) 方(Fang)法(Fa)名(Ming) 参(Can)数(Shu) 抛(Pao)出(Chu)异(Yi)常(Chang)
重(Zhong)载(Zai) 无(Wu)关(Guan) 无(Wu)关(Guan) 相(Xiang)同(Tong) 不(Bu)同(Tong) 无(Wu)关(Guan)
重(Zhong)写(Xie) 大(Da)于(Yu)等(Deng)于(Yu) 小(Xiao)于(Yu)等(Deng)于(Yu) 相(Xiang)同(Tong) 相(Xiang)同(Tong) 小(Xiao)于(Yu)等(Deng)于(Yu)
23.this和(He)super关(Guan)键(Jian)字(Zi)的(De)作(Zuo)用(Yong)

this是(Shi)对(Dui)象(Xiang)内(Nei)部(Bu)指(Zhi)代(Dai)自(Zi)身(Shen)的(De)引(Yin)用(Yong),同(Tong)时(Shi)也(Ye)是(Shi)解(Jie)决(Jue)成(Cheng)员(Yuan)变(Bian)量(Liang)和(He)局(Ju)部(Bu)变(Bian)量(Liang)同(Tong)名(Ming)问(Wen)题(Ti);(?)this可(Ke)以(Yi)调(Diao)用(Yong)成(Cheng)员(Yuan)变(Bian)量(Liang),(?)不(Bu)能(Neng)调(Diao)用(Yong)局(Ju)部(Bu)变(Bian)量(Liang);(?)this也(Ye)可(Ke)以(Yi)调(Diao)用(Yong)成(Cheng)员(Yuan)方(Fang)法(Fa),(?)但(Dan)是(Shi)在(Zai)普(Pu)通(Tong)方(Fang)法(Fa)中(Zhong)可(Ke)以(Yi)省(Sheng)略(Lue)this,(?)在(Zai)构(Gou)造(Zao)方(Fang)法(Fa)中(Zhong)不(Bu)允(Yun)许(Xu)省(Sheng)略(Lue),(?)必(Bi)须(Xu)是(Shi)构(Gou)造(Zao)方(Fang)法(Fa)的(De)第(Di)一(Yi)条(Tiao)语(Yu)句(Ju)。(?),(?)而(?)且(Qie)在(Zai)静(Jing)态(Tai)方(Fang)法(Fa)当(Dang)中(Zhong)不(Bu)允(Yun)许(Xu)出(Chu)现(Xian)this关(Guan)键(Jian)字(Zi)。(?)

super代(Dai)表(Biao)对(Dui)当(Dang)前(Qian)对(Dui)象(Xiang)的(De)直(Zhi)接(Jie)父(Fu)类(Lei)对(Dui)象(Xiang)的(De)引(Yin)用(Yong),(?)super可(Ke)以(Yi)调(Diao)用(Yong)直(Zhi)接(Jie)父(Fu)类(Lei)的(De)成(Cheng)员(Yuan)变(Bian)量(Liang)((?)注(Zhu)意(Yi)权(Quan)限(Xian)修(Xiu)饰(Shi)符(Fu)的(De)影(Ying)响(Xiang),(?)比(Bi)如(Ru)不(Bu)能(Neng)访(Fang)问(Wen)private成(Cheng)员(Yuan))(?)

super可(Ke)以(Yi)调(Diao)用(Yong)直(Zhi)接(Jie)父(Fu)类(Lei)的(De)成(Cheng)员(Yuan)方(Fang)法(Fa)((?)注(Zhu)意(Yi)权(Quan)限(Xian)修(Xiu)饰(Shi)符(Fu)的(De)影(Ying)响(Xiang),(?)比(Bi)如(Ru)不(Bu)能(Neng)访(Fang)问(Wen)private成(Cheng)员(Yuan))(?);(?)super可(Ke)以(Yi)调(Diao)用(Yong)直(Zhi)接(Jie)父(Fu)类(Lei)的(De)构(Gou)造(Zao)方(Fang)法(Fa),(?)只(Zhi)限(Xian)构(Gou)造(Zao)方(Fang)法(Fa)中(Zhong)使(Shi)用(Yong),(?)且(Qie)必(Bi)须(Xu)是(Shi)第(Di)一(Yi)条(Tiao)语(Yu)句(Ju)。(?)

24.static关(Guan)键(Jian)字(Zi)的(De)作(Zuo)用(Yong)

static可(Ke)以(Yi)修(Xiu)饰(Shi)变(Bian)量(Liang)、(?)方(Fang)法(Fa)、(?)代(Dai)码(Ma)块(Kuai)和(He)内(Nei)部(Bu)类(Lei)

static属(Shu)性(Xing)属(Shu)于(Yu)这(Zhe)个(Ge)类(Lei)所(Suo)有(You),(?)即(Ji)由(You)该(Gai)类(Lei)创(Chuang)建(Jian)的(De)所(Suo)有(You)对(Dui)象(Xiang)共(Gong)享(Xiang)同(Tong)一(Yi)个(Ge)static属(Shu)性(Xing)。(?)可(Ke)以(Yi)对(Dui)象(Xiang)创(Chuang)建(Jian)后(Hou)通(Tong)过(Guo)对(Dui)象(Xiang)名(Ming).属(Shu)性(Xing)名(Ming)和(He)类(Lei)名(Ming).属(Shu)性(Xing)名(Ming)两(Liang)种(Zhong)方(Fang)式(Shi)来(Lai)访(Fang)问(Wen)。(?)也(Ye)可(Ke)以(Yi)在(Zai)没(Mei)有(You)创(Chuang)建(Jian)任(Ren)何(He)对(Dui)象(Xiang)之(Zhi)前(Qian)通(Tong)过(Guo)类(Lei)名(Ming).属(Shu)性(Xing)名(Ming)的(De)方(Fang)式(Shi)来(Lai)访(Fang)问(Wen)。(?)

static变(Bian)量(Liang)和(He)非(Fei)static变(Bian)量(Liang)的(De)区(Qu)别(Bie)(都(Du)是(Shi)成(Cheng)员(Yuan)变(Bian)量(Liang),(?)不(Bu)是(Shi)局(Ju)部(Bu)变(Bian)量(Liang))

1.在(Zai)内(Nei)存(Cun)中(Zhong)份(Fen)数(Shu)不(Bu)同(Tong)

不(Bu)管(Guan)有(You)多(Duo)少(Shao)个(Ge)对(Dui)象(Xiang),(?)static变(Bian)量(Liang)只(Zhi)有(You)1份(Fen)。(?)对(Dui)于(Yu)每(Mei)个(Ge)对(Dui)象(Xiang),(?)实(Shi)例(Li)变(Bian)量(Liang)都(Du)会(Hui)有(You)单(Dan)独(Du)的(De)一(Yi)份(Fen)

static变(Bian)量(Liang)是(Shi)属(Shu)于(Yu)整(Zheng)个(Ge)类(Lei)的(De),(?)也(Ye)称(Cheng)为(Wei)类(Lei)变(Bian)量(Liang)。(?)而(?)非(Fei)静(Jing)态(Tai)变(Bian)量(Liang)是(Shi)属(Shu)于(Yu)对(Dui)象(Xiang)的(De),(?)也(Ye)称(Cheng)为(Wei)实(Shi)例(Li)变(Bian)量(Liang)

2.在(Zai)内(Nei)存(Cun)中(Zhong)存(Cun)放(Fang)的(De)位(Wei)置(Zhi)不(Bu)同(Tong)

2.在(Zai)内(Nei)存(Cun)中(Zhong)存(Cun)放(Fang)的(De)位(Wei)置(Zhi)不(Bu)同(Tong)

3.访(Fang)问(Wen)的(De)方(Fang)式(Shi)不(Bu)同(Tong)

实(Shi)例(Li)变(Bian)量(Liang):(?) 对(Dui)象(Xiang)名(Ming).变(Bian)量(Liang)名(Ming) stu1.name="小(Xiao)明(Ming)明(Ming)";

静(Jing)态(Tai)变(Bian)量(Liang):(?)对(Dui)象(Xiang)名(Ming).变(Bian)量(Liang)名(Ming) stu1.schoolName="西(Xi)二(?)旗(Qi)小(Xiao)学(Xue)"; 不(Bu)推(Tui)荐(Jian)如(Ru)此(Ci)使(Shi)用(Yong)

类(Lei)名(Ming).变(Bian)量(Liang)名(Ming) Student.schoolName="东(Dong)三(San)旗(Qi)小(Xiao)学(Xue)"; 推(Tui)荐(Jian)使(Shi)用(Yong)

4.在(Zai)内(Nei)存(Cun)中(Zhong)分(Fen)配(Pei)空(Kong)间(Jian)的(De)时(Shi)间(Jian)不(Bu)同(Tong)

Student.schoolName="东(Dong)三(San)旗(Qi)小(Xiao)学(Xue)";或(Huo)者(Zhe)Student stu1 = new Student("小(Xiao)明(Ming)","男(Nan)",20,98);

static方(Fang)法(Fa)也(Ye)可(Ke)以(Yi)通(Tong)过(Guo)对(Dui)象(Xiang)名(Ming).方(Fang)法(Fa)名(Ming)和(He)类(Lei)名(Ming).方(Fang)法(Fa)名(Ming)两(Liang)种(Zhong)方(Fang)式(Shi)来(Lai)访(Fang)问(Wen)

static代(Dai)码(Ma)块(Kuai)。(?)当(Dang)类(Lei)被(Bei)第(Di)一(Yi)次(Ci)使(Shi)用(Yong)时(Shi)((?)可(Ke)能(Neng)是(Shi)调(Diao)用(Yong)static属(Shu)性(Xing)和(He)方(Fang)法(Fa),(?)或(Huo)者(Zhe)创(Chuang)建(Jian)其(Qi)对(Dui)象(Xiang))(?)执(Zhi)行(Xing)静(Jing)态(Tai)代(Dai)码(Ma)块(Kuai),(?)且(Qie)只(Zhi)被(Bei)执(Zhi)行(Xing)一(Yi)次(Ci),(?)主(Zhu)要(Yao)作(Zuo)用(Yong)是(Shi)实(Shi)现(Xian)static属(Shu)性(Xing)的(De)初(Chu)始(Shi)化(Hua)。(?)

static内(Nei)部(Bu)类(Lei):(?)属(Shu)于(Yu)整(Zheng)个(Ge)外(Wai)部(Bu)类(Lei),(?)而(?)不(Bu)是(Shi)属(Shu)于(Yu)外(Wai)部(Bu)类(Lei)的(De)每(Mei)个(Ge)对(Dui)象(Xiang)。(?)不(Bu)能(Neng)访(Fang)问(Wen)外(Wai)部(Bu)类(Lei)的(De)非(Fei)静(Jing)态(Tai)成(Cheng)员(Yuan)((?)变(Bian)量(Liang)或(Huo)者(Zhe)方(Fang)法(Fa))(?),(?).可(Ke)以(Yi)访(Fang)问(Wen)外(Wai)部(Bu)类(Lei)的(De)静(Jing)态(Tai)成(Cheng)员(Yuan)

25.final和(He)abstract关(Guan)键(Jian)字(Zi)的(De)作(Zuo)用(Yong)

final和(He)abstract是(Shi)功(Gong)能(Neng)相(Xiang)反(Fan)的(De)两(Liang)个(Ge)关(Guan)键(Jian)字(Zi),(?)可(Ke)以(Yi)对(Dui)比(Bi)记(Ji)忆(Yi)

abstract可(Ke)以(Yi)用(Yong)来(Lai)修(Xiu)饰(Shi)类(Lei)和(He)方(Fang)法(Fa),(?)不(Bu)能(Neng)用(Yong)来(Lai)修(Xiu)饰(Shi)属(Shu)性(Xing)和(He)构(Gou)造(Zao)方(Fang)法(Fa);(?)使(Shi)用(Yong)abstract修(Xiu)饰(Shi)的(De)类(Lei)是(Shi)抽(Chou)象(Xiang)类(Lei),(?)需(Xu)要(Yao)被(Bei)继(Ji)承(Cheng),(?)使(Shi)用(Yong)abstract修(Xiu)饰(Shi)的(De)方(Fang)法(Fa)是(Shi)抽(Chou)象(Xiang)方(Fang)法(Fa),(?)需(Xu)要(Yao)子(Zi)类(Lei)被(Bei)重(Zhong)写(Xie)。(?)

final可(Ke)以(Yi)用(Yong)来(Lai)修(Xiu)饰(Shi)类(Lei)、(?)方(Fang)法(Fa)和(He)属(Shu)性(Xing),(?)不(Bu)能(Neng)修(Xiu)饰(Shi)构(Gou)造(Zao)方(Fang)法(Fa)。(?)使(Shi)用(Yong)final修(Xiu)饰(Shi)的(De)类(Lei)不(Bu)能(Neng)被(Bei)继(Ji)承(Cheng),(?)使(Shi)用(Yong)final修(Xiu)饰(Shi)的(De)方(Fang)法(Fa)不(Bu)能(Neng)被(Bei)重(Zhong)写(Xie),(?)使(Shi)用(Yong)final修(Xiu)饰(Shi)的(De)变(Bian)量(Liang)的(De)值(Zhi)不(Bu)能(Neng)被(Bei)修(Xiu)改(Gai),(?)所(Suo)以(Yi)就(Jiu)成(Cheng)了(Liao)常(Chang)量(Liang)。(?)

特(Te)别(Bie)注(Zhu)意(Yi):(?)final修(Xiu)饰(Shi)基(Ji)本(Ben)类(Lei)型(Xing)变(Bian)量(Liang),(?)其(Qi)值(Zhi)不(Bu)能(Neng)改(Gai)变(Bian),(?)由(You)原(Yuan)来(Lai)的(De)变(Bian)量(Liang)变(Bian)为(Wei)常(Chang)量(Liang);(?)但(Dan)是(Shi)final修(Xiu)饰(Shi)引(Yin)用(Yong)类(Lei)型(Xing)变(Bian)量(Liang),(?)栈(Zhan)内(Nei)存(Cun)中(Zhong)的(De)引(Yin)用(Yong)不(Bu)能(Neng)改(Gai)变(Bian),(?)但(Dan)是(Shi)所(Suo)指(Zhi)向(Xiang)的(De)堆(Dui)内(Nei)存(Cun)中(Zhong)的(De)对(Dui)象(Xiang)的(De)属(Shu)性(Xing)值(Zhi)仍(Reng)旧(Jiu)可(Ke)以(Yi)改(Gai)变(Bian)。(?)例(Li)如(Ru)

package com.bjsxt;

class Test {
    public static void main(String[] args) {
        final Dog dog = new Dog("欧(Ou)欧(Ou)");
        dog.name = "美(Mei)美(Mei)";//正(Zheng)确(Que)
        dog = new Dog("亚(Ya)亚(Ya)");//错(Cuo)误(Wu)
    }
}
26.final、(?)finally、(?)finalize的(De)区(Qu)别(Bie)

final修(Xiu)饰(Shi)符(Fu)((?)关(Guan)键(Jian)字(Zi))(?)如(Ru)果(Guo)一(Yi)个(Ge)类(Lei)被(Bei)声(Sheng)明(Ming)为(Wei)final,(?)意(Yi)味(Wei)着(Zhuo)它(Ta)不(Bu)能(Neng)再(Zai)派(Pai)生(Sheng)出(Chu)新(Xin)的(De)子(Zi)类(Lei),(?)不(Bu)能(Neng)作(Zuo)为(Wei)父(Fu)类(Lei)被(Bei)继(Ji)承(Cheng)例(Li)如(Ru):(?)String类(Lei)、(?)Math类(Lei)等(Deng)。(?)将(Jiang)变(Bian)量(Liang)或(Huo)方(Fang)法(Fa)声(Sheng)明(Ming)为(Wei)final,(?)可(Ke)以(Yi)保(Bao)证(Zheng)它(Ta)们(Men)在(Zai)使(Shi)用(Yong)中(Zhong)不(Bu)被(Bei)改(Gai)变(Bian)。(?)被(Bei)声(Sheng)明(Ming)为(Wei)final的(De)变(Bian)量(Liang)必(Bi)须(Xu)在(Zai)声(Sheng)明(Ming)时(Shi)给(Gei)定(Ding)初(Chu)值(Zhi),(?)而(?)在(Zai)以(Yi)后(Hou)的(De)引(Yin)用(Yong)中(Zhong)只(Zhi)能(Neng)读(Du)取(Qu),(?)不(Bu)可(Ke)修(Xiu)改(Gai)。(?)被(Bei)声(Sheng)明(Ming)为(Wei)final的(De)方(Fang)法(Fa)也(Ye)同(Tong)样(Yang)只(Zhi)能(Neng)使(Shi)用(Yong),(?)不(Bu)能(Neng)重(Zhong)写(Xie),(?)但(Dan)是(Shi)能(Neng)够(Gou)重(Zhong)载(Zai)。(?) 使(Shi)用(Yong)final修(Xiu)饰(Shi)的(De)对(Dui)象(Xiang),(?)对(Dui)象(Xiang)的(De)引(Yin)用(Yong)地(Di)址(Zhi)不(Bu)能(Neng)变(Bian),(?)但(Dan)是(Shi)对(Dui)象(Xiang)的(De)值(Zhi)可(Ke)以(Yi)变(Bian)!(?)

finally在(Zai)异(Yi)常(Chang)处(Chu)理(Li)时(Shi)提(Ti)供(Gong) finally 块(Kuai)来(Lai)执(Zhi)行(Xing)任(Ren)何(He)清(Qing)除(Chu)操(Cao)作(Zuo)。(?)如(Ru)果(Guo)有(You)finally的(De)话(Hua),(?)则(Ze)不(Bu)管(Guan)是(Shi)否(Fou)发(Fa)生(Sheng)异(Yi)常(Chang),(?)finally语(Yu)句(Ju)都(Du)会(Hui)被(Bei)执(Zhi)行(Xing)。(?)一(Yi)般(Ban)情(Qing)况(Kuang)下(Xia),(?)都(Du)把(Ba)关(Guan)闭(Bi)物(Wu)理(Li)连(Lian)接(Jie)(IO流(Liu)、(?)数(Shu)据(Ju)库(Ku)连(Lian)接(Jie)、(?)Socket连(Lian)接(Jie))等(Deng)相(Xiang)关(Guan)操(Cao)作(Zuo),(?)放(Fang)入(Ru)到(Dao)此(Ci)代(Dai)码(Ma)块(Kuai)中(Zhong)。(?)

finalize方(Fang)法(Fa)名(Ming)。(?)Java 技(Ji)术(Shu)允(Yun)许(Xu)使(Shi)用(Yong) finalize() 方(Fang)法(Fa)在(Zai)垃(La)圾(Ji)收(Shou)集(Ji)器(Qi)将(Jiang)对(Dui)象(Xiang)从(Cong)内(Nei)存(Cun)中(Zhong)清(Qing)除(Chu)出(Chu)去(Qu)之(Zhi)前(Qian)做(Zuo)必(Bi)要(Yao)清(Qing)理(Li)工(Gong)作(Zuo)。(?)finalize() 方(Fang)法(Fa)是(Shi)在(Zai)垃(La)圾(Ji)收(Shou)集(Ji)器(Qi)删(Shan)除(Chu)对(Dui)象(Xiang)之(Zhi)前(Qian)被(Bei)调(Diao)用(Yong)的(De)。(?)它(Ta)是(Shi)在(Zai) Object 类(Lei)中(Zhong)定(Ding)义(Yi)的(De),(?)因(Yin)此(Ci)所(Suo)有(You)的(De)类(Lei)都(Du)继(Ji)承(Cheng)了(Liao)它(Ta)。(?)子(Zi)类(Lei)覆(Fu)盖(Gai) finalize() 方(Fang)法(Fa)以(Yi)整(Zheng)理(Li)系(Xi)统(Tong)资(Zi)源(Yuan)或(Huo)者(Zhe)执(Zhi)行(Xing)其(Qi)他(Ta)清(Qing)理(Li)工(Gong)作(Zuo)。(?) 一(Yi)般(Ban)情(Qing)况(Kuang)下(Xia),(?)此(Ci)方(Fang)法(Fa)由(You)JVM调(Diao)用(Yong),(?)程(Cheng)序(Xu)员(Yuan)不(Bu)要(Yao)去(Qu)调(Diao)用(Yong)!(?)

27.写(Xie)出(Chu)java.lang.Object类(Lei)的(De)六(Liu)个(Ge)常(Chang)用(Yong)方(Fang)法(Fa)

(1)public boolean equals(java.lang.Object)

比(Bi)较(Jiao)对(Dui)象(Xiang)的(De)地(Di)址(Zhi)值(Zhi)是(Shi)否(Fou)相(Xiang)等(Deng),(?)如(Ru)果(Guo)子(Zi)类(Lei)重(Zhong)写(Xie),(?)则(Ze)比(Bi)较(Jiao)对(Dui)象(Xiang)的(De)内(Nei)容(Rong)是(Shi)否(Fou)相(Xiang)等(Deng);(?)

(2)public native int hashCode() 获(Huo)取(Qu)哈(Ha)希(Xi)码(Ma)

(3)public java.lang.String toString() 把(Ba)数(Shu)据(Ju)转(Zhuan)变(Bian)成(Cheng)字(Zi)符(Fu)串(Chuan)

(4)public final native java.lang.Class getClass() 获(Huo)取(Qu)类(Lei)结(Jie)构(Gou)信(Xin)息(Xi)

(5)protected void finalize() throws java.lang.Throwable

垃(La)圾(Ji)回(Hui)收(Shou)前(Qian)执(Zhi)行(Xing)的(De)方(Fang)法(Fa)

(6)protected native Object clone() throws

java.lang.CloneNotSupportedException 克(Ke)隆(Long)

(7)public final void wait() throws java.lang.InterruptedException

多(Duo)线(Xian)程(Cheng)中(Zhong)等(Deng)待(Dai)功(Gong)能(Neng)

(8)public final native void notify() 多(Duo)线(Xian)程(Cheng)中(Zhong)唤(Huan)醒(Xing)功(Gong)能(Neng)

(9)public final native void notifyAll() 多(Duo)线(Xian)程(Cheng)中(Zhong)唤(Huan)醒(Xing)所(Suo)有(You)等(Deng)待(Dai)线(Xian)程(Cheng)的(De)功(Gong)能(Neng)

28.private/默(Mo)认(Ren)/protected/public权(Quan)限(Xian)修(Xiu)饰(Shi)符(Fu)的(De)区(Qu)别(Bie)
同(Tong)一(Yi)个(Ge)类(Lei) 同(Tong)一(Yi)个(Ge)包(Bao) 子(Zi)类(Lei) 所(Suo)有(You)类(Lei)
private *
defailt * *
protected * * *
public * * * *

类(Lei)的(De)访(Fang)问(Wen)权(Quan)限(Xian)只(Zhi)有(You)两(Liang)种(Zhong)

public公(Gong)共(Gong)的(De) 可(Ke)被(Bei)同(Tong)一(Yi)项(Xiang)目(Mu)中(Zhong)所(Suo)有(You)的(De)类(Lei)访(Fang)问(Wen)。(?) (必(Bi)须(Xu)与(Yu)文(Wen)件(Jian)名(Ming)同(Tong)名(Ming))

default默(Mo)认(Ren)的(De) 可(Ke)被(Bei)同(Tong)一(Yi)个(Ge)包(Bao)中(Zhong)的(De)类(Lei)访(Fang)问(Wen)。(?)

成(Cheng)员(Yuan)((?)成(Cheng)员(Yuan)变(Bian)量(Liang)或(Huo)成(Cheng)员(Yuan)方(Fang)法(Fa))(?)访(Fang)问(Wen)权(Quan)限(Xian)共(Gong)有(You)四(Si)种(Zhong):(?)

public 公(Gong)共(Gong)的(De) 可(Ke)以(Yi)被(Bei)项(Xiang)目(Mu)中(Zhong)所(Suo)有(You)的(De)类(Lei)访(Fang)问(Wen)。(?)(项(Xiang)目(Mu)可(Ke)见(Jian)性(Xing))

protected 受(Shou)保(Bao)护(Hu)的(De) 可(Ke)以(Yi)被(Bei)这(Zhe)个(Ge)类(Lei)本(Ben)身(Shen)访(Fang)问(Wen);(?)同(Tong)一(Yi)个(Ge)包(Bao)中(Zhong)的(De)所(Suo)有(You)其(Qi)他(Ta)的(De)类(Lei)访(Fang)问(Wen);(?)被(Bei)它(Ta)的(De)子(Zi)类(Lei)((?)同(Tong)一(Yi)个(Ge)包(Bao)以(Yi)及(Ji)不(Bu)同(Tong)包(Bao)中(Zhong)的(De)子(Zi)类(Lei))(?)访(Fang)问(Wen)。(?)((?)子(Zi)类(Lei)可(Ke)见(Jian)性(Xing))(?)

default 默(Mo)认(Ren)的(De)被(Bei)这(Zhe)个(Ge)类(Lei)本(Ben)身(Shen)访(Fang)问(Wen);(?)被(Bei)同(Tong)一(Yi)个(Ge)包(Bao)中(Zhong)的(De)类(Lei)访(Fang)问(Wen)。(?)((?)包(Bao)可(Ke)见(Jian)性(Xing))(?)

private 私(Si)有(You)的(De) 只(Zhi)能(Neng)被(Bei)这(Zhe)个(Ge)类(Lei)本(Ben)身(Shen)访(Fang)问(Wen)。(?)((?)类(Lei)可(Ke)见(Jian)性(Xing))(?)

29.继(Ji)承(Cheng)条(Tiao)件(Jian)下(Xia)构(Gou)造(Zao)方(Fang)法(Fa)的(De)执(Zhi)行(Xing)过(Guo)程(Cheng)

继(Ji)承(Cheng)条(Tiao)件(Jian)下(Xia)构(Gou)造(Zao)方(Fang)法(Fa)的(De)调(Diao)用(Yong)规(Gui)则(Ze)如(Ru)下(Xia):(?)

情(Qing)况(Kuang)1:(?)如(Ru)果(Guo)子(Zi)类(Lei)的(De)构(Gou)造(Zao)方(Fang)法(Fa)中(Zhong)没(Mei)有(You)通(Tong)过(Guo)super显(Xian)式(Shi)调(Diao)用(Yong)父(Fu)类(Lei)的(De)有(You)参(Can)构(Gou)造(Zao)方(Fang)法(Fa),(?)也(Ye)没(Mei)有(You)通(Tong)过(Guo)this显(Xian)式(Shi)调(Diao)用(Yong)自(Zi)身(Shen)的(De)其(Qi)他(Ta)构(Gou)造(Zao)方(Fang)法(Fa),(?)则(Ze)系(Xi)统(Tong)会(Hui)默(Mo)认(Ren)先(Xian)调(Diao)用(Yong)父(Fu)类(Lei)的(De)无(Wu)参(Can)构(Gou)造(Zao)方(Fang)法(Fa)。(?)在(Zai)这(Zhe)种(Zhong)情(Qing)况(Kuang)下(Xia),(?)写(Xie)不(Bu)写(Xie)“(?)super();”(?)语(Yu)句(Ju),(?)效(Xiao)果(Guo)是(Shi)一(Yi)样(Yang)的(De)。(?)

情(Qing)况(Kuang)2:(?)如(Ru)果(Guo)子(Zi)类(Lei)的(De)构(Gou)造(Zao)方(Fang)法(Fa)中(Zhong)通(Tong)过(Guo)super显(Xian)式(Shi)调(Diao)用(Yong)父(Fu)类(Lei)的(De)有(You)参(Can)构(Gou)造(Zao)方(Fang)法(Fa),(?)那(Na)将(Jiang)执(Zhi)行(Xing)父(Fu)类(Lei)相(Xiang)应(Ying)构(Gou)造(Zao)方(Fang)法(Fa),(?)而(?)不(Bu)执(Zhi)行(Xing)父(Fu)类(Lei)无(Wu)参(Can)构(Gou)造(Zao)方(Fang)法(Fa)。(?)

情(Qing)况(Kuang)3:(?)如(Ru)果(Guo)子(Zi)类(Lei)的(De)构(Gou)造(Zao)方(Fang)法(Fa)中(Zhong)通(Tong)过(Guo)this显(Xian)式(Shi)调(Diao)用(Yong)自(Zi)身(Shen)的(De)其(Qi)他(Ta)构(Gou)造(Zao)方(Fang)法(Fa),(?)在(Zai)相(Xiang)应(Ying)构(Gou)造(Zao)方(Fang)法(Fa)中(Zhong)应(Ying)用(Yong)以(Yi)上(Shang)两(Liang)条(Tiao)规(Gui)则(Ze)。(?)

特(Te)别(Bie)注(Zhu)意(Yi)的(De)是(Shi),(?)如(Ru)果(Guo)存(Cun)在(Zai)多(Duo)级(Ji)继(Ji)承(Cheng)关(Guan)系(Xi),(?)在(Zai)创(Chuang)建(Jian)一(Yi)个(Ge)子(Zi)类(Lei)对(Dui)象(Xiang)时(Shi),(?)以(Yi)上(Shang)规(Gui)则(Ze)会(Hui)多(Duo)次(Ci)向(Xiang)更(Geng)高(Gao)一(Yi)级(Ji)父(Fu)类(Lei)应(Ying)用(Yong),(?)一(Yi)直(Zhi)到(Dao)执(Zhi)行(Xing)顶(Ding)级(Ji)父(Fu)类(Lei)Object类(Lei)的(De)无(Wu)参(Can)构(Gou)造(Zao)方(Fang)法(Fa)为(Wei)止(Zhi)。(?)

30.==和(He)equals的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi)

“(?)==”(?)是(Shi)关(Guan)系(Xi)运(Yun)算(Suan)符(Fu),(?)equals()是(Shi)方(Fang)法(Fa),(?)同(Tong)时(Shi)他(Ta)们(Men)的(De)结(Jie)果(Guo)都(Du)返(Fan)回(Hui)布(Bu)尔(?)值(Zhi);(?)

“(?)==”(?)使(Shi)用(Yong)情(Qing)况(Kuang)如(Ru)下(Xia):(?)

a) 基(Ji)本(Ben)类(Lei)型(Xing),(?)比(Bi)较(Jiao)的(De)是(Shi)值(Zhi)

b) 引(Yin)用(Yong)类(Lei)型(Xing),(?)比(Bi)较(Jiao)的(De)是(Shi)地(Di)址(Zhi)

c) 不(Bu)能(Neng)比(Bi)较(Jiao)没(Mei)有(You)父(Fu)子(Zi)关(Guan)系(Xi)的(De)两(Liang)个(Ge)对(Dui)象(Xiang)

equals()方(Fang)法(Fa)使(Shi)用(Yong)如(Ru)下(Xia):(?)

a) 系(Xi)统(Tong)类(Lei)一(Yi)般(Ban)已(Yi)经(Jing)覆(Fu)盖(Gai)了(Liao)equals(),(?)比(Bi)较(Jiao)的(De)是(Shi)内(Nei)容(Rong)。(?)

b) 用(Yong)户(Hu)自(Zi)定(Ding)义(Yi)类(Lei)如(Ru)果(Guo)没(Mei)有(You)覆(Fu)盖(Gai)equals(),(?)将(Jiang)调(Diao)用(Yong)父(Fu)类(Lei)的(De)equals ((?)比(Bi)如(Ru)是(Shi)Object)(?),(?)而(?)Object的(De)equals的(De)比(Bi)较(Jiao)是(Shi)地(Di)址(Zhi)((?)return (this == obj);)(?)

c) 用(Yong)户(Hu)自(Zi)定(Ding)义(Yi)类(Lei)需(Xu)要(Yao)覆(Fu)盖(Gai)父(Fu)类(Lei)的(De)equals()

注(Zhu)意(Yi):(?)Object的(De)==和(He)equals比(Bi)较(Jiao)的(De)都(Du)是(Shi)地(Di)址(Zhi),(?)作(Zuo)用(Yong)相(Xiang)同(Tong)

31.谈(Tan)谈(Tan)Java的(De)多(Duo)态(Tai)

实(Shi)现(Xian)多(Duo)态(Tai)的(De)三(San)个(Ge)条(Tiao)件(Jian)((?)前(Qian)提(Ti)条(Tiao)件(Jian),(?)向(Xiang)上(Shang)转(Zhuan)型(Xing)、(?)向(Xiang)下(Xia)转(Zhuan)型(Xing))(?)

1、(?)继(Ji)承(Cheng)的(De)存(Cun)在(Zai);(?)((?)继(Ji)承(Cheng)是(Shi)多(Duo)态(Tai)的(De)基(Ji)础(Chu),(?)没(Mei)有(You)继(Ji)承(Cheng)就(Jiu)没(Mei)有(You)多(Duo)态(Tai))(?)

2、(?)子(Zi)类(Lei)重(Zhong)写(Xie)父(Fu)类(Lei)的(De)方(Fang)法(Fa)。(?)((?)多(Duo)态(Tai)下(Xia)会(Hui)调(Diao)用(Yong)子(Zi)类(Lei)重(Zhong)写(Xie)后(Hou)的(De)方(Fang)法(Fa))(?)

3、(?)父(Fu)类(Lei)引(Yin)用(Yong)变(Bian)量(Liang)指(Zhi)向(Xiang)子(Zi)类(Lei)对(Dui)象(Xiang)。(?)((?)涉(She)及(Ji)子(Zi)类(Lei)到(Dao)父(Fu)类(Lei)的(De)类(Lei)型(Xing)转(Zhuan)换(Huan))(?)

向(Xiang)上(Shang)转(Zhuan)型(Xing) Student person = new Student()

将(Jiang)一(Yi)个(Ge)父(Fu)类(Lei)的(De)引(Yin)用(Yong)指(Zhi)向(Xiang)一(Yi)个(Ge)子(Zi)类(Lei)对(Dui)象(Xiang),(?)成(Cheng)为(Wei)向(Xiang)上(Shang)转(Zhuan)型(Xing),(?)自(Zi)动(Dong)进(Jin)行(Xing)类(Lei)型(Xing)转(Zhuan)换(Huan)。(?)此(Ci)时(Shi)通(Tong)过(Guo)父(Fu)类(Lei)引(Yin)用(Yong)变(Bian)量(Liang)调(Diao)用(Yong)的(De)方(Fang)法(Fa)是(Shi)子(Zi)类(Lei)覆(Fu)盖(Gai)或(Huo)继(Ji)承(Cheng)父(Fu)类(Lei)的(De)方(Fang)法(Fa),(?)而(?)不(Bu)是(Shi)父(Fu)类(Lei)的(De)方(Fang)法(Fa)此(Ci)时(Shi)通(Tong)过(Guo)父(Fu)类(Lei)引(Yin)用(Yong)变(Bian)量(Liang)无(Wu)法(Fa)调(Diao)用(Yong)子(Zi)类(Lei)特(Te)有(You)的(De)方(Fang)法(Fa)。(?)

向(Xiang)下(Xia)转(Zhuan)型(Xing) Student stu = (Student)person;

将(Jiang)一(Yi)个(Ge)指(Zhi)向(Xiang)子(Zi)类(Lei)对(Dui)象(Xiang)的(De)引(Yin)用(Yong)赋(Fu)给(Gei)一(Yi)个(Ge)子(Zi)类(Lei)的(De)引(Yin)用(Yong),(?)成(Cheng)为(Wei)向(Xiang)下(Xia)转(Zhuan)型(Xing),(?)此(Ci)时(Shi)必(Bi)须(Xu)进(Jin)行(Xing)强(Qiang)制(Zhi)类(Lei)型(Xing)转(Zhuan)换(Huan)。(?)向(Xiang)下(Xia)转(Zhuan)型(Xing)必(Bi)须(Xu)转(Zhuan)换(Huan)为(Wei)父(Fu)类(Lei)引(Yin)用(Yong)指(Zhi)向(Xiang)的(De)真(Zhen)实(Shi)子(Zi)类(Lei)类(Lei)型(Xing),(?),(?)否(Fou)则(Ze)将(Jiang)出(Chu)现(Xian)ClassCastException,(?)不(Bu)是(Shi)任(Ren)意(Yi)的(De)强(Qiang)制(Zhi)转(Zhuan)换(Huan)

向(Xiang)下(Xia)转(Zhuan)型(Xing)时(Shi)可(Ke)以(Yi)结(Jie)合(He)使(Shi)用(Yong)instanceof运(Yun)算(Suan)符(Fu)进(Jin)行(Xing)强(Qiang)制(Zhi)类(Lei)型(Xing)转(Zhuan)换(Huan),(?)比(Bi)如(Ru)出(Chu)现(Xian)转(Zhuan)换(Huan)异(Yi)常(Chang)---ClassCastException

32.简(Jian)述(Shu)Java的(De)垃(La)圾(Ji)回(Hui)收(Shou)机(Ji)制(Zhi)

传(Chuan)统(Tong)的(De)C/C++语(Yu)言(Yan),(?)需(Xu)要(Yao)程(Cheng)序(Xu)员(Yuan)负(Fu)责(Ze)回(Hui)收(Shou)已(Yi)经(Jing)分(Fen)配(Pei)内(Nei)存(Cun)。(?)

显(Xian)式(Shi)回(Hui)收(Shou)垃(La)圾(Ji)回(Hui)收(Shou)的(De)缺(Que)点(Dian):(?)

1)(?)程(Cheng)序(Xu)忘(Wang)记(Ji)及(Ji)时(Shi)回(Hui)收(Shou),(?)从(Cong)而(?)导(Dao)致(Zhi)内(Nei)存(Cun)泄(Xie)露(Lu),(?)降(Jiang)低(Di)系(Xi)统(Tong)性(Xing)能(Neng)。(?)

2)(?)程(Cheng)序(Xu)错(Cuo)误(Wu)回(Hui)收(Shou)程(Cheng)序(Xu)核(He)心(Xin)类(Lei)库(Ku)的(De)内(Nei)存(Cun),(?)导(Dao)致(Zhi)系(Xi)统(Tong)崩(Beng)溃(Kui)。(?)

Java语(Yu)言(Yan)不(Bu)需(Xu)要(Yao)程(Cheng)序(Xu)员(Yuan)直(Zhi)接(Jie)控(Kong)制(Zhi)内(Nei)存(Cun)回(Hui)收(Shou),(?)是(Shi)由(You)JRE在(Zai)后(Hou)台(Tai)自(Zi)动(Dong)回(Hui)收(Shou)不(Bu)再(Zai)使(Shi)用(Yong)的(De)内(Nei)存(Cun),(?)称(Cheng)为(Wei)垃(La)圾(Ji)回(Hui)收(Shou)机(Ji)制(Zhi),(?)简(Jian)称(Cheng)GC;(?)

1)(?)可(Ke)以(Yi)提(Ti)高(Gao)编(Bian)程(Cheng)效(Xiao)率(Lu)。(?)

2)(?)保(Bao)护(Hu)程(Cheng)序(Xu)的(De)完(Wan)整(Zheng)性(Xing)。(?)

3)(?)其(Qi)开(Kai)销(Xiao)影(Ying)响(Xiang)性(Xing)能(Neng)。(?)Java虚(Xu)拟(Ni)机(Ji)必(Bi)须(Xu)跟(Gen)踪(Zong)程(Cheng)序(Xu)中(Zhong)有(You)用(Yong)的(De)对(Dui)象(Xiang),(?)确(Que)定(Ding)哪(Na)些(Xie)是(Shi)无(Wu)用(Yong)的(De)。(?)

垃(La)圾(Ji)回(Hui)收(Shou)机(Ji)制(Zhi)的(De) 特(Te)点(Dian)

1)(?)垃(La)圾(Ji)回(Hui)收(Shou)机(Ji)制(Zhi)回(Hui)收(Shou)JVM堆(Dui)内(Nei)存(Cun)里(Li)的(De)对(Dui)象(Xiang)空(Kong)间(Jian),不(Bu)负(Fu)责(Ze)回(Hui)收(Shou)栈(Zhan)内(Nei)存(Cun)数(Shu)据(Ju)。(?)

2)(?)对(Dui)其(Qi)他(Ta)物(Wu)理(Li)连(Lian)接(Jie),(?)比(Bi)如(Ru)数(Shu)据(Ju)库(Ku)连(Lian)接(Jie)、(?)输(Shu)入(Ru)流(Liu)输(Shu)出(Chu)流(Liu)、(?)Socket连(Lian)接(Jie)无(Wu)能(Neng)为(Wei)力(Li)。(?)

3)(?)垃(La)圾(Ji)回(Hui)收(Shou)发(Fa)生(Sheng)具(Ju)有(You)不(Bu)可(Ke)预(Yu)知(Zhi)性(Xing),(?)程(Cheng)序(Xu)无(Wu)法(Fa)精(Jing)确(Que)控(Kong)制(Zhi)垃(La)圾(Ji)回(Hui)收(Shou)机(Ji)制(Zhi)执(Zhi)行(Xing)。(?)

4)(?)可(Ke)以(Yi)将(Jiang)对(Dui)象(Xiang)的(De)引(Yin)用(Yong)变(Bian)量(Liang)设(She)置(Zhi)为(Wei)null,(?)暗(An)示(Shi)垃(La)圾(Ji)回(Hui)收(Shou)机(Ji)制(Zhi)可(Ke)以(Yi)回(Hui)收(Shou)该(Gai)对(Dui)象(Xiang)。(?)

现(Xian)在(Zai)的(De)JVM有(You)多(Duo)种(Zhong)垃(La)圾(Ji)回(Hui)收(Shou) 实(Shi)现(Xian)算(Suan)法(Fa),(?)表(Biao)现(Xian)各(Ge)异(Yi)。(?)

垃(La)圾(Ji)回(Hui)收(Shou)机(Ji)制(Zhi)回(Hui)收(Shou)任(Ren)何(He)对(Dui)象(Xiang)之(Zhi)前(Qian),(?)总(Zong)会(Hui)先(Xian)调(Diao)用(Yong)它(Ta)的(De)finalize方(Fang)法(Fa)((?)如(Ru)果(Guo)覆(Fu)盖(Gai)该(Gai)方(Fang)法(Fa),(?)让(Rang)一(Yi)个(Ge)新(Xin)的(De)引(Yin)用(Yong)变(Bian)量(Liang)重(Zhong)新(Xin)引(Yin)用(Yong)该(Gai)对(Dui)象(Xiang),(?)则(Ze)会(Hui)重(Zhong)新(Xin)激(Ji)活(Huo)对(Dui)象(Xiang))(?)。(?)

程(Cheng)序(Xu)员(Yuan)可(Ke)以(Yi)通(Tong)过(Guo)System.gc()或(Huo)者(Zhe)Runtime.getRuntime().gc()来(Lai)通(Tong)知(Zhi)系(Xi)统(Tong)进(Jin)行(Xing)垃(La)圾(Ji)回(Hui)收(Shou),(?)会(Hui)有(You)一(Yi)些(Xie)效(Xiao)果(Guo),(?)但(Dan)是(Shi)系(Xi)统(Tong)是(Shi)否(Fou)进(Jin)行(Xing)垃(La)圾(Ji)回(Hui)收(Shou)依(Yi)然(Ran)不(Bu)确(Que)定(Ding)。(?)

永(Yong)远(Yuan)不(Bu)要(Yao)主(Zhu)动(Dong)调(Diao)用(Yong)某(Mou)个(Ge)对(Dui)象(Xiang)的(De)finalize方(Fang)法(Fa),(?)应(Ying)该(Gai)交(Jiao)给(Gei)垃(La)圾(Ji)回(Hui)收(Shou)机(Ji)制(Zhi)调(Diao)用(Yong)。(?)

33.基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)和(He)包(Bao)装(Zhuang)类(Lei)

1) 八(Ba)个(Ge)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)的(De)包(Bao)装(Zhuang)类(Lei)

基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing) 包(Bao)装(Zhuang)类(Lei)
byte Byte
boolean Boolean
short Short
char Character
int Integer
long Long
float Float
double Double

2)为(Wei)什(Shi)么(Me)为(Wei)基(Ji)本(Ben)类(Lei)型(Xing)引(Yin)入(Ru)包(Bao)装(Zhuang)类(Lei)

2.1基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)有(You)方(Fang)便(Bian)之(Zhi)处(Chu),(?)简(Jian)单(Dan)、(?)高(Gao)效(Xiao)。(?)

2.2但(Dan)是(Shi)Java中(Zhong)的(De)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)却(Que)是(Shi)不(Bu)面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)((?)没(Mei)有(You)属(Shu)性(Xing)、(?)方(Fang)法(Fa))(?),(?)这(Zhe)在(Zai)实(Shi)际(Ji)使(Shi)用(Yong)时(Shi)存(Cun)在(Zai)很(Hen)多(Duo)的(De)不(Bu)便(Bian)((?)比(Bi)如(Ru)集(Ji)合(He)的(De)元(Yuan)素(Su)只(Zhi)能(Neng)是(Shi)Object)(?)。(?)

为(Wei)了(Liao)解(Jie)决(Jue)这(Zhe)个(Ge)不(Bu)足(Zu),(?)在(Zai)设(She)计(Ji)类(Lei)时(Shi)为(Wei)每(Mei)个(Ge)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)设(She)计(Ji)了(Liao)一(Yi)个(Ge)对(Dui)应(Ying)的(De)类(Lei)进(Jin)行(Xing)包(Bao)装(Zhuang),(?)这(Zhe)样(Yang)八(Ba)个(Ge)和(He)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)对(Dui)应(Ying)的(De)类(Lei)统(Tong)称(Cheng)为(Wei)包(Bao)装(Zhuang)类(Lei)(Wrapper Class)。(?)

3) 包(Bao)装(Zhuang)类(Lei)和(He)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)之(Zhi)间(Jian)的(De)转(Zhuan)换(Huan)

3.1包(Bao)装(Zhuang)类(Lei)------ wrapperInstance.xxxValue() ------>基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)

3.2包(Bao)装(Zhuang)类(Lei)-------new WrapperClass(primitive)

3.2包(Bao)装(Zhuang)类(Lei)-------new WrapperClass(primitive)

4) 自(Zi)动(Dong)装(Zhuang)箱(Xiang)和(He)自(Zi)动(Dong)拆(Chai)箱(Xiang)

JDK1.5提(Ti)供(Gong)了(Liao)自(Zi)动(Dong)装(Zhuang)箱(Xiang)((?)autoboxing)(?)和(He)自(Zi)动(Dong)拆(Chai)箱(Xiang)((?)autounboxing)(?)功(Gong)能(Neng), 从(Cong)而(?)实(Shi)现(Xian)了(Liao)包(Bao)装(Zhuang)类(Lei)和(He)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)之(Zhi)间(Jian)的(De)自(Zi)动(Dong)转(Zhuan)换(Huan)

5) 包(Bao)装(Zhuang)类(Lei)还(Huan)可(Ke)以(Yi)实(Shi)现(Xian)基(Ji)本(Ben)类(Lei)型(Xing)变(Bian)量(Liang)和(He)字(Zi)符(Fu)串(Chuan)之(Zhi)间(Jian)的(De)转(Zhuan)换(Huan)

基(Ji)本(Ben)类(Lei)型(Xing)变(Bian)量(Liang)--->String.valueof()--->字(Zi)符(Fu)串(Chuan) 基(Ji)本(Ben)类(Lei)型(Xing)变(Bian)量(Liang)<---WrapperClass.parseXxx(string)---字(Zi)符(Fu)串(Chuan)

34.Integer与(Yu)int的(De)区(Qu)别(Bie)

int是(Shi)java提(Ti)供(Gong)的(De)8种(Zhong)原(Yuan)始(Shi)数(Shu)据(Ju)类(Lei)型(Xing)之(Zhi)一(Yi),(?)Java为(Wei)每(Mei)个(Ge)原(Yuan)始(Shi)类(Lei)型(Xing)提(Ti)供(Gong)了(Liao)封(Feng)装(Zhuang)类(Lei),(?)Integer是(Shi)java为(Wei)int提(Ti)供(Gong)的(De)封(Feng)装(Zhuang)类(Lei)。(?)

int是(Shi)java提(Ti)供(Gong)的(De)8种(Zhong)原(Yuan)始(Shi)数(Shu)据(Ju)类(Lei)型(Xing)之(Zhi)一(Yi),(?)Java为(Wei)每(Mei)个(Ge)原(Yuan)始(Shi)类(Lei)型(Xing)提(Ti)供(Gong)了(Liao)封(Feng)装(Zhuang)类(Lei),(?)Integer是(Shi)java为(Wei)int提(Ti)供(Gong)的(De)封(Feng)装(Zhuang)类(Lei)。(?)

在(Zai)Hibernate中(Zhong),(?)如(Ru)果(Guo)将(Jiang)OID定(Ding)义(Yi)为(Wei)Integer类(Lei)型(Xing),(?)那(Na)么(Me)Hibernate就(Jiu)可(Ke)以(Yi)根(Gen)据(Ju)其(Qi)值(Zhi)是(Shi)否(Fou)为(Wei)null而(?)判(Pan)断(Duan)一(Yi)个(Ge)对(Dui)象(Xiang)是(Shi)否(Fou)是(Shi)临(Lin)时(Shi)的(De),(?)如(Ru)果(Guo)将(Jiang)OID定(Ding)义(Yi)为(Wei)了(Liao)int类(Lei)型(Xing),(?)还(Huan)需(Xu)要(Yao)在(Zai)hbm映(Ying)射(She)文(Wen)件(Jian)中(Zhong)设(She)置(Zhi)其(Qi)unsaved-value属(Shu)性(Xing)为(Wei)0。(?)

另(Ling)外(Wai),(?)Integer提(Ti)供(Gong)了(Liao)多(Duo)个(Ge)与(Yu)整(Zheng)数(Shu)相(Xiang)关(Guan)的(De)操(Cao)作(Zuo)方(Fang)法(Fa),(?)例(Li)如(Ru),(?)将(Jiang)一(Yi)个(Ge)字(Zi)符(Fu)串(Chuan)转(Zhuan)换(Huan)成(Cheng)整(Zheng)数(Shu),(?)Integer中(Zhong)还(Huan)定(Ding)义(Yi)了(Liao)表(Biao)示(Shi)整(Zheng)数(Shu)的(De)最(Zui)大(Da)值(Zhi)和(He)最(Zui)小(Xiao)值(Zhi)的(De)常(Chang)量(Liang)。(?)

35.java.sql.Date和(He)java.util.Date的(De)联(Lian)系(Xi)和(He)区(Qu)别(Bie)

1)(?) java.sql.Date是(Shi)java.util.Date的(De)子(Zi)类(Lei),(?)是(Shi)一(Yi)个(Ge)包(Bao)装(Zhuang)了(Liao)毫(Hao)秒(Miao)值(Zhi)的(De)瘦(Shou)包(Bao)装(Zhuang)器(Qi),(?)允(Yun)许(Xu) JDBC 将(Jiang)毫(Hao)秒(Miao)值(Zhi)标(Biao)识(Shi)为(Wei) SQL DATE 值(Zhi)。(?)毫(Hao)秒(Miao)值(Zhi)表(Biao)示(Shi)自(Zi) 1970 年(Nian) 1 月(Yue) 1 日(Ri) 00:00:00 GMT 以(Yi)来(Lai)经(Jing)过(Guo)的(De)毫(Hao)秒(Miao)数(Shu)。(?) 为(Wei)了(Liao)与(Yu) SQL DATE 的(De)定(Ding)义(Yi)一(Yi)致(Zhi),(?)由(You) java.sql.Date 实(Shi)例(Li)包(Bao)装(Zhuang)的(De)毫(Hao)秒(Miao)值(Zhi)必(Bi)须(Xu)通(Tong)过(Guo)将(Jiang)时(Shi)间(Jian)、(?)分(Fen)钟(Zhong)、(?)秒(Miao)和(He)毫(Hao)秒(Miao)设(She)置(Zhi)为(Wei)与(Yu)该(Gai)实(Shi)例(Li)相(Xiang)关(Guan)的(De)特(Te)定(Ding)时(Shi)区(Qu)中(Zhong)的(De)零(Ling)来(Lai)“(?)规(Gui)范(Fan)化(Hua)”(?)。(?) 说(Shuo)白(Bai)了(Liao),(?)java.sql.Date就(Jiu)是(Shi)与(Yu)数(Shu)据(Ju)库(Ku)Date相(Xiang)对(Dui)应(Ying)的(De)一(Yi)个(Ge)类(Lei)型(Xing),(?)而(?)java.util.Date是(Shi)纯(Chun)java的(De)Date。(?)

2)(?)JAVA里(Li)提(Ti)供(Gong)的(De)日(Ri)期(Qi)和(He)时(Shi)间(Jian)类(Lei),(?)java.sql.Date和(He)java.sql.Time,只(Zhi)会(Hui)从(Cong)数(Shu)据(Ju)库(Ku)里(Li)读(Du)取(Qu)某(Mou)部(Bu)分(Fen)值(Zhi),(?)这(Zhe)有(You)时(Shi)会(Hui)导(Dao)致(Zhi)丢(Diu)失(Shi)数(Shu)据(Ju)。(?)例(Li)如(Ru)一(Yi)个(Ge)包(Bao)含(Han)2002/05/22 5:00:57 PM的(De)字(Zi)段(Duan),(?)读(Du)取(Qu)日(Ri)期(Qi)时(Shi)得(De)到(Dao)的(De)是(Shi)2002/05/22,而(?)读(Du)取(Qu)时(Shi)间(Jian)时(Shi)得(De)到(Dao)的(De)是(Shi)5:00:57 PM. 你(Ni)需(Xu)要(Yao)了(Liao)解(Jie)数(Shu)据(Ju)库(Ku)里(Li)存(Cun)储(Chu)时(Shi)间(Jian)的(De)精(Jing)度(Du)。(?)有(You)些(Xie)数(Shu)据(Ju)库(Ku),(?)比(Bi)如(Ru)MySQL,精(Jing)度(Du)为(Wei)毫(Hao)秒(Miao),(?)然(Ran)而(?)另(Ling)一(Yi)些(Xie)数(Shu)据(Ju)库(Ku),(?)包(Bao)括(Kuo)Oracle,存(Cun)储(Chu)SQL DATE类(Lei)型(Xing)数(Shu)据(Ju)时(Shi),(?)毫(Hao)秒(Miao)部(Bu)分(Fen)的(De)数(Shu)据(Ju)是(Shi)不(Bu)保(Bao)存(Cun)的(De)。(?)以(Yi)下(Xia)操(Cao)作(Zuo)中(Zhong)容(Rong)易(Yi)出(Chu)现(Xian)不(Bu)易(Yi)被(Bei)发(Fa)现(Xian)的(De)BUG:(?)获(Huo)得(De)一(Yi)个(Ge)JAVA里(Li)的(De)日(Ri)期(Qi)对(Dui)象(Xiang)。(?) 从(Cong)数(Shu)据(Ju)库(Ku)里(Li)读(Du)取(Qu)日(Ri)期(Qi) 试(Shi)图(Tu)比(Bi)较(Jiao)两(Liang)个(Ge)日(Ri)期(Qi)对(Dui)象(Xiang)是(Shi)否(Fou)相(Xiang)等(Deng)。(?)如(Ru)果(Guo)毫(Hao)秒(Miao)部(Bu)分(Fen)丢(Diu)失(Shi),(?)本(Ben)来(Lai)认(Ren)为(Wei)相(Xiang)等(Deng)的(De)两(Liang)个(Ge)日(Ri)期(Qi)对(Dui)象(Xiang)用(Yong)Equals方(Fang)法(Fa)可(Ke)能(Neng)返(Fan)回(Hui)false。(?).sql.Timestamp类(Lei)比(Bi)java.util.Date类(Lei)精(Jing)确(Que)度(Du)要(Yao)高(Gao)。(?)这(Zhe)个(Ge)类(Lei)包(Bao)了(Liao)一(Yi)个(Ge)getTime()方(Fang)法(Fa),(?)但(Dan)是(Shi)它(Ta)不(Bu)会(Hui)返(Fan)回(Hui)额(E)外(Wai)精(Jing)度(Du)部(Bu)分(Fen)的(De)数(Shu)据(Ju),(?)因(Yin)此(Ci)必(Bi)须(Xu)使(Shi)用(Yong)...

总(Zong)之(Zhi),(?)java.util.Date 就(Jiu)是(Shi)Java的(De)日(Ri)期(Qi)对(Dui)象(Xiang),(?)而(?)java.sql.Date 是(Shi)针(Zhen)对(Dui)SQL语(Yu)句(Ju)使(Shi)用(Yong)的(De),(?)只(Zhi)包(Bao)含(Han)日(Ri)期(Qi)而(?)没(Mei)有(You)时(Shi)间(Jian)部(Bu)分(Fen)。(?)

36.使(Shi)用(Yong)递(Di)归(Gui)算(Suan)法(Fa)输(Shu)出(Chu)某(Mou)个(Ge)目(Mu)录(Lu)下(Xia)所(Suo)有(You)文(Wen)件(Jian)和(He)子(Zi)目(Mu)录(Lu)列(Lie)表(Biao)
package com.bjsxt;
import java.io.File;
public class $ {
public static void main(String[] args) {
        String path = "D:/301SXT";
        test(path);
    }
    private static void test(String path) {
        File f = new File(path);
        File[] fs = f.listFiles();
        if (fs == null) {
            return;
        }
        for (File file : fs) {
            if (file.isFile()) {
                System.out.println(file.getPath());
            } else {
                test(file.getPath());
            }
        }
    }
37.关(Guan)于(Yu)Java编(Bian)译(Yi),(?)下(Xia)面(Mian)哪(Na)一(Yi)个(Ge)正(Zheng)确(Que)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?)
A Java程(Cheng)序(Xu)经(Jing)编(Bian)译(Yi)后(Hou)产(Chan)生(Sheng)machine code
B. Java程(Cheng)序(Xu)经(Jing)编(Bian)译(Yi)后(Hou)会(Hui)生(Sheng)产(Chan)byte code
C. Java程(Cheng)序(Xu)经(Jing)编(Bian)译(Yi)后(Hou)会(Hui)产(Chan)生(Sheng)DLL
D. 以(Yi)上(Shang)都(Du)不(Bu)正(Zheng)确(Que)
答(Da)案(An):(?)B
分(Fen)析(Xi):(?) Java是(Shi)解(Jie)释(Shi)型(Xing)语(Yu)言(Yan),(?)编(Bian)译(Yi)出(Chu)来(Lai)的(De)是(Shi)字(Zi)节(Jie)码(Ma);(?) 因(Yin)此(Ci)A不(Bu)正(Zheng)确(Que),(?)C是(Shi)C/C++语(Yu)言(Yan)编(Bian)译(Yi)动(Dong)态(Tai)链(Lian)接(Jie)库(Ku)的(De)文(Wen)件(Jian)为(Wei).DLL;(?) 正(Zheng)确(Que)答(Da)案(An)为(Wei)B
38.下(Xia)列(Lie)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)有(You)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?)
A class中(Zhong)的(De)construtor不(Bu)可(Ke)省(Sheng)略(Lue)
B. construtor与(Yu)class同(Tong)名(Ming),(?)但(Dan)方(Fang)法(Fa)不(Bu)能(Neng)与(Yu)class同(Tong)名(Ming)
C. construtor在(Zai)一(Yi)个(Ge)对(Dui)象(Xiang)被(Bei)new时(Shi)执(Zhi)行(Xing)
D. 一(Yi)个(Ge)class只(Zhi)能(Neng)定(Ding)义(Yi)一(Yi)个(Ge)construtor
答(Da)案(An):(?)C
分(Fen)析(Xi):(?)A:(?)如(Ru)果(Guo)class中(Zhong)的(De)construtor省(Sheng)略(Lue)不(Bu)写(Xie),(?)系(Xi)统(Tong)会(Hui)默(Mo)认(Ren)提(Ti)供(Gong)一(Yi)个(Ge)无(Wu)参(Can)构(Gou)造(Zao)
B:(?)方(Fang)法(Fa)名(Ming)可(Ke)以(Yi)与(Yu)类(Lei)名(Ming)同(Tong)名(Ming),(?)只(Zhi)是(Shi)不(Bu)符(Fu)合(He)命(Ming)名(Ming)规(Gui)范(Fan)
D:(?)一(Yi)个(Ge)class中(Zhong)可(Ke)以(Yi)定(Ding)义(Yi)N多(Duo)个(Ge)construtor,(?)这(Zhe)些(Xie)construtor构(Gou)成(Cheng)构(Gou)造(Zao)方(Fang)法(Fa)的(De)重(Zhong)载(Zai)
39.Java中(Zhong)接(Jie)口(Kou)的(De)修(Xiu)饰(Shi)符(Fu)可(Ke)以(Yi)为(Wei)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?)
A private
B. protected
C. final
D. abstract
答(Da)案(An):(?)D
分(Fen)析(Xi):(?)接(Jie)口(Kou)中(Zhong)的(De)访(Fang)问(Wen)权(Quan)限(Xian)修(Xiu)饰(Shi)符(Fu)只(Zhi)可(Ke)以(Yi)是(Shi)public或(Huo)default
接(Jie)口(Kou)中(Zhong)的(De)所(Suo)有(You)的(De)方(Fang)法(Fa)必(Bi)须(Xu)要(Yao)实(Shi)现(Xian)类(Lei)实(Shi)现(Xian),(?)所(Suo)以(Yi)不(Bu)能(Neng)使(Shi)用(Yong)final
接(Jie)口(Kou)中(Zhong)所(Suo)有(You)的(De)方(Fang)法(Fa)默(Mo)认(Ren)都(Du)是(Shi)abstract的(De),(?)所(Suo)以(Yi)接(Jie)口(Kou)可(Ke)以(Yi)使(Shi)用(Yong)abstract修(Xiu)饰(Shi),(?)但(Dan)通(Tong)常(Chang)abstract可(Ke)以(Yi)省(Sheng)略(Lue)不(Bu)写(Xie)
40.给(Gei)定(Ding)以(Yi)下(Xia)代(Dai)码(Ma),(?)程(Cheng)序(Xu)将(Jiang)输(Shu)出(Chu) ((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?)
class A {
public A(){
System.out.println("A");
}
}
class B extends A{
public B(){
System.out.println("B");
}
public static void main(String[] args) {
B b=new B();
}
}
A 不(Bu)能(Neng)通(Tong)过(Guo)编(Bian)译(Yi)
B. 通(Tong)过(Guo)编(Bian)译(Yi),(?)输(Shu)出(Chu)AB
C. 通(Tong)过(Guo)编(Bian)译(Yi),(?)输(Shu)出(Chu)B
D. 通(Tong)过(Guo)编(Bian)译(Yi),(?)输(Shu)出(Chu)A
答(Da)案(An):(?)B
分(Fen)析(Xi):(?)在(Zai)继(Ji)承(Cheng)关(Guan)系(Xi)下(Xia),(?)创(Chuang)建(Jian)子(Zi)类(Lei)对(Dui)象(Xiang),(?)先(Xian)执(Zhi)行(Xing)父(Fu)类(Lei)的(De)构(Gou)造(Zao)方(Fang)法(Fa),(?)再(Zai)执(Zhi)行(Xing)子(Zi)类(Lei)的(De)构(Gou)造(Zao)方(Fang)法(Fa)。(?)
41.下(Xia)列(Lie)关(Guan)于(Yu)关(Guan)键(Jian)字(Zi)的(De)使(Shi)用(Yong)说(Shuo)法(Fa)错(Cuo)误(Wu)的(De)是(Shi)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?)
A abstract不(Bu)能(Neng)与(Yu)final并(Bing)列(Lie)修(Xiu)饰(Shi)同(Tong)一(Yi)个(Ge)类(Lei)
B. abstract类(Lei)中(Zhong)可(Ke)以(Yi)有(You)private的(De)成(Cheng)员(Yuan)
C. abstract方(Fang)法(Fa)必(Bi)须(Xu)在(Zai)abstract类(Lei)中(Zhong)
D. static方(Fang)法(Fa)能(Neng)处(Chu)理(Li)非(Fei)static的(De)属(Shu)性(Xing)
答(Da)案(An):(?)D
分(Fen)析(Xi):(?)因(Yin)为(Wei)static得(De)方(Fang)法(Fa)在(Zai)装(Zhuang)载(Zai)class得(De)时(Shi)候(Hou)首(Shou)先(Xian)完(Wan)成(Cheng),(?)比(Bi) 构(Gou)造(Zao)方(Fang)法(Fa)早(Zao),(?)此(Ci)时(Shi)非(Fei)static得(De)属(Shu)性(Xing)和(He)方(Fang)法(Fa)还(Huan)没(Mei)有(You)完(Wan)成(Cheng)初(Chu)始(Shi)化(Hua)所(Suo)以(Yi)不(Bu)能(Neng)调(Diao)用(Yong)。(?)
42.下(Xia)列(Lie)哪(Na)些(Xie)语(Yu)句(Ju)关(Guan)于(Yu)内(Nei)存(Cun)回(Hui)收(Shou)的(De)说(Shuo)法(Fa)是(Shi)正(Zheng)确(Que)的(De)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?)
A 程(Cheng)序(Xu)员(Yuan)必(Bi)须(Xu)创(Chuang)建(Jian)一(Yi)个(Ge)线(Xian)程(Cheng)来(Lai)释(Shi)放(Fang)内(Nei)存(Cun)
B. 内(Nei)存(Cun)回(Hui)收(Shou)程(Cheng)序(Xu)负(Fu)责(Ze)释(Shi)放(Fang)无(Wu)用(Yong)内(Nei)存(Cun)
C. 内(Nei)存(Cun)回(Hui)收(Shou)程(Cheng)序(Xu)允(Yun)许(Xu)程(Cheng)序(Xu)员(Yuan)直(Zhi)接(Jie)释(Shi)放(Fang)内(Nei)存(Cun)
D. 内(Nei)存(Cun)回(Hui)收(Shou)程(Cheng)序(Xu)可(Ke)以(Yi)在(Zai)指(Zhi)定(Ding)的(De)时(Shi)间(Jian)释(Shi)放(Fang)内(Nei)存(Cun)对(Dui)象(Xiang)
答(Da)案(An):(?)B
分(Fen)析(Xi):(?) A. 程(Cheng)序(Xu)员(Yuan)不(Bu)需(Xu)要(Yao)创(Chuang)建(Jian)线(Xian)程(Cheng)来(Lai)释(Shi)放(Fang)内(Nei)存(Cun).
C. 也(Ye)不(Bu)允(Yun)许(Xu)程(Cheng)序(Xu)员(Yuan)直(Zhi)接(Jie)释(Shi)放(Fang)内(Nei)存(Cun).
D. 不(Bu)一(Yi)定(Ding)在(Zai)什(Shi)么(Me)时(Shi)刻(Ke)执(Zhi)行(Xing)垃(La)圾(Ji)回(Hui)收(Shou).
43.选(Xuan)出(Chu)合(He)理(Li)的(De)标(Biao)识(Shi)符(Fu)((?))(?)((?)选(Xuan)择(Ze)两(Liang)项(Xiang))(?)
A _sysl_111
B. 2 mail
C. $change
D. class
答(Da)案(An):(?)AC
分(Fen)析(Xi):(?) 标(Biao)识(Shi)符(Fu)的(De)命(Ming)令(Ling)规(Gui)范(Fan),(?)可(Ke)以(Yi)包(Bao)含(Han)字(Zi)母(Mu)、(?)数(Shu)字(Zi)、(?)下(Xia)划(Hua)线(Xian)、(?)$,(?)不(Bu)能(Neng)以(Yi)数(Shu)字(Zi)开(Kai)头(Tou),(?)不(Bu)能(Neng)是(Shi)Java关(Guan)键(Jian)字(Zi)
44.下(Xia)列(Lie)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)是(Shi)((?))(?)((?)选(Xuan)择(Ze)多(Duo)项(Xiang))(?)
A java.lang.Cloneable是(Shi)类(Lei)
B. java.langRunnable是(Shi)接(Jie)口(Kou)
C. Double对(Dui)象(Xiang)在(Zai)java.lang包(Bao)中(Zhong)
D. Double a=1.0是(Shi)正(Zheng)确(Que)的(De)java语(Yu)句(Ju)
Double a=1.0是(Shi)正(Zheng)确(Que)的(De)java语(Yu)句(Ju)
分(Fen)析(Xi):(?)java.lang.Cloneable是(Shi)接(Jie)口(Kou)
45.定(Ding)义(Yi)一(Yi)个(Ge)类(Lei)名(Ming)为(Wei)”(?)MyClass.java”(?)的(De)类(Lei),(?)并(Bing)且(Qie)该(Gai)类(Lei)可(Ke)被(Bei)一(Yi)个(Ge)工(Gong)程(Cheng)中(Zhong)的(De)所(Suo)有(You)类(Lei)访(Fang)问(Wen),(?)那(Na)么(Me)该(Gai)类(Lei)的(De)正(Zheng)确(Que)声(Sheng)明(Ming)为(Wei)((?))(?)((?)选(Xuan)择(Ze)两(Liang)项(Xiang))(?)
A 45.定(Ding)义(Yi)一(Yi)个(Ge)类(Lei)名(Ming)为(Wei)”(?)MyClass.java”(?)的(De)类(Lei),(?)并(Bing)且(Qie)该(Gai)类(Lei)可(Ke)被(Bei)一(Yi)个(Ge)工(Gong)程(Cheng)中(Zhong)的(De)所(Suo)有(You)类(Lei)访(Fang)问(Wen),(?)那(Na)么(Me)该(Gai)类(Lei)的(De)正(Zheng)确(Que)声(Sheng)明(Ming)为(Wei)((?))(?)((?)选(Xuan)择(Ze)两(Liang)项(Xiang))(?)
B. class MyClass extends Object
C. public class MyClass
D. public class MyClass extends Object
答(Da)案(An):(?)CD
分(Fen)析(Xi):(?) A 类(Lei)的(De)访(Fang)问(Wen)权(Quan)限(Xian)只(Zhi)能(Neng)是(Shi)public或(Huo)default
B使(Shi)用(Yong)默(Mo)认(Ren)访(Fang)问(Wen)权(Quan)限(Xian)的(De)类(Lei),(?)只(Zhi)能(Neng)在(Zai)本(Ben)包(Bao)中(Zhong)访(Fang)问(Wen)
46.面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)特(Te)征(Zheng)有(You)哪(Na)些(Xie)方(Fang)面(Mian)?(?)请(Qing)用(Yong)生(Sheng)活(Huo)中(Zhong)的(De)例(Li)子(Zi)来(Lai)描(Miao)述(Shu)。(?)

答(Da): 面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)三(San)大(Da)特(Te)征(Zheng):(?)封(Feng)装(Zhuang)、(?)继(Ji)承(Cheng)、(?)多(Duo)态(Tai)。(?)

举(Ju)例(Li):(?)((?)比(Bi)如(Ru)设(She)计(Ji)一(Yi)个(Ge)游(You)戏(Xi))(?)我(Wo)现(Xian)在(Zai)创(Chuang)建(Jian)了(Liao)一(Yi)个(Ge)对(Dui)象(Xiang),(?)名(Ming)叫(Jiao)战(Zhan)士(Shi)。(?)

战(Zhan)士(Shi)的(De)属(Shu)性(Xing)是(Shi)—(?)性(Xing)别(Bie),(?)年(Nian)龄(Ling),(?)职(Zhi)业(Ye),(?)等(Deng)级(Ji),(?)战(Zhan)斗(Dou)力(Li),(?)血(Xue)量(Liang)。(?)

它(Ta)的(De)方(Fang)法(Fa)—(?)战(Zhan)斗(Dou),(?)逃(Tao)跑(Pao),(?)吃(Chi)饭(Fan),(?)睡(Shui)觉(Jue),(?)死(Si)。(?)

后(Hou)来(Lai),(?)我(Wo)又(You)建(Jian)了(Liao)一(Yi)个(Ge)对(Dui)象(Xiang),(?)叫(Jiao)人(Ren)。(?)

属(Shu)性(Xing):性(Xing)别(Bie),(?)年(Nian)龄(Ling),(?)职(Zhi)业(Ye),(?)等(Deng)级(Ji),(?)血(Xue)量(Liang)

方(Fang)法(Fa):逃(Tao)跑(Pao),(?)吃(Chi)饭(Fan),(?)睡(Shui)觉(Jue),(?)死(Si)。(?)

我(Wo)让(Rang)人(Ren),(?)成(Cheng)为(Wei)战(Zhan)士(Shi)的(De)父(Fu)类(Lei),(?)战(Zhan)士(Shi)可(Ke)以(Yi)直(Zhi)接(Jie)继(Ji)承(Cheng)人(Ren)的(De)属(Shu)性(Xing)和(He)方(Fang)法(Fa)。(?)

战(Zhan)士(Shi)修(Xiu)改(Gai)成(Cheng)—(?)

属(Shu)性(Xing):战(Zhan)斗(Dou)力(Li)。(?)

方(Fang)法(Fa):战(Zhan)斗(Dou)。(?)

看(Kan)上(Shang)去(Qu)战(Zhan)士(Shi)的(De)资(Zi)料(Liao)变(Bian)少(Shao)了(Liao),(?)实(Shi)际(Ji)上(Shang)没(Mei)有(You),(?)我(Wo)们(Men)仍(Reng)然(Ran)可(Ke)以(Yi)调(Diao)用(Yong)方(Fang)法(Fa)—(?)战(Zhan)士(Shi).死(Si)。(?)

而(?)且(Qie)我(Wo)们(Men)还(Huan)可(Ke)以(Yi)重(Zhong)载(Zai)战(Zhan)士(Shi).死(Si)的(De)方(Fang)法(Fa),(?)简(Jian)称(Cheng)重(Zhong)载(Zai)死(Si)法(Fa)。(?)

我(Wo)还(Huan)建(Jian)了(Liao)一(Yi)个(Ge)对(Dui)象(Xiang)—(?)法(Fa)师(Shi),(?)父(Fu)类(Lei)也(Ye)是(Shi)人(Ren)。(?)

属(Shu)性(Xing):法(Fa)力(Li)值(Zhi)

方(Fang)法(Fa):施(Shi)法(Fa),(?)泡(Pao)妞(Niu)。(?)

你(Ni)看(Kan),(?)用(Yong)了(Liao)继(Ji)承(Cheng),(?)创(Chuang)建(Jian)对(Dui)象(Xiang)变(Bian)得(De)更(Geng)方(Fang)便(Bian)了(Liao)。(?)

再(Zai)后(Hou)来(Lai),(?)我(Wo)又(You)建(Jian)立(Li)了(Liao)一(Yi)个(Ge)对(Dui)象(Xiang),(?)叫(Jiao)怪(Guai)物(Wu)。(?)

属(Shu)性(Xing):等(Deng)级(Ji),(?)战(Zhan)力(Li),(?)血(Xue)量(Liang)。(?)

方(Fang)法(Fa):战(Zhan)斗(Dou),(?)死(Si)。(?)

建(Jian)了(Liao)个(Ge)对(Dui)象(Xiang),(?)叫(Jiao)白(Bai)兔(Tu)怪(Guai),(?)父(Fu)类(Lei)怪(Guai)物(Wu),(?)可(Ke)继(Ji)承(Cheng)怪(Guai)物(Wu)所(Suo)有(You)的(De)属(Shu)性(Xing)和(He)方(Fang)法(Fa)。(?)

属(Shu)性(Xing):毛(Mao)色(Se)。(?)

方(Fang)法(Fa):卖(Mai)萌(Meng),(?)吃(Chi)胡(Hu)萝(Luo)卜(Bu)。(?)

47.说(Shuo)明(Ming)内(Nei)存(Cun)泄(Xie)漏(Lou)和(He)内(Nei)存(Cun)溢(Yi)出(Chu)的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi),(?)结(Jie)合(He)项(Xiang)目(Mu)经(Jing)验(Yan)描(Miao)述(Shu)Java程(Cheng)序(Xu)中(Zhong)如(Ru)何(He)检(Jian)测(Ce)?(?)如(Ru)何(He)解(Jie)决(Jue)?(?)

答(Da):(?)

内(Nei)存(Cun)溢(Yi)出(Chu) out of memory,(?)是(Shi)指(Zhi)程(Cheng)序(Xu)在(Zai)申(Shen)请(Qing)内(Nei)存(Cun)时(Shi),(?)没(Mei)有(You)足(Zu)够(Gou)的(De)内(Nei)存(Cun)空(Kong)间(Jian)供(Gong)其(Qi)使(Shi)用(Yong),(?)出(Chu)现(Xian)out of memory;(?)比(Bi)如(Ru)申(Shen)请(Qing)了(Liao)一(Yi)个(Ge)integer,但(Dan)给(Gei)它(Ta)存(Cun)了(Liao)long才(Cai)能(Neng)存(Cun)下(Xia)的(De)数(Shu),(?)那(Na)就(Jiu)是(Shi)内(Nei)存(Cun)溢(Yi)出(Chu)。(?)

内(Nei)存(Cun)泄(Xie)露(Lu) memory leak,(?)是(Shi)指(Zhi)程(Cheng)序(Xu)在(Zai)申(Shen)请(Qing)内(Nei)存(Cun)后(Hou),(?)无(Wu)法(Fa)释(Shi)放(Fang)已(Yi)申(Shen)请(Qing)的(De)内(Nei)存(Cun)空(Kong)间(Jian),(?)一(Yi)次(Ci)内(Nei)存(Cun)泄(Xie)露(Lu)危(Wei)害(Hai)可(Ke)以(Yi)忽(Hu)略(Lue),(?)但(Dan)内(Nei)存(Cun)泄(Xie)露(Lu)堆(Dui)积(Ji)后(Hou)果(Guo)很(Hen)严(Yan)重(Zhong),(?)无(Wu)论(Lun)多(Duo)少(Shao)内(Nei)存(Cun),迟(Chi)早(Zao)会(Hui)被(Bei)占(Zhan)光(Guang)。(?)

memory leak会(Hui)最(Zui)终(Zhong)会(Hui)导(Dao)致(Zhi)out of memory!(?)

48.什(Shi)么(Me)是(Shi)Java的(De)序(Xu)列(Lie)化(Hua),(?)如(Ru)何(He)实(Shi)现(Xian)Java的(De)序(Xu)列(Lie)化(Hua)?(?)列(Lie)举(Ju)在(Zai)哪(Na)些(Xie)程(Cheng)序(Xu)中(Zhong)见(Jian)过(Guo)Java序(Xu)列(Lie)化(Hua)?(?)

答(Da):(?)Java中(Zhong)的(De)序(Xu)列(Lie)化(Hua)机(Ji)制(Zhi)能(Neng)够(Gou)将(Jiang)一(Yi)个(Ge)实(Shi)例(Li)对(Dui)象(Xiang)((?)只(Zhi)序(Xu)列(Lie)化(Hua)对(Dui)象(Xiang)的(De)属(Shu)性(Xing)值(Zhi),(?)而(?)不(Bu)会(Hui)去(Qu)序(Xu)列(Lie)化(Hua)什(Shi)么(Me)所(Suo)谓(Wei)的(De)方(Fang)法(Fa)。(?))(?)的(De)状(Zhuang)态(Tai)信(Xin)息(Xi)写(Xie)入(Ru)到(Dao)一(Yi)个(Ge)字(Zi)节(Jie)流(Liu)中(Zhong)使(Shi)其(Qi)可(Ke)以(Yi)通(Tong)过(Guo)socket进(Jin)行(Xing)传(Chuan)输(Shu)、(?)或(Huo)者(Zhe)持(Chi)久(Jiu)化(Hua)到(Dao)存(Cun)储(Chu)数(Shu)据(Ju)库(Ku)或(Huo)文(Wen)件(Jian)系(Xi)统(Tong)中(Zhong);(?)然(Ran)后(Hou)在(Zai)需(Xu)要(Yao)的(De)时(Shi)候(Hou)通(Tong)过(Guo)字(Zi)节(Jie)流(Liu)中(Zhong)的(De)信(Xin)息(Xi)来(Lai)重(Zhong)构(Gou)一(Yi)个(Ge)相(Xiang)同(Tong)的(De)对(Dui)象(Xiang)。(?)一(Yi)般(Ban)而(?)言(Yan),(?)要(Yao)使(Shi)得(De)一(Yi)个(Ge)类(Lei)可(Ke)以(Yi)序(Xu)列(Lie)化(Hua),(?)只(Zhi)需(Xu)简(Jian)单(Dan)实(Shi)现(Xian)java.io.Serializable接(Jie)口(Kou)即(Ji)可(Ke)。(?)

对(Dui)象(Xiang)的(De)序(Xu)列(Lie)化(Hua)主(Zhu)要(Yao)有(You)两(Liang)种(Zhong)用(Yong)途(Tu):(?)

1)(?) 把(Ba)对(Dui)象(Xiang)的(De)字(Zi)节(Jie)序(Xu)列(Lie)永(Yong)久(Jiu)地(Di)保(Bao)存(Cun)到(Dao)硬(Ying)盘(Pan)上(Shang),(?)通(Tong)常(Chang)存(Cun)放(Fang)在(Zai)一(Yi)个(Ge)文(Wen)件(Jian)中(Zhong);(?)

2)(?) 在(Zai)网(Wang)络(Luo)上(Shang)传(Chuan)送(Song)对(Dui)象(Xiang)的(De)字(Zi)节(Jie)序(Xu)列(Lie)。(?)

在(Zai)很(Hen)多(Duo)应(Ying)用(Yong)中(Zhong),(?)需(Xu)要(Yao)对(Dui)某(Mou)些(Xie)对(Dui)象(Xiang)进(Jin)行(Xing)序(Xu)列(Lie)化(Hua),(?)让(Rang)它(Ta)们(Men)离(Li)开(Kai)内(Nei)存(Cun)空(Kong)间(Jian),(?)入(Ru)住(Zhu)物(Wu)理(Li)硬(Ying)盘(Pan),(?)以(Yi)便(Bian)长(Chang)期(Qi)保(Bao)存(Cun)。(?)比(Bi)如(Ru)最(Zui)常(Chang)见(Jian)的(De)是(Shi)Web服(Fu)务(Wu)器(Qi)中(Zhong)的(De)Session对(Dui)象(Xiang),(?)当(Dang)有(You) 10万(Wan)用(Yong)户(Hu)并(Bing)发(Fa)访(Fang)问(Wen),(?)就(Jiu)有(You)可(Ke)能(Neng)出(Chu)现(Xian)10万(Wan)个(Ge)Session对(Dui)象(Xiang),(?)内(Nei)存(Cun)可(Ke)能(Neng)吃(Chi)不(Bu)消(Xiao),(?)于(Yu)是(Shi)Web容(Rong)器(Qi)就(Jiu)会(Hui)把(Ba)一(Yi)些(Xie)seesion先(Xian)序(Xu)列(Lie)化(Hua)到(Dao)硬(Ying)盘(Pan)中(Zhong),(?)等(Deng)要(Yao)用(Yong)了(Liao),(?)再(Zai)把(Ba)保(Bao)存(Cun)在(Zai)硬(Ying)盘(Pan)中(Zhong)的(De)对(Dui)象(Xiang)还(Huan)原(Yuan)到(Dao)内(Nei)存(Cun)中(Zhong)。(?)

当(Dang)两(Liang)个(Ge)进(Jin)程(Cheng)在(Zai)进(Jin)行(Xing)远(Yuan)程(Cheng)通(Tong)信(Xin)时(Shi),(?)彼(Bi)此(Ci)可(Ke)以(Yi)发(Fa)送(Song)各(Ge)种(Zhong)类(Lei)型(Xing)的(De)数(Shu)据(Ju)。(?)无(Wu)论(Lun)是(Shi)何(He)种(Zhong)类(Lei)型(Xing)的(De)数(Shu)据(Ju),(?)都(Du)会(Hui)以(Yi)二(?)进(Jin)制(Zhi)序(Xu)列(Lie)的(De)形(Xing)式(Shi)在(Zai)网(Wang)络(Luo)上(Shang)传(Chuan)送(Song)。(?)发(Fa)送(Song)方(Fang)需(Xu)要(Yao)把(Ba)这(Zhe)个(Ge)Java对(Dui)象(Xiang)转(Zhuan)换(Huan)为(Wei)字(Zi)节(Jie)序(Xu)列(Lie),(?)才(Cai)能(Neng)在(Zai)网(Wang)络(Luo)上(Shang)传(Chuan)送(Song);(?)接(Jie)收(Shou)方(Fang)则(Ze)需(Xu)要(Yao)把(Ba)字(Zi)节(Jie)序(Xu)列(Lie)再(Zai)恢(Hui)复(Fu)为(Wei)Java对(Dui)象(Xiang)。(?)

49.不(Bu)通(Tong)过(Guo)构(Gou)造(Zao)函(Han)数(Shu)也(Ye)能(Neng)创(Chuang)建(Jian)对(Dui)象(Xiang)吗(Ma)?(?)

答(Da):(?)Java创(Chuang)建(Jian)对(Dui)象(Xiang)的(De)几(Ji)种(Zhong)方(Fang)式(Shi)((?)重(Zhong)要(Yao))(?):(?)

1、(?) 用(Yong)new语(Yu)句(Ju)创(Chuang)建(Jian)对(Dui)象(Xiang),(?)这(Zhe)是(Shi)最(Zui)常(Chang)见(Jian)的(De)创(Chuang)建(Jian)对(Dui)象(Xiang)的(De)方(Fang)法(Fa)。(?)

2、(?) 运(Yun)用(Yong)反(Fan)射(She)手(Shou)段(Duan),调(Diao)用(Yong)java.lang.Class或(Huo)者(Zhe)java.lang.reflect.Constructor类(Lei)的(De)newInstance()实(Shi)例(Li)方(Fang)法(Fa)。(?)

3、(?) 调(Diao)用(Yong)对(Dui)象(Xiang)的(De)clone()方(Fang)法(Fa)。(?)

4、(?)运(Yun)用(Yong)反(Fan)序(Xu)列(Lie)化(Hua)手(Shou)段(Duan),(?)调(Diao)用(Yong)java.io.ObjectInputStream对(Dui)象(Xiang)的(De) readObject()方(Fang)法(Fa)。(?)

(1)和(He)(2)都(Du)会(Hui)明(Ming)确(Que)的(De)显(Xian)式(Shi)的(De)调(Diao)用(Yong)构(Gou)造(Zao)函(Han)数(Shu) ;(?)(3)是(Shi)在(Zai)内(Nei)存(Cun)上(Shang)对(Dui)已(Yi)有(You)对(Dui)象(Xiang)的(De)影(Ying)印(Yin),(?)所(Suo)以(Yi)不(Bu)会(Hui)调(Diao)用(Yong)构(Gou)造(Zao)函(Han)数(Shu) ;(?)(4)是(Shi)从(Cong)文(Wen)件(Jian)中(Zhong)还(Huan)原(Yuan)类(Lei)的(De)对(Dui)象(Xiang),(?)也(Ye)不(Bu)会(Hui)调(Diao)用(Yong)构(Gou)造(Zao)函(Han)数(Shu)。(?)

50.匿(Ni)名(Ming)内(Nei)部(Bu)类(Lei)可(Ke)不(Bu)可(Ke)以(Yi)继(Ji)承(Cheng)或(Huo)实(Shi)现(Xian)接(Jie)口(Kou)。(?)为(Wei)什(Shi)么(Me)?(?)

答(Da):(?)匿(Ni)名(Ming)内(Nei)部(Bu)类(Lei)是(Shi)没(Mei)有(You)名(Ming)字(Zi)的(De)内(Nei)部(Bu)类(Lei),不(Bu)能(Neng)继(Ji)承(Cheng)其(Qi)它(Ta)类(Lei),但(Dan)一(Yi)个(Ge)内(Nei)部(Bu)类(Lei)可(Ke)以(Yi)作(Zuo)为(Wei)一(Yi)个(Ge)接(Jie)口(Kou),由(You)另(Ling)一(Yi)个(Ge)内(Nei)部(Bu)类(Lei)实(Shi)现(Xian).

1、(?)由(You)于(Yu)匿(Ni)名(Ming)内(Nei)部(Bu)类(Lei)没(Mei)有(You)名(Ming)字(Zi),(?)所(Suo)以(Yi)它(Ta)没(Mei)有(You)构(Gou)造(Zao)函(Han)数(Shu)。(?)因(Yin)为(Wei)没(Mei)有(You)构(Gou)造(Zao)函(Han)数(Shu),(?)所(Suo)以(Yi)它(Ta)必(Bi)须(Xu)完(Wan)全(Quan)借(Jie)用(Yong)父(Fu)类(Lei)的(De)构(Gou)造(Zao)函(Han)数(Shu)来(Lai)实(Shi)例(Li)化(Hua),(?)换(Huan)言(Yan)之(Zhi):(?)匿(Ni)名(Ming)内(Nei)部(Bu)类(Lei)完(Wan)全(Quan)把(Ba)创(Chuang)建(Jian)对(Dui)象(Xiang)的(De)任(Ren)务(Wu)交(Jiao)给(Gei)了(Liao)父(Fu)类(Lei)去(Qu)完(Wan)成(Cheng)。(?)

2、(?)在(Zai)匿(Ni)名(Ming)内(Nei)部(Bu)类(Lei)里(Li)创(Chuang)建(Jian)新(Xin)的(De)方(Fang)法(Fa)没(Mei)有(You)太(Tai)大(Da)意(Yi)义(Yi),(?)但(Dan)它(Ta)可(Ke)以(Yi)通(Tong)过(Guo)覆(Fu)盖(Gai)父(Fu)类(Lei)的(De)方(Fang)法(Fa)达(Da)到(Dao)神(Shen)奇(Qi)效(Xiao)果(Guo),(?)如(Ru)上(Shang)例(Li)所(Suo)示(Shi)。(?)这(Zhe)是(Shi)多(Duo)态(Tai)性(Xing)的(De)体(Ti)现(Xian)。(?)

3、(?)因(Yin)为(Wei)匿(Ni)名(Ming)内(Nei)部(Bu)类(Lei)没(Mei)有(You)名(Ming)字(Zi),(?)所(Suo)以(Yi)无(Wu)法(Fa)进(Jin)行(Xing)向(Xiang)下(Xia)的(De)强(Qiang)制(Zhi)类(Lei)型(Xing)转(Zhuan)换(Huan),(?)持(Chi)有(You)对(Dui)一(Yi)个(Ge)匿(Ni)名(Ming)内(Nei)部(Bu)类(Lei)对(Dui)象(Xiang)引(Yin)用(Yong)的(De)变(Bian)量(Liang)类(Lei)型(Xing)一(Yi)定(Ding)是(Shi)它(Ta)的(De)直(Zhi)接(Jie)或(Huo)间(Jian)接(Jie)父(Fu)类(Lei)类(Lei)型(Xing)。(?)

51.在(Zai)Java中(Zhong),(?)为(Wei)什(Shi)么(Me)基(Ji)本(Ben)类(Lei)型(Xing)不(Bu)能(Neng)做(Zuo)为(Wei)HashMap的(De)键(Jian)值(Zhi),(?)而(?)只(Zhi)能(Neng)是(Shi)引(Yin)用(Yong)类(Lei)型(Xing),(?)把(Ba)引(Yin)用(Yong)类(Lei)型(Xing)做(Zuo)为(Wei)HashMap的(De)健(Jian)值(Zhi),(?)需(Xu)要(Yao)注(Zhu)意(Yi)哪(Na)些(Xie)地(Di)方(Fang)。(?)

(1) 在(Zai)Java中(Zhong)是(Shi)使(Shi)用(Yong)泛(Fan)型(Xing)来(Lai)约(Yue)束(Shu)HashMap中(Zhong)的(De)key和(He)value的(De)类(Lei)型(Xing)的(De),(?)即(Ji)HashMap< K, V>;(?)而(?)泛(Fan)型(Xing)在(Zai)Java的(De)规(Gui)定(Ding)中(Zhong)必(Bi)须(Xu)是(Shi)对(Dui)象(Xiang)Object类(Lei)型(Xing)的(De),(?)也(Ye)就(Jiu)是(Shi)说(Shuo)HashMap< K, V>可(Ke)以(Yi)理(Li)解(Jie)为(Wei)HashMap< Object, Object>,(?)很(Hen)显(Xian)然(Ran)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)不(Bu)是(Shi)Object类(Lei)型(Xing)的(De),(?)因(Yin)此(Ci)不(Bu)能(Neng)作(Zuo)为(Wei)键(Jian)值(Zhi),(?)只(Zhi)能(Neng)是(Shi)引(Yin)用(Yong)类(Lei)型(Xing)。(?)虽(Sui)然(Ran)我(Wo)们(Men)在(Zai)HashMap中(Zhong)可(Ke)以(Yi)这(Zhe)样(Yang)添(Tian)加(Jia)数(Shu)据(Ju):(?)“(?)map.put(1, “(?)Java”(?));(?)”(?),(?)但(Dan)实(Shi)际(Ji)上(Shang)是(Shi)将(Jiang)其(Qi)中(Zhong)的(De)key值(Zhi)1进(Jin)行(Xing)了(Liao)自(Zi)动(Dong)装(Zhuang)箱(Xiang)操(Cao)作(Zuo),(?)变(Bian)为(Wei)了(Liao)Integer类(Lei)型(Xing)。(?)

(1) 在(Zai)Java中(Zhong)是(Shi)使(Shi)用(Yong)泛(Fan)型(Xing)来(Lai)约(Yue)束(Shu)HashMap中(Zhong)的(De)key和(He)value的(De)类(Lei)型(Xing)的(De),(?)即(Ji)HashMap< K, V>;(?)而(?)泛(Fan)型(Xing)在(Zai)Java的(De)规(Gui)定(Ding)中(Zhong)必(Bi)须(Xu)是(Shi)对(Dui)象(Xiang)Object类(Lei)型(Xing)的(De),(?)也(Ye)就(Jiu)是(Shi)说(Shuo)HashMap< K, V>可(Ke)以(Yi)理(Li)解(Jie)为(Wei)HashMap< Object, Object>,(?)很(Hen)显(Xian)然(Ran)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)不(Bu)是(Shi)Object类(Lei)型(Xing)的(De),(?)因(Yin)此(Ci)不(Bu)能(Neng)作(Zuo)为(Wei)键(Jian)值(Zhi),(?)只(Zhi)能(Neng)是(Shi)引(Yin)用(Yong)类(Lei)型(Xing)。(?)虽(Sui)然(Ran)我(Wo)们(Men)在(Zai)HashMap中(Zhong)可(Ke)以(Yi)这(Zhe)样(Yang)添(Tian)加(Jia)数(Shu)据(Ju):(?)“(?)map.put(1, “(?)Java”(?));(?)”(?),(?)但(Dan)实(Shi)际(Ji)上(Shang)是(Shi)将(Jiang)其(Qi)中(Zhong)的(De)key值(Zhi)1进(Jin)行(Xing)了(Liao)自(Zi)动(Dong)装(Zhuang)箱(Xiang)操(Cao)作(Zuo),(?)变(Bian)为(Wei)了(Liao)Integer类(Lei)型(Xing)。(?)

52.简(Jian)述(Shu)Java中(Zhong)如(Ru)何(He)实(Shi)现(Xian)多(Duo)态(Tai)

实(Shi)现(Xian)多(Duo)态(Tai)有(You)三(San)个(Ge)前(Qian)提(Ti)条(Tiao)件(Jian):(?)

1、(?) 继(Ji)承(Cheng)的(De)存(Cun)在(Zai);(?)((?)继(Ji)承(Cheng)是(Shi)多(Duo)态(Tai)的(De)基(Ji)础(Chu),(?)没(Mei)有(You)继(Ji)承(Cheng)就(Jiu)没(Mei)有(You)多(Duo)态(Tai))(?)。(?)

2、(?)子(Zi)类(Lei)重(Zhong)写(Xie)父(Fu)类(Lei)的(De)方(Fang)法(Fa)。(?)((?)多(Duo)态(Tai)下(Xia)会(Hui)调(Diao)用(Yong)子(Zi)类(Lei)重(Zhong)写(Xie)后(Hou)的(De)方(Fang)法(Fa))(?)。(?)

3、(?)父(Fu)类(Lei)引(Yin)用(Yong)变(Bian)量(Liang)指(Zhi)向(Xiang)子(Zi)类(Lei)对(Dui)象(Xiang)。(?)((?)涉(She)及(Ji)子(Zi)类(Lei)到(Dao)父(Fu)类(Lei)的(De)类(Lei)型(Xing)转(Zhuan)换(Huan))(?)。(?)

最(Zui)后(Hou)使(Shi)用(Yong)父(Fu)类(Lei)的(De)引(Yin)用(Yong)变(Bian)量(Liang)调(Diao)用(Yong)子(Zi)类(Lei)重(Zhong)写(Xie)的(De)方(Fang)法(Fa)即(Ji)可(Ke)实(Shi)现(Xian)多(Duo)态(Tai)。(?)

53.以(Yi)下(Xia)对(Dui)继(Ji)承(Cheng)的(De)描(Miao)述(Shu)锚(Mao)误(Wu)的(De)是(Shi) ()
A Java中(Zhong)的(De)继(Ji)承(Cheng)允(Yun)许(Xu)一(Yi)个(Ge)子(Zi)类(Lei)继(Ji)承(Cheng)多(Duo)个(Ge)父(Fu)类(Lei)
B. 父(Fu)类(Lei)更(Geng)具(Ju)有(You)通(Tong)用(Yong)性(Xing),(?)子(Zi)类(Lei)更(Geng)具(Ju)体(Ti)
C. Java中(Zhong)的(De)继(Ji)承(Cheng)存(Cun)在(Zai)着(Zhuo)传(Chuan)递(Di)性(Xing)
D. 当(Dang)实(Shi)例(Li)化(Hua)子(Zi)类(Lei)时(Shi)会(Hui)递(Di)归(Gui)调(Diao)用(Yong)父(Fu)类(Lei)中(Zhong)的(De)构(Gou)造(Zao)方(Fang)法(Fa)
答(Da)案(An):(?)A
分(Fen)析(Xi):(?)Java是(Shi)单(Dan)继(Ji)承(Cheng)的(De),(?)一(Yi)个(Ge)类(Lei)只(Zhi)能(Neng)继(Ji)承(Cheng)一(Yi)个(Ge)父(Fu)类(Lei)。(?)
54.Java 中(Zhong) Math.random((?))(?)/Math.random((?))(?)值(Zhi)为(Wei)?(?)

54.Java 中(Zhong) Math.random((?))(?)/Math.random((?))(?)值(Zhi)为(Wei)?(?)

如(Ru)果(Guo)除(Chu)数(Shu)与(Yu)被(Bei)除(Chu)数(Shu)均(Jun)为(Wei)0.0的(De)话(Hua),(?)则(Ze)运(Yun)行(Xing)结(Jie)果(Guo)为(Wei)NaN((?)Not a Number的(De)简(Jian)写(Xie))(?),(?)计(Ji)算(Suan)错(Cuo)误(Wu)。(?)

55.Java中(Zhong),(?)如(Ru)果(Guo)Manager是(Shi)Employee的(De)子(Zi)类(Lei),(?)那(Na)么(Me)Pair是(Shi)Pair的(De)子(Zi)类(Lei)吗(Ma)?(?)

不(Bu)是(Shi),(?)两(Liang)者(Zhe)没(Mei)有(You)任(Ren)何(He)关(Guan)联(Lian);(?)

Pair是(Shi)单(Dan)独(Du)的(De)类(Lei),(?)只(Zhi)不(Bu)过(Guo)用(Yong)不(Bu)同(Tong)类(Lei)型(Xing)的(De)参(Can)数(Shu)((?)泛(Fan)型(Xing))(?)进(Jin)行(Xing)了(Liao)相(Xiang)应(Ying)的(De)实(Shi)例(Li)化(Hua)而(?)已(Yi);(?)所(Suo)以(Yi),(?)Pair< Manager>和(He)Pair< Employee>不(Bu)是(Shi)子(Zi)类(Lei)的(De)关(Guan)系(Xi)。(?)

56.接(Jie)口(Kou)和(He)抽(Chou)象(Xiang)类(Lei)的(De)区(Qu)别(Bie)

56.接(Jie)口(Kou)和(He)抽(Chou)象(Xiang)类(Lei)的(De)区(Qu)别(Bie)

抽(Chou)象(Xiang)类(Lei)和(He)接(Jie)口(Kou)均(Jun)包(Bao)含(Han)抽(Chou)象(Xiang)方(Fang)法(Fa),(?)类(Lei)必(Bi)须(Xu)实(Shi)现(Xian)所(Suo)有(You)的(De)抽(Chou)象(Xiang)方(Fang)法(Fa),(?)否(Fou)则(Ze)是(Shi)抽(Chou)象(Xiang)类(Lei)

抽(Chou)象(Xiang)类(Lei)和(He)接(Jie)口(Kou)都(Du)不(Bu)能(Neng)实(Shi)例(Li)化(Hua),(?)他(Ta)们(Men)位(Wei)于(Yu)继(Ji)承(Cheng)树(Shu)的(De)顶(Ding)端(Duan),(?)用(Yong)来(Lai)被(Bei)其(Qi)他(Ta)类(Lei)继(Ji)承(Cheng)和(He)实(Shi)现(Xian)

两(Liang)者(Zhe)的(De)区(Qu)别(Bie)主(Zhu)要(Yao)体(Ti)现(Xian)在(Zai)两(Liang)方(Fang)面(Mian):(?)语(Yu)法(Fa)方(Fang)面(Mian)和(He)设(She)计(Ji)理(Li)念(Nian)方(Fang)面(Mian)

语(Yu)法(Fa)方(Fang)面(Mian)的(De)区(Qu)别(Bie)是(Shi)比(Bi)较(Jiao)低(Di)层(Ceng)次(Ci)的(De),(?)非(Fei)本(Ben)质(Zhi)的(De),(?)主(Zhu)要(Yao)表(Biao)现(Xian)在(Zai):(?)

接(Jie)口(Kou)中(Zhong)只(Zhi)能(Neng)定(Ding)义(Yi)全(Quan)局(Ju)静(Jing)态(Tai)常(Chang)量(Liang),(?)不(Bu)能(Neng)定(Ding)义(Yi)变(Bian)量(Liang)。(?)抽(Chou)象(Xiang)类(Lei)中(Zhong)可(Ke)以(Yi)定(Ding)义(Yi)常(Chang)量(Liang)和(He)变(Bian)量(Liang)。(?)

接(Jie)口(Kou)中(Zhong)所(Suo)有(You)的(De)方(Fang)法(Fa)都(Du)是(Shi)全(Quan)局(Ju)抽(Chou)象(Xiang)方(Fang)法(Fa)。(?)抽(Chou)象(Xiang)类(Lei)中(Zhong)可(Ke)以(Yi)有(You)0个(Ge)、(?)1个(Ge)或(Huo)多(Duo)个(Ge),(?)甚(Shen)至(Zhi)全(Quan)部(Bu)都(Du)是(Shi)抽(Chou)象(Xiang)方(Fang)法(Fa)。(?)

抽(Chou)象(Xiang)类(Lei)中(Zhong)可(Ke)以(Yi)有(You)构(Gou)造(Zao)方(Fang)法(Fa),(?)但(Dan)不(Bu)能(Neng)用(Yong)来(Lai)实(Shi)例(Li)化(Hua),(?)而(?)在(Zai)子(Zi)类(Lei)实(Shi)例(Li)化(Hua)是(Shi)执(Zhi)行(Xing),(?)完(Wan)成(Cheng)属(Shu)于(Yu)抽(Chou)象(Xiang)类(Lei)的(De)初(Chu)始(Shi)化(Hua)操(Cao)作(Zuo)。(?)接(Jie)口(Kou)中(Zhong)不(Bu)能(Neng)定(Ding)义(Yi)构(Gou)造(Zao)方(Fang)法(Fa)。(?)

一(Yi)个(Ge)类(Lei)只(Zhi)能(Neng)有(You)一(Yi)个(Ge)直(Zhi)接(Jie)父(Fu)类(Lei)((?)可(Ke)以(Yi)是(Shi)抽(Chou)象(Xiang)类(Lei))(?),(?)但(Dan)可(Ke)以(Yi)充(Chong)实(Shi)实(Shi)现(Xian)多(Duo)个(Ge)接(Jie)口(Kou)。(?)一(Yi)个(Ge)类(Lei)使(Shi)用(Yong)extends来(Lai)继(Ji)承(Cheng)抽(Chou)象(Xiang)类(Lei),(?)使(Shi)用(Yong)implements来(Lai)实(Shi)现(Xian)接(Jie)口(Kou)。(?)

一(Yi)个(Ge)类(Lei)只(Zhi)能(Neng)有(You)一(Yi)个(Ge)直(Zhi)接(Jie)父(Fu)类(Lei)((?)可(Ke)以(Yi)是(Shi)抽(Chou)象(Xiang)类(Lei))(?),(?)但(Dan)可(Ke)以(Yi)充(Chong)实(Shi)实(Shi)现(Xian)多(Duo)个(Ge)接(Jie)口(Kou)。(?)一(Yi)个(Ge)类(Lei)使(Shi)用(Yong)extends来(Lai)继(Ji)承(Cheng)抽(Chou)象(Xiang)类(Lei),(?)使(Shi)用(Yong)implements来(Lai)实(Shi)现(Xian)接(Jie)口(Kou)。(?)

抽(Chou)象(Xiang)类(Lei)体(Ti)现(Xian)了(Liao)一(Yi)种(Zhong)继(Ji)承(Cheng)关(Guan)系(Xi),(?)目(Mu)的(De)是(Shi)复(Fu)用(Yong)代(Dai)码(Ma),(?)抽(Chou)象(Xiang)类(Lei)中(Zhong)定(Ding)义(Yi)了(Liao)各(Ge)个(Ge)子(Zi)类(Lei)的(De)相(Xiang)同(Tong)代(Dai)码(Ma),(?)可(Ke)以(Yi)认(Ren)为(Wei)父(Fu)类(Lei)是(Shi)一(Yi)个(Ge)实(Shi)现(Xian)了(Liao)部(Bu)分(Fen)功(Gong)能(Neng)的(De)“(?)中(Zhong)间(Jian)产(Chan)品(Pin)”(?),(?)而(?)子(Zi)类(Lei)是(Shi)“(?)最(Zui)终(Zhong)产(Chan)品(Pin)”(?)。(?)父(Fu)类(Lei)和(He)子(Zi)类(Lei)之(Zhi)间(Jian)必(Bi)须(Xu)存(Cun)在(Zai)“(?)is-a”(?)的(De)关(Guan)系(Xi),(?)即(Ji)父(Fu)类(Lei)和(He)子(Zi)类(Lei)在(Zai)概(Gai)念(Nian)本(Ben)质(Zhi)上(Shang)应(Ying)该(Gai)是(Shi)相(Xiang)同(Tong)的(De)。(?)

接(Jie)口(Kou)并(Bing)不(Bu)要(Yao)求(Qiu)实(Shi)现(Xian)类(Lei)和(He)接(Jie)口(Kou)在(Zai)概(Gai)念(Nian)本(Ben)质(Zhi)上(Shang)一(Yi)致(Zhi)的(De),(?)仅(Jin)仅(Jin)是(Shi)实(Shi)现(Xian)了(Liao)接(Jie)口(Kou)定(Ding)义(Yi)的(De)约(Yue)定(Ding)或(Huo)者(Zhe)能(Neng)力(Li)而(?)已(Yi)。(?)接(Jie)口(Kou)定(Ding)义(Yi)了(Liao)“(?)做(Zuo)什(Shi)么(Me)”(?),(?)而(?)实(Shi)现(Xian)类(Lei)负(Fu)责(Ze)完(Wan)成(Cheng)“(?)怎(Zen)么(Me)做(Zuo)”(?),(?)体(Ti)现(Xian)了(Liao)功(Gong)能(Neng)((?)规(Gui)范(Fan))(?)和(He)实(Shi)现(Xian)分(Fen)离(Li)的(De)原(Yuan)则(Ze)。(?)接(Jie)口(Kou)和(He)实(Shi)现(Xian)之(Zhi)间(Jian)可(Ke)以(Yi)认(Ren)为(Wei)是(Shi)一(Yi)种(Zhong)“(?)has-a的(De)关(Guan)系(Xi)”(?)

57.同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai)和(He)同(Tong)步(Bu)方(Fang)法(Fa)有(You)什(Shi)么(Me)区(Qu)别(Bie)

相(Xiang)同(Tong)点(Dian):(?)

同(Tong)步(Bu)方(Fang)法(Fa)就(Jiu)是(Shi)在(Zai)方(Fang)法(Fa)前(Qian)加(Jia)关(Guan)键(Jian)字(Zi)synchronized,(?)然(Ran)后(Hou)被(Bei)同(Tong)步(Bu)的(De)方(Fang)法(Fa)一(Yi)次(Ci)只(Zhi)能(Neng)有(You)一(Yi)个(Ge)线(Xian)程(Cheng)进(Jin)入(Ru),(?)其(Qi)他(Ta)线(Xian)程(Cheng)等(Deng)待(Dai)。(?)而(?)同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai)则(Ze)是(Shi)在(Zai)方(Fang)法(Fa)内(Nei)部(Bu)使(Shi)用(Yong)大(Da)括(Kuo)号(Hao)使(Shi)得(De)一(Yi)个(Ge)代(Dai)码(Ma)块(Kuai)得(De)到(Dao)同(Tong)步(Bu)。(?)同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai)会(Hui)有(You)一(Yi)个(Ge)同(Tong)步(Bu)的(De)“(?)目(Mu)标(Biao)”(?),(?)使(Shi)得(De)同(Tong)步(Bu)块(Kuai)更(Geng)加(Jia)灵(Ling)活(Huo)一(Yi)些(Xie)((?)同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai)可(Ke)以(Yi)通(Tong)过(Guo)“(?)目(Mu)标(Biao)”(?)决(Jue)定(Ding)需(Xu)要(Yao)锁(Suo)定(Ding)的(De)对(Dui)象(Xiang))(?)。(?)

一(Yi)般(Ban)情(Qing)况(Kuang)下(Xia),(?)如(Ru)果(Guo)此(Ci)“(?)目(Mu)标(Biao)”(?)为(Wei)this,(?)同(Tong)步(Bu)方(Fang)法(Fa)和(He)代(Dai)码(Ma)块(Kuai)没(Mei)有(You)太(Tai)大(Da)的(De)区(Qu)别(Bie)。(?)

区(Qu)别(Bie):(?)

同(Tong)步(Bu)方(Fang)法(Fa)直(Zhi)接(Jie)在(Zai)方(Fang)法(Fa)上(Shang)加(Jia)synchronized实(Shi)现(Xian)加(Jia)锁(Suo),(?)同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai)则(Ze)在(Zai)方(Fang)法(Fa)内(Nei)部(Bu)加(Jia)锁(Suo)。(?)很(Hen)明(Ming)显(Xian),(?)同(Tong)步(Bu)方(Fang)法(Fa)锁(Suo)的(De)范(Fan)围(Wei)比(Bi)较(Jiao)大(Da),(?)而(?)同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai)范(Fan)围(Wei)要(Yao)小(Xiao)点(Dian)。(?)一(Yi)般(Ban)同(Tong)步(Bu)的(De)范(Fan)围(Wei)越(Yue)大(Da),(?)性(Xing)能(Neng)就(Jiu)越(Yue)差(Cha)。(?)所(Suo)以(Yi)一(Yi)般(Ban)需(Xu)要(Yao)加(Jia)锁(Suo)进(Jin)行(Xing)同(Tong)步(Bu)的(De)时(Shi)候(Hou),(?)范(Fan)围(Wei)越(Yue)小(Xiao)越(Yue)好(Hao),(?)这(Zhe)样(Yang)性(Xing)能(Neng)更(Geng)好(Hao)。(?)

58.静(Jing)态(Tai)内(Nei)部(Bu)类(Lei)和(He)内(Nei)部(Bu)类(Lei)有(You)什(Shi)么(Me)区(Qu)别(Bie)

静(Jing)态(Tai)内(Nei)部(Bu)类(Lei)不(Bu)需(Xu)要(Yao)有(You)指(Zhi)向(Xiang)外(Wai)部(Bu)类(Lei)的(De)引(Yin)用(Yong)。(?)但(Dan)非(Fei)静(Jing)态(Tai)内(Nei)部(Bu)类(Lei)需(Xu)要(Yao)持(Chi)有(You)对(Dui)外(Wai)部(Bu)类(Lei)的(De)引(Yin)用(Yong)。(?)

静(Jing)态(Tai)内(Nei)部(Bu)类(Lei)可(Ke)以(Yi)有(You)静(Jing)态(Tai)成(Cheng)员(Yuan)(方(Fang)法(Fa),(?)属(Shu)性(Xing)),(?)而(?)非(Fei)静(Jing)态(Tai)内(Nei)部(Bu)类(Lei)则(Ze)不(Bu)能(Neng)有(You)静(Jing)态(Tai)成(Cheng)员(Yuan)(方(Fang)法(Fa),(?)属(Shu)性(Xing))。(?)

非(Fei)静(Jing)态(Tai)内(Nei)部(Bu)类(Lei)能(Neng)够(Gou)访(Fang)问(Wen)外(Wai)部(Bu)类(Lei)的(De)静(Jing)态(Tai)和(He)非(Fei)静(Jing)态(Tai)成(Cheng)员(Yuan)。(?)静(Jing)态(Tai)内(Nei)部(Bu)类(Lei)不(Bu)能(Neng)访(Fang)问(Wen)外(Wai)部(Bu)类(Lei)的(De)非(Fei)静(Jing)态(Tai)成(Cheng)员(Yuan),(?)只(Zhi)能(Neng)访(Fang)问(Wen)外(Wai)部(Bu)类(Lei)的(De)静(Jing)态(Tai)成(Cheng)员(Yuan)。(?)

实(Shi)例(Li)化(Hua)方(Fang)式(Shi)不(Bu)同(Tong):(?)

1) 静(Jing)态(Tai)内(Nei)部(Bu)类(Lei):(?)不(Bu)依(Yi)赖(Lai)于(Yu)外(Wai)部(Bu)类(Lei)的(De)实(Shi)例(Li),(?)直(Zhi)接(Jie)实(Shi)例(Li)化(Hua)内(Nei)部(Bu)类(Lei)对(Dui)象(Xiang)

2) 非(Fei)静(Jing)态(Tai)内(Nei)部(Bu)类(Lei):(?)通(Tong)过(Guo)外(Wai)部(Bu)类(Lei)的(De)对(Dui)象(Xiang)实(Shi)例(Li)生(Sheng)成(Cheng)内(Nei)部(Bu)类(Lei)对(Dui)象(Xiang)

59.反(Fan)射(She)的(De)概(Gai)念(Nian)与(Yu)作(Zuo)用(Yong)

反(Fan)射(She)的(De)概(Gai)念(Nian):(?)

反(Fan)射(She),(?)一(Yi)种(Zhong)计(Ji)算(Suan)机(Ji)处(Chu)理(Li)方(Fang)式(Shi)。(?)是(Shi)程(Cheng)序(Xu)可(Ke)以(Yi)访(Fang)问(Wen)、(?)检(Jian)测(Ce)和(He)修(Xiu)改(Gai)它(Ta)本(Ben)身(Shen)状(Zhuang)态(Tai)或(Huo)行(Xing)为(Wei)的(De)一(Yi)种(Zhong)能(Neng)力(Li)。(?)

Java反(Fan)射(She)可(Ke)以(Yi)于(Yu)运(Yun)行(Xing)时(Shi)加(Jia)载(Zai),探(Tan)知(Zhi)和(He)使(Shi)用(Yong)编(Bian)译(Yi)期(Qi)间(Jian)完(Wan)全(Quan)未(Wei)知(Zhi)的(De)类(Lei).

程(Cheng)序(Xu)在(Zai)运(Yun)行(Xing)状(Zhuang)态(Tai)中(Zhong), 可(Ke)以(Yi)动(Dong)态(Tai)加(Jia)载(Zai)一(Yi)个(Ge)只(Zhi)有(You)名(Ming)称(Cheng)的(De)类(Lei), 对(Dui)于(Yu)任(Ren)意(Yi)一(Yi)个(Ge)已(Yi)经(Jing)加(Jia)载(Zai)的(De)类(Lei),都(Du)能(Neng)够(Gou)知(Zhi)道(Dao)这(Zhe)个(Ge)类(Lei)的(De)所(Suo)有(You)属(Shu)性(Xing)和(He)方(Fang)法(Fa); 对(Dui)于(Yu)任(Ren)意(Yi)一(Yi)个(Ge)对(Dui)象(Xiang),都(Du)能(Neng)调(Diao)用(Yong)他(Ta)的(De)任(Ren)意(Yi)一(Yi)个(Ge)方(Fang)法(Fa)和(He)属(Shu)性(Xing);

加(Jia)载(Zai)完(Wan)类(Lei)之(Zhi)后(Hou), 在(Zai)堆(Dui)内(Nei)存(Cun)中(Zhong)会(Hui)产(Chan)生(Sheng)一(Yi)个(Ge)Class类(Lei)型(Xing)的(De)对(Dui)象(Xiang)(一(Yi)个(Ge)类(Lei)只(Zhi)有(You)一(Yi)个(Ge)Class对(Dui)象(Xiang)), 这(Zhe)个(Ge)对(Dui)象(Xiang)包(Bao)含(Han)了(Liao)完(Wan)整(Zheng)的(De)类(Lei)的(De)结(Jie)构(Gou)信(Xin)息(Xi),而(?)且(Qie)这(Zhe)个(Ge)Class对(Dui)象(Xiang)就(Jiu)像(Xiang)一(Yi)面(Mian)镜(Jing)子(Zi),透(Tou)过(Guo)这(Zhe)个(Ge)镜(Jing)子(Zi)看(Kan)到(Dao)类(Lei)的(De)结(Jie)构(Gou),所(Suo)以(Yi)被(Bei)称(Cheng)之(Zhi)为(Wei):反(Fan)射(She).

java反(Fan)射(She)使(Shi)得(De)我(Wo)们(Men)可(Ke)以(Yi)在(Zai)程(Cheng)序(Xu)运(Yun)行(Xing)时(Shi)动(Dong)态(Tai)加(Jia)载(Zai)一(Yi)个(Ge)类(Lei),(?)动(Dong)态(Tai)获(Huo)取(Qu)类(Lei)的(De)基(Ji)本(Ben)信(Xin)息(Xi)和(He)定(Ding)义(Yi)的(De)方(Fang)法(Fa),构(Gou)造(Zao)函(Han)数(Shu),域(Yu)等(Deng)。(?)

除(Chu)了(Liao)检(Jian)阅(Yue)类(Lei)信(Xin)息(Xi)外(Wai),(?)还(Huan)可(Ke)以(Yi)动(Dong)态(Tai)创(Chuang)建(Jian)类(Lei)的(De)实(Shi)例(Li),(?)执(Zhi)行(Xing)类(Lei)实(Shi)例(Li)的(De)方(Fang)法(Fa),(?)获(Huo)取(Qu)类(Lei)实(Shi)例(Li)的(De)域(Yu)值(Zhi)。(?)反(Fan)射(She)使(Shi)java这(Zhe)种(Zhong)静(Jing)态(Tai)语(Yu)言(Yan)有(You)了(Liao)动(Dong)态(Tai)的(De)特(Te)性(Xing)。(?)

反(Fan)射(She)的(De)作(Zuo)用(Yong):(?)

通(Tong)过(Guo)反(Fan)射(She)可(Ke)以(Yi)使(Shi)程(Cheng)序(Xu)代(Dai)码(Ma)访(Fang)问(Wen)装(Zhuang)载(Zai)到(Dao)JVM 中(Zhong)的(De)类(Lei)的(De)内(Nei)部(Bu)信(Xin)息(Xi)

1) 获(Huo)取(Qu)已(Yi)装(Zhuang)载(Zai)类(Lei)的(De)属(Shu)性(Xing)信(Xin)息(Xi)

2) 获(Huo)取(Qu)已(Yi)装(Zhuang)载(Zai)类(Lei)的(De)方(Fang)法(Fa)

3) 获(Huo)取(Qu)已(Yi)装(Zhuang)载(Zai)类(Lei)的(De)构(Gou)造(Zao)方(Fang)法(Fa)信(Xin)息(Xi)

反(Fan)射(She)的(De)优(You)点(Dian):(?)

增(Zeng)加(Jia)程(Cheng)序(Xu)的(De)灵(Ling)活(Huo)性(Xing)。(?)

如(Ru)struts中(Zhong)。(?)请(Qing)求(Qiu)的(De)派(Pai)发(Fa)控(Kong)制(Zhi)。(?)

当(Dang)请(Qing)求(Qiu)来(Lai)到(Dao)时(Shi)。(?)struts通(Tong)过(Guo)查(Cha)询(Xun)配(Pei)置(Zhi)文(Wen)件(Jian)。(?)找(Zhao)到(Dao)该(Gai)请(Qing)求(Qiu)对(Dui)应(Ying)的(De)action。(?)已(Yi)经(Jing)方(Fang)法(Fa)。(?)

然(Ran)后(Hou)通(Tong)过(Guo)反(Fan)射(She)实(Shi)例(Li)化(Hua)action。(?)并(Bing)调(Diao)用(Yong)响(Xiang)应(Ying)method。(?)

如(Ru)果(Guo)不(Bu)适(Shi)用(Yong)反(Fan)射(She),(?)那(Na)么(Me)你(Ni)就(Jiu)只(Zhi)能(Neng)写(Xie)死(Si)到(Dao)代(Dai)码(Ma)里(Li)了(Liao)。(?)

所(Suo)以(Yi)说(Shuo),(?)一(Yi)个(Ge)灵(Ling)活(Huo),(?)一(Yi)个(Ge)不(Bu)灵(Ling)活(Huo)。(?)

很(Hen)少(Shao)情(Qing)况(Kuang)下(Xia)是(Shi)非(Fei)用(Yong)反(Fan)射(She)不(Bu)可(Ke)的(De)。(?)大(Da)多(Duo)数(Shu)情(Qing)况(Kuang)下(Xia)反(Fan)射(She)是(Shi)为(Wei)了(Liao)提(Ti)高(Gao)程(Cheng)序(Xu)的(De)灵(Ling)活(Huo)性(Xing)。(?)因(Yin)此(Ci)一(Yi)般(Ban)框(Kuang)架(Jia)中(Zhong)使(Shi)用(Yong)较(Jiao)多(Duo)。(?)因(Yin)为(Wei)框(Kuang)架(Jia)要(Yao)适(Shi)用(Yong)更(Geng)多(Duo)的(De)情(Qing)况(Kuang)。(?)对(Dui)灵(Ling)活(Huo)性(Xing)要(Yao)求(Qiu)较(Jiao)高(Gao)。(?)

60.提(Ti)供(Gong)Java存(Cun)取(Qu)数(Shu)据(Ju)库(Ku)能(Neng)力(Li)的(De)包(Bao)是(Shi)((?))(?)
A java.sql
B. java.awt
C. java.lang
D. java.swing
答(Da)案(An):(?)A
分(Fen)析(Xi):(?)
java.awt和(He)javax.swing两(Liang)个(Ge)包(Bao)是(Shi)图(Tu)形(Xing)用(Yong)户(Hu)界(Jie)面(Mian)编(Bian)程(Cheng)所(Suo)需(Xu)要(Yao)的(De)包(Bao);(?)
java.lang包(Bao)则(Ze)提(Ti)供(Gong)了(Liao)Java编(Bian)程(Cheng)中(Zhong)用(Yong)到(Dao)的(De)基(Ji)础(Chu)类(Lei)。(?)
61.下(Xia)列(Lie)运(Yun)算(Suan)符(Fu)合(He)法(Fa)的(De)是(Shi)((?))(?)((?)多(Duo)选(Xuan))(?)
A &&
B. <>
C. if
D. =
答(Da)案(An):(?)AD
分(Fen)析(Xi):(?)
&&是(Shi)逻(Luo)辑(Ji)运(Yun)算(Suan)符(Fu)中(Zhong)的(De)短(Duan)路(Lu)与(Yu);(?)
<>表(Biao)示(Shi)不(Bu)等(Deng)于(Yu),(?)但(Dan)是(Shi)Java中(Zhong)不(Bu)能(Neng)这(Zhe)么(Me)使(Shi)用(Yong),(?)应(Ying)该(Gai)是(Shi)!=;(?)
if不(Bu)是(Shi)运(Yun)算(Suan)符(Fu);(?)
=是(Shi)赋(Fu)值(Zhi)运(Yun)算(Suan)符(Fu)。(?)

62.执(Zhi)行(Xing)如(Ru)下(Xia)程(Cheng)序(Xu)代(Dai)码(Ma),(?)c的(De)值(Zhi)打(Da)印(Yin)出(Chu)来(Lai)是(Shi)((?))(?)
public class Test1 {
public static void main(String[] args) {
int a = 0;
int c = 0;
do{
--c;
a = a - 1;
} while (a > 0);
System.out.println(c);
}
}
A 0
B. 1
C. -1
D. 死(Si)循(Xun)环(Huan)
答(Da)案(An):(?)C
分(Fen)析(Xi):(?)
do-while循(Xun)环(Huan)的(De)特(Te)点(Dian)是(Shi)先(Xian)执(Zhi)行(Xing)后(Hou)判(Pan)断(Duan),(?)所(Suo)以(Yi)代(Dai)码(Ma)先(Xian)执(Zhi)行(Xing)--c操(Cao)作(Zuo),(?)得(De)到(Dao)c为(Wei)-1,(?)之(Zhi)后(Hou)执(Zhi)行(Xing)a=a-1的(De)操(Cao)作(Zuo),(?)得(De)到(Dao)a为(Wei)-1,(?)然(Ran)后(Hou)判(Pan)断(Duan)a是(Shi)否(Fou)大(Da)于(Yu)0,(?)判(Pan)断(Duan)条(Tiao)件(Jian)不(Bu)成(Cheng)立(Li),(?)退(Tui)出(Chu)循(Xun)环(Huan),(?)输(Shu)出(Chu)c为(Wei)-1。(?)
63.下(Xia)列(Lie)哪(Na)一(Yi)种(Zhong)叙(Xu)述(Shu)是(Shi)正(Zheng)确(Que)的(De)((?))(?)
A abstract修(Xiu)饰(Shi)符(Fu)可(Ke)修(Xiu)饰(Shi)字(Zi)段(Duan),(?)方(Fang)法(Fa)和(He)类(Lei)
B. 抽(Chou)象(Xiang)方(Fang)法(Fa)的(De)body部(Bu)分(Fen)必(Bi)须(Xu)用(Yong)一(Yi)对(Dui)大(Da)括(Kuo)号(Hao){}包(Bao)住(Zhu)
C. 声(Sheng)明(Ming)抽(Chou)象(Xiang)方(Fang)法(Fa),(?)大(Da)括(Kuo)号(Hao)可(Ke)有(You)可(Ke)无(Wu)
D. 声(Sheng)明(Ming)抽(Chou)象(Xiang)方(Fang)法(Fa)不(Bu)可(Ke)写(Xie)出(Chu)大(Da)括(Kuo)号(Hao)
答(Da)案(An):(?)D
分(Fen)析(Xi):(?)
abstract只(Zhi)能(Neng)修(Xiu)饰(Shi)方(Fang)法(Fa)和(He)类(Lei),(?)不(Bu)能(Neng)修(Xiu)饰(Shi)字(Zi)段(Duan);(?)
抽(Chou)象(Xiang)方(Fang)法(Fa)不(Bu)能(Neng)有(You)方(Fang)法(Fa)体(Ti),(?)即(Ji)没(Mei)有(You){};(?)
同(Tong)B。(?)
64.下(Xia)列(Lie)语(Yu)句(Ju)正(Zheng)确(Que)的(De)是(Shi)((?))(?)
A 形(Xing)式(Shi)参(Can)数(Shu)可(Ke)被(Bei)视(Shi)为(Wei)local Variable
B. 形(Xing)式(Shi)参(Can)数(Shu)可(Ke)被(Bei)视(Shi)为(Wei)local Variable
C. 形(Xing)式(Shi)参(Can)数(Shu)可(Ke)被(Bei)所(Suo)有(You)的(De)字(Zi)段(Duan)修(Xiu)饰(Shi)符(Fu)修(Xiu)饰(Shi)
D. 形(Xing)式(Shi)参(Can)数(Shu)为(Wei)方(Fang)法(Fa)被(Bei)调(Diao)用(Yong)时(Shi),(?)真(Zhen)正(Zheng)被(Bei)传(Chuan)递(Di)的(De)参(Can)数(Shu)
答(Da)案(An):(?)A
分(Fen)析(Xi):(?)
local Variable为(Wei)局(Ju)部(Bu)变(Bian)量(Liang),(?)形(Xing)参(Can)和(He)局(Ju)部(Bu)变(Bian)量(Liang)一(Yi)样(Yang)都(Du)只(Zhi)有(You)在(Zai)方(Fang)法(Fa)内(Nei)才(Cai)会(Hui)发(Fa)生(Sheng)作(Zuo)用(Yong),(?)也(Ye)只(Zhi)能(Neng)在(Zai)方(Fang)法(Fa)中(Zhong)使(Shi)用(Yong),(?)不(Bu)会(Hui)在(Zai)方(Fang)法(Fa)外(Wai)可(Ke)见(Jian);(?)
对(Dui)于(Yu)形(Xing)式(Shi)参(Can)数(Shu)只(Zhi)能(Neng)用(Yong)final修(Xiu)饰(Shi)符(Fu),(?)其(Qi)它(Ta)任(Ren)何(He)修(Xiu)饰(Shi)符(Fu)都(Du)会(Hui)引(Yin)起(Qi)编(Bian)译(Yi)器(Qi)错(Cuo)误(Wu);(?)
真(Zhen)正(Zheng)被(Bei)传(Chuan)递(Di)的(De)参(Can)数(Shu)是(Shi)实(Shi)参(Can);(?)
形(Xing)式(Shi)参(Can)数(Shu)可(Ke)是(Shi)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)也(Ye)可(Ke)以(Yi)是(Shi)引(Yin)用(Yong)类(Lei)型(Xing)((?)对(Dui)象(Xiang))(?)。(?)
65.下(Xia)列(Lie)哪(Na)种(Zhong)说(Shuo)法(Fa)是(Shi)正(Zheng)确(Que)的(De)((?))(?)
A 实(Shi)例(Li)方(Fang)法(Fa)可(Ke)直(Zhi)接(Jie)调(Diao)用(Yong)超(Chao)类(Lei)的(De)实(Shi)例(Li)方(Fang)法(Fa)
B. 实(Shi)例(Li)方(Fang)法(Fa)可(Ke)直(Zhi)接(Jie)调(Diao)用(Yong)超(Chao)类(Lei)的(De)类(Lei)方(Fang)法(Fa)
C. 实(Shi)例(Li)方(Fang)法(Fa)可(Ke)直(Zhi)接(Jie)调(Diao)用(Yong)其(Qi)他(Ta)类(Lei)的(De)实(Shi)例(Li)方(Fang)法(Fa)
D. 实(Shi)例(Li)方(Fang)法(Fa)可(Ke)直(Zhi)接(Jie)调(Diao)用(Yong)本(Ben)类(Lei)的(De)类(Lei)方(Fang)法(Fa)
答(Da)案(An):(?)D
分(Fen)析(Xi):(?)
实(Shi)例(Li)方(Fang)法(Fa)不(Bu)可(Ke)直(Zhi)接(Jie)调(Diao)用(Yong)超(Chao)类(Lei)的(De)私(Si)有(You)实(Shi)例(Li)方(Fang)法(Fa);(?)
实(Shi)例(Li)方(Fang)法(Fa)不(Bu)可(Ke)直(Zhi)接(Jie)调(Diao)用(Yong)超(Chao)类(Lei)的(De)私(Si)有(You)的(De)类(Lei)方(Fang)法(Fa);(?)
要(Yao)看(Kan)访(Fang)问(Wen)权(Quan)限(Xian)。(?)
66.Java程(Cheng)序(Xu)的(De)种(Zhong)类(Lei)有(You)((?))(?)(多(Duo)选(Xuan))
A 类(Lei) (Class)
B. Applet
C. Application
D. Servlet
答(Da)案(An):(?)BCD
分(Fen)析(Xi):(?)
是(Shi)Java中(Zhong)的(De)类(Lei),(?)不(Bu)是(Shi)程(Cheng)序(Xu);(?)
内(Nei)嵌(Qian)于(Yu)Web文(Wen)件(Jian)中(Zhong),(?)由(You)浏(Liu)览(Lan)器(Qi)来(Lai)观(Guan)看(Kan)的(De)Applet;(?)
可(Ke)独(Du)立(Li)运(Yun)行(Xing)的(De) Application;(?)
服(Fu)务(Wu)器(Qi)端(Duan)的(De) Servlet。(?)
67.下(Xia)列(Lie)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)有(You)((?))(?)(多(Duo)选(Xuan))
A 环(Huan)境(Jing)变(Bian)量(Liang)可(Ke)在(Zai)编(Bian)译(Yi)source code时(Shi)指(Zhi)定(Ding)
B. 在(Zai)译(Yi)程(Cheng)序(Xu)时(Shi),(?)所(Suo)指(Zhi)定(Ding)的(De)环(Huan)境(Jing)变(Bian)置(Zhi)不(Bu)包(Bao)括(Kuo)class path
C. javac —(?)次(Ci)可(Ke)同(Tong)时(Shi)编(Bian)译(Yi)数(Shu)个(Ge)Java 源(Yuan)文(Wen)件(Jian)
D. javac.exe能(Neng)指(Zhi)定(Ding)编(Bian)译(Yi)结(Jie)果(Guo)要(Yao)置(Zhi)于(Yu)哪(Na)个(Ge)目(Mu)录(Lu)((?)directory)
答(Da)案(An):(?)BCD
分(Fen)析(Xi):(?)
环(Huan)境(Jing)变(Bian)量(Liang)一(Yi)般(Ban)都(Du)是(Shi)先(Xian)配(Pei)置(Zhi)好(Hao)再(Zai)编(Bian)译(Yi)源(Yuan)文(Wen)件(Jian)。(?)
68.下(Xia)列(Lie)标(Biao)识(Shi)符(Fu)不(Bu)合(He)法(Fa)的(De)有(You)((?))(?)(多(Duo)选(Xuan))
A new
B. $Usdollars
C. 1234
D. car.taxi
答(Da)案(An):(?)ACD
分(Fen)析(Xi):(?)
new是(Shi)Java的(De)关(Guan)键(Jian)字(Zi);(?)
C. 数(Shu)字(Zi)不(Bu)能(Neng)开(Kai)头(Tou);(?)
D. 不(Bu)能(Neng)有(You)“(?).”(?)。(?)
69.下(Xia)列(Lie)说(Shuo)法(Fa)错(Cuo)误(Wu)的(De)有(You)((?))(?)(多(Duo)选(Xuan))
A 数(Shu)组(Zu)是(Shi)—(?)种(Zhong)对(Dui)象(Xiang)
B. 数(Shu)组(Zu)属(Shu)于(Yu)一(Yi)种(Zhong)原(Yuan)生(Sheng)类(Lei)
C. int number[]=(31,23,33,43,35,63)
D. 数(Shu)组(Zu)的(De)大(Da)小(Xiao)可(Ke)以(Yi)任(Ren)意(Yi)改(Gai)变(Bian)
答(Da)案(An):(?)BCD
分(Fen)析(Xi):(?)
B. Java中(Zhong)的(De)原(Yuan)生(Sheng)类(Lei)((?)即(Ji)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing))(?)有(You)8种(Zhong),(?)但(Dan)不(Bu)包(Bao)括(Kuo)数(Shu)组(Zu);(?)
C. 语(Yu)法(Fa)错(Cuo)误(Wu),(?)应(Ying)该(Gai)“(?){·(?)·(?)·(?)}”(?),(?)而(?)不(Bu)是(Shi)“(?)(·(?)·(?)·(?))”(?);(?)
D. 数(Shu)组(Zu)的(De)长(Chang)度(Du)一(Yi)旦(Dan)确(Que)定(Ding)就(Jiu)不(Bu)能(Neng)修(Xiu)改(Gai)。(?)
70.不(Bu)能(Neng)用(Yong)来(Lai)修(Xiu)饰(Shi)interface的(De)有(You)((?))(?)(多(Duo)选(Xuan))
A private
B. public
C. protected
D. static
答(Da)案(An):(?)ACD
分(Fen)析(Xi):(?)
能(Neng)够(Gou)修(Xiu)饰(Shi)interface的(De)只(Zhi)有(You)public、(?)abstract以(Yi)及(Ji)默(Mo)认(Ren)的(De)三(San)种(Zhong)修(Xiu)饰(Shi)符(Fu)。(?)
71.下(Xia)列(Lie)正(Zheng)确(Que)的(De)有(You)((?))(?)(多(Duo)选(Xuan))
A call by value不(Bu)会(Hui)改(Gai)变(Bian)实(Shi)际(Ji)参(Can)数(Shu)的(De)数(Shu)值(Zhi)
B. call by reference能(Neng)改(Gai)变(Bian)实(Shi)际(Ji)参(Can)数(Shu)的(De)参(Can)考(Kao)地(Di)址(Zhi)
C. call by reference 不(Bu)能(Neng)改(Gai)变(Bian)实(Shi)际(Ji)参(Can)数(Shu)的(De)参(Can)考(Kao)地(Di)址(Zhi)
D. call by reference 能(Neng)改(Gai)变(Bian)实(Shi)际(Ji)参(Can)数(Shu)的(De)内(Nei)容(Rong)
答(Da)案(An):(?)ACD
分(Fen)析(Xi):(?)
Java中(Zhong)参(Can)数(Shu)的(De)传(Chuan)递(Di)有(You)两(Liang)种(Zhong),(?)一(Yi)种(Zhong)是(Shi)按(An)值(Zhi)传(Chuan)递(Di)((?)call by value:(?)传(Chuan)递(Di)的(De)是(Shi)具(Ju)体(Ti)的(De)值(Zhi),(?)如(Ru)基(Ji)础(Chu)数(Shu)据(Ju)类(Lei)型(Xing))(?),(?)另(Ling)一(Yi)种(Zhong)是(Shi)按(An)引(Yin)用(Yong)传(Chuan)递(Di)((?)call by reference:(?)传(Chuan)递(Di)的(De)是(Shi)对(Dui)象(Xiang)的(De)引(Yin)用(Yong),(?)即(Ji)对(Dui)象(Xiang)的(De)存(Cun)储(Chu)地(Di)址(Zhi))(?)。(?)前(Qian)者(Zhe)不(Bu)能(Neng)改(Gai)变(Bian)实(Shi)参(Can)的(De)数(Shu)值(Zhi),(?)后(Hou)者(Zhe)虽(Sui)然(Ran)不(Bu)能(Neng)改(Gai)变(Bian)实(Shi)参(Can)的(De)参(Can)考(Kao)地(Di)址(Zhi),(?)但(Dan)可(Ke)以(Yi)通(Tong)过(Guo)该(Gai)地(Di)址(Zhi)访(Fang)问(Wen)地(Di)址(Zhi)中(Zhong)的(De)内(Nei)容(Rong)从(Cong)而(?)实(Shi)现(Xian)内(Nei)容(Rong)的(De)改(Gai)变(Bian)。(?)
72.下(Xia)列(Lie)说(Shuo)法(Fa)错(Cuo)误(Wu)的(De)有(You)((?))(?)(多(Duo)选(Xuan))
A 在(Zai)类(Lei)方(Fang)法(Fa)中(Zhong)可(Ke)用(Yong)this来(Lai)调(Diao)用(Yong)本(Ben)类(Lei)的(De)类(Lei)办(Ban)法(Fa)
B. 在(Zai)类(Lei)方(Fang)法(Fa)中(Zhong)调(Diao)用(Yong)本(Ben)类(Lei)的(De)类(Lei)方(Fang)法(Fa)时(Shi)可(Ke)以(Yi)直(Zhi)接(Jie)调(Diao)用(Yong)
C. 在(Zai)类(Lei)方(Fang)法(Fa)中(Zhong)只(Zhi)能(Neng)调(Diao)用(Yong)本(Ben)类(Lei)中(Zhong)的(De)类(Lei)方(Fang)法(Fa)
D. 在(Zai)类(Lei)方(Fang)法(Fa)中(Zhong)绝(Jue)对(Dui)不(Bu)能(Neng)调(Diao)用(Yong)实(Shi)例(Li)方(Fang)法(Fa)
答(Da)案(An):(?)ACD
分(Fen)析(Xi):(?)
类(Lei)方(Fang)法(Fa)是(Shi)在(Zai)类(Lei)加(Jia)载(Zai)时(Shi)被(Bei)加(Jia)载(Zai)到(Dao)方(Fang)法(Fa)区(Qu)存(Cun)储(Chu)的(De),(?)此(Ci)时(Shi)还(Huan)没(Mei)有(You)创(Chuang)建(Jian)对(Dui)象(Xiang),(?)所(Suo)以(Yi)不(Bu)能(Neng)使(Shi)用(Yong)this或(Huo)者(Zhe)super关(Guan)键(Jian)字(Zi);(?)
C. 在(Zai)类(Lei)方(Fang)法(Fa)中(Zhong)还(Huan)可(Ke)以(Yi)调(Diao)用(Yong)其(Qi)他(Ta)类(Lei)的(De)类(Lei)方(Fang)法(Fa);(?)
D. 在(Zai)类(Lei)方(Fang)法(Fa)可(Ke)以(Yi)通(Tong)过(Guo)创(Chuang)建(Jian)对(Dui)象(Xiang)来(Lai)调(Diao)用(Yong)实(Shi)例(Li)方(Fang)法(Fa)。(?)
73.下(Xia)列(Lie)说(Shuo)法(Fa)错(Cuo)误(Wu)的(De)有(You)((?))(?)(多(Duo)选(Xuan))
A Java面(Mian)向(Xiang)对(Dui)象(Xiang)语(Yu)言(Yan)容(Rong)许(Xu)单(Dan)独(Du)的(De)过(Guo)栈(Zhan)与(Yu)函(Han)数(Shu)存(Cun)在(Zai)
B. Java面(Mian)向(Xiang)对(Dui)象(Xiang)语(Yu)言(Yan)容(Rong)许(Xu)单(Dan)独(Du)的(De)方(Fang)法(Fa)存(Cun)在(Zai)
C. Java语(Yu)言(Yan)中(Zhong)的(De)方(Fang)法(Fa)属(Shu)于(Yu)类(Lei)中(Zhong)的(De)成(Cheng)员(Yuan)((?)member)(?)
D. Java语(Yu)言(Yan)中(Zhong)的(De)方(Fang)法(Fa)必(Bi)定(Ding)隶(Li)属(Shu)于(Yu)某(Mou)一(Yi)类(Lei)((?)对(Dui)象(Xiang))(?),(?)调(Diao)用(Yong)方(Fang)法(Fa)与(Yu)过(Guo)程(Cheng)或(Huo)函(Han)数(Shu)相(Xiang)同(Tong)
答(Da)案(An):(?)ABC
分(Fen)析(Xi):(?)
B. Java不(Bu)允(Yun)许(Xu)单(Dan)独(Du)的(De)方(Fang)法(Fa),(?)过(Guo)程(Cheng)或(Huo)函(Han)数(Shu)存(Cun)在(Zai),(?)需(Xu)要(Yao)隶(Li)属(Shu)于(Yu)某(Mou)一(Yi)类(Lei)中(Zhong);(?)
C. 静(Jing)态(Tai)方(Fang)法(Fa)属(Shu)于(Yu)类(Lei)的(De)成(Cheng)员(Yuan),(?)非(Fei)静(Jing)态(Tai)方(Fang)法(Fa)属(Shu)于(Yu)对(Dui)象(Xiang)的(De)成(Cheng)员(Yuan)。(?)
74.下(Xia)列(Lie)说(Shuo)法(Fa)错(Cuo)误(Wu)的(De)有(You)((?))(?)(多(Duo)选(Xuan))
A 能(Neng)被(Bei)java.exe成(Cheng)功(Gong)运(Yun)行(Xing)的(De)java class文(Wen)件(Jian)必(Bi)须(Xu)有(You)main()方(Fang)法(Fa)
B. J2SDK就(Jiu)是(Shi)Java API
C. Appletviewer.exe可(Ke)利(Li)用(Yong)jar选(Xuan)项(Xiang)运(Yun)行(Xing).jar文(Wen)件(Jian)
D. 能(Neng)被(Bei)Appletviewer成(Cheng)功(Gong)运(Yun)行(Xing)的(De)java class文(Wen)件(Jian)必(Bi)须(Xu)有(You)main()方(Fang)法(Fa)
答(Da)案(An):(?)BCD
分(Fen)析(Xi):(?)
B. J2SDK是(Shi)sun公(Gong)司(Si)编(Bian)程(Cheng)工(Gong)具(Ju),(?)API是(Shi)指(Zhi)的(De)应(Ying)用(Yong)程(Cheng)序(Xu)编(Bian)程(Cheng)接(Jie)口(Kou);(?)
C. Appletviewer.exe就(Jiu)是(Shi)用(Yong)来(Lai)解(Jie)释(Shi)执(Zhi)行(Xing)java applet应(Ying)用(Yong)程(Cheng)序(Xu)的(De),(?)一(Yi)种(Zhong)执(Zhi)行(Xing)HTML文(Wen)件(Jian)上(Shang)的(De)Java小(Xiao)程(Cheng)序(Xu)类(Lei)的(De)Java浏(Liu)览(Lan)器(Qi);(?)
D. 能(Neng)被(Bei)Appletviewer成(Cheng)功(Gong)运(Yun)行(Xing)的(De)java class文(Wen)件(Jian)可(Ke)以(Yi)没(Mei)有(You)main((?))(?)方(Fang)法(Fa)。(?)
75.请(Qing)问(Wen)0.3332的(De)数(Shu)据(Ju)类(Lei)型(Xing)是(Shi)((?))(?)
A float
B. double
C. Float
D. Double
答(Da)案(An):(?)B
分(Fen)析(Xi):(?)
小(Xiao)数(Shu)默(Mo)认(Ren)是(Shi)双(Shuang)精(Jing)度(Du)浮(Fu)点(Dian)型(Xing)即(Ji)double类(Lei)型(Xing)的(De)。(?)
76.Java接(Jie)口(Kou)的(De)修(Xiu)饰(Shi)符(Fu)可(Ke)以(Yi)为(Wei)((?))(?)
A private
B. protected
C. final
D. abstract
答(Da)案(An):(?)D
分(Fen)析(Xi):(?)
能(Neng)够(Gou)修(Xiu)饰(Shi)interface的(De)只(Zhi)有(You)public、(?)abstract以(Yi)及(Ji)默(Mo)认(Ren)的(De)三(San)种(Zhong)修(Xiu)饰(Shi)符(Fu)。(?)
77.不(Bu)通(Tong)过(Guo)构(Gou)造(Zao)函(Han)数(Shu)也(Ye)能(Neng)创(Chuang)建(Jian)对(Dui)象(Xiang)么(Me)((?))(?)
A 是(Shi)
B. 否(Fou)
答(Da)案(An):(?)A
分(Fen)析(Xi):(?)
Java创(Chuang)建(Jian)对(Dui)象(Xiang)的(De)几(Ji)种(Zhong)方(Fang)式(Shi):(?)
(1) 用(Yong)new语(Yu)句(Ju)创(Chuang)建(Jian)对(Dui)象(Xiang),(?)这(Zhe)是(Shi)最(Zui)常(Chang)见(Jian)的(De)创(Chuang)建(Jian)对(Dui)象(Xiang)的(De)方(Fang)法(Fa)。(?)
(2) 运(Yun)用(Yong)反(Fan)射(She)手(Shou)段(Duan),调(Diao)用(Yong)java.lang.Class或(Huo)者(Zhe)
java.lang.reflect.Constructor类(Lei)的(De)newInstance()实(Shi)例(Li)方(Fang)法(Fa)。(?)
(3) 调(Diao)用(Yong)对(Dui)象(Xiang)的(De)clone()方(Fang)法(Fa)。(?)
(4) 运(Yun)用(Yong)反(Fan)序(Xu)列(Lie)化(Hua)手(Shou)段(Duan),(?)调(Diao)用(Yong)java.io.ObjectInputStream对(Dui)象(Xiang)的(De)readObject()方(Fang)法(Fa)。(?)
(1)和(He)(2)都(Du)会(Hui)明(Ming)确(Que)的(De)显(Xian)式(Shi)的(De)调(Diao)用(Yong)构(Gou)造(Zao)函(Han)数(Shu);(?)(3)是(Shi)在(Zai)内(Nei)存(Cun)上(Shang)对(Dui)已(Yi)有(You)对(Dui)象(Xiang)的(De)影(Ying)印(Yin),(?)所(Suo)以(Yi)不(Bu)会(Hui)调(Diao)用(Yong)构(Gou)造(Zao)函(Han)数(Shu);(?)(4)是(Shi)从(Cong)文(Wen)件(Jian)中(Zhong)还(Huan)原(Yuan)类(Lei)的(De)对(Dui)象(Xiang),(?)也(Ye)不(Bu)会(Hui)调(Diao)用(Yong)构(Gou)造(Zao)函(Han)数(Shu)。(?)
78.存(Cun)在(Zai)使(Shi)i+1< i的(De)数(Shu)么(Me)?

78.存(Cun)在(Zai)使(Shi)i+1< i的(De)数(Shu)么(Me)?

79.接(Jie)口(Kou)可(Ke)否(Fou)继(Ji)承(Cheng)接(Jie)口(Kou)?(?)抽(Chou)象(Xiang)类(Lei)是(Shi)否(Fou)可(Ke)实(Shi)现(Xian)接(Jie)口(Kou)?(?)抽(Chou)象(Xiang)类(Lei)是(Shi)否(Fou)可(Ke)继(Ji)承(Cheng)实(Shi)体(Ti)类(Lei)?(?)

接(Jie)口(Kou)可(Ke)以(Yi)继(Ji)承(Cheng)接(Jie)口(Kou),(?)抽(Chou)象(Xiang)类(Lei)可(Ke)以(Yi)实(Shi)现(Xian)接(Jie)口(Kou),(?)抽(Chou)象(Xiang)类(Lei)可(Ke)以(Yi)继(Ji)承(Cheng)实(Shi)体(Ti)类(Lei)。(?)

80.int与(Yu)Integer有(You)什(Shi)么(Me)区(Qu)别(Bie)?(?)

int是(Shi)java提(Ti)供(Gong)的(De)8种(Zhong)原(Yuan)始(Shi)数(Shu)据(Ju)类(Lei)型(Xing)之(Zhi)一(Yi)。(?)Java为(Wei)每(Mei)个(Ge)原(Yuan)始(Shi)类(Lei)型(Xing)提(Ti)供(Gong)了(Liao)封(Feng)装(Zhuang)类(Lei),(?)Integer是(Shi)java为(Wei)int提(Ti)供(Gong)的(De)封(Feng)装(Zhuang)类(Lei)。(?)int的(De)默(Mo)认(Ren)值(Zhi)为(Wei)0,(?)而(?)Integer的(De)默(Mo)认(Ren)值(Zhi)为(Wei)null,(?)即(Ji)Integer可(Ke)以(Yi)区(Qu)分(Fen)出(Chu)未(Wei)赋(Fu)值(Zhi)和(He)值(Zhi)为(Wei)0的(De)区(Qu)别(Bie),(?)int则(Ze)无(Wu)法(Fa)表(Biao)达(Da)出(Chu)未(Wei)赋(Fu)值(Zhi)的(De)情(Qing)况(Kuang),(?)例(Li)如(Ru),(?)要(Yao)想(Xiang)表(Biao)达(Da)出(Chu)没(Mei)有(You)参(Can)加(Jia)考(Kao)试(Shi)和(He)考(Kao)试(Shi)成(Cheng)绩(Ji)为(Wei)0的(De)区(Qu)别(Bie),(?)则(Ze)只(Zhi)能(Neng)使(Shi)用(Yong)Integer。(?)在(Zai)JSP开(Kai)发(Fa)中(Zhong),(?)Integer的(De)默(Mo)认(Ren)为(Wei)null,(?)所(Suo)以(Yi)用(Yong)el表(Biao)达(Da)式(Shi)在(Zai)文(Wen)本(Ben)框(Kuang)中(Zhong)显(Xian)示(Shi)时(Shi),(?)值(Zhi)为(Wei)空(Kong)白(Bai)字(Zi)符(Fu)串(Chuan),(?)而(?)int默(Mo)认(Ren)的(De)默(Mo)认(Ren)值(Zhi)为(Wei)0,(?)所(Suo)以(Yi)用(Yong)el表(Biao)达(Da)式(Shi)在(Zai)文(Wen)本(Ben)框(Kuang)中(Zhong)显(Xian)示(Shi)时(Shi),(?)结(Jie)果(Guo)为(Wei)0,(?)所(Suo)以(Yi),(?)int不(Bu)适(Shi)合(He)作(Zuo)为(Wei)web层(Ceng)的(De)表(Biao)单(Dan)数(Shu)据(Ju)的(De)类(Lei)型(Xing)。(?)

在(Zai)Hibernate中(Zhong),(?)如(Ru)果(Guo)将(Jiang)OID定(Ding)义(Yi)为(Wei)Integer类(Lei)型(Xing),(?)那(Na)么(Me)Hibernate就(Jiu)可(Ke)以(Yi)根(Gen)据(Ju)其(Qi)值(Zhi)是(Shi)否(Fou)为(Wei)null而(?)判(Pan)断(Duan)一(Yi)个(Ge)对(Dui)象(Xiang)是(Shi)否(Fou)是(Shi)临(Lin)时(Shi)的(De),(?)如(Ru)果(Guo)将(Jiang)OID定(Ding)义(Yi)为(Wei)了(Liao)int类(Lei)型(Xing),(?)还(Huan)需(Xu)要(Yao)在(Zai)hbm映(Ying)射(She)文(Wen)件(Jian)中(Zhong)设(She)置(Zhi)其(Qi)unsaved-value属(Shu)性(Xing)为(Wei)0。(?)另(Ling)外(Wai),(?)Integer提(Ti)供(Gong)了(Liao)多(Duo)个(Ge)与(Yu)整(Zheng)数(Shu)相(Xiang)关(Guan)的(De)操(Cao)作(Zuo)方(Fang)法(Fa),(?)例(Li)如(Ru),(?)将(Jiang)一(Yi)个(Ge)字(Zi)符(Fu)串(Chuan)转(Zhuan)换(Huan)成(Cheng)整(Zheng)数(Shu),(?)Integer中(Zhong)还(Huan)定(Ding)义(Yi)了(Liao)表(Biao)示(Shi)整(Zheng)数(Shu)的(De)最(Zui)大(Da)值(Zhi)和(He)最(Zui)小(Xiao)值(Zhi)的(De)常(Chang)量(Liang)。(?)

81.可(Ke)序(Xu)列(Lie)化(Hua)对(Dui)象(Xiang)为(Wei)什(Shi)么(Me)要(Yao)定(Ding)义(Yi)serialversionUID值(Zhi)?

SerialVersionUid,(?)简(Jian)言(Yan)之(Zhi),(?)其(Qi)目(Mu)的(De)是(Shi)序(Xu)列(Lie)化(Hua)对(Dui)象(Xiang)版(Ban)本(Ben)控(Kong)制(Zhi),(?)有(You)关(Guan)各(Ge)版(Ban)本(Ben)反(Fan)序(Xu)列(Lie)化(Hua)时(Shi)是(Shi)否(Fou)兼(Jian)容(Rong)。(?)如(Ru)果(Guo)在(Zai)新(Xin)版(Ban)本(Ben)中(Zhong)这(Zhe)个(Ge)值(Zhi)修(Xiu)改(Gai)了(Liao),(?)新(Xin)版(Ban)本(Ben)就(Jiu)不(Bu)兼(Jian)容(Rong)旧(Jiu)版(Ban)本(Ben),(?)反(Fan)序(Xu)列(Lie)化(Hua)时(Shi)会(Hui)抛(Pao)出(Chu)InvalidClassException异(Yi)常(Chang)。(?)如(Ru)果(Guo)修(Xiu)改(Gai)较(Jiao)小(Xiao),(?)比(Bi)如(Ru)仅(Jin)仅(Jin)是(Shi)增(Zeng)加(Jia)了(Liao)一(Yi)个(Ge)属(Shu)性(Xing),(?)我(Wo)们(Men)希(Xi)望(Wang)向(Xiang)下(Xia)兼(Jian)容(Rong),(?)老(Lao)版(Ban)本(Ben)的(De)数(Shu)据(Ju)都(Du)能(Neng)保(Bao)留(Liu),(?)那(Na)就(Jiu)不(Bu)用(Yong)修(Xiu)改(Gai);(?)如(Ru)果(Guo)我(Wo)们(Men)删(Shan)除(Chu)了(Liao)一(Yi)个(Ge)属(Shu)性(Xing),(?)或(Huo)者(Zhe)更(Geng)改(Gai)了(Liao)类(Lei)的(De)继(Ji)承(Cheng)关(Guan)系(Xi),(?)必(Bi)然(Ran)不(Bu)兼(Jian)容(Rong)旧(Jiu)数(Shu)据(Ju),(?)这(Zhe)时(Shi)就(Jiu)应(Ying)该(Gai)手(Shou)动(Dong)更(Geng)新(Xin)版(Ban)本(Ben)号(Hao),(?)即(Ji)SerialVersionUid。(?)

82.写(Xie)一(Yi)个(Ge)Java正(Zheng)则(Ze),(?)能(Neng)过(Guo)滤(Lu)出(Chu)html中(Zhong)的(De)< a href=”(?)url”(?)>title< /a>形(Xing)式(Shi)中(Zhong)的(De)链(Lian)接(Jie)地(Di)址(Zhi)和(He)标(Biao)题(Ti).

< a\b[^>]+\bhref="([^"]*)"[^>]*>([\s\S]*?)< /a>

< a\b[^>]+\bhref="([^"]*)"[^>]*>([\s\S]*?)< /a>

83.十(Shi)进(Jin)制(Zhi)数(Shu)72转(Zhuan)换(Huan)成(Cheng)八(Ba)进(Jin)制(Zhi)数(Shu)是(Shi)多(Duo)少(Shao)?(?)

答(Da): 110

84.Java程(Cheng)序(Xu)中(Zhong)创(Chuang)建(Jian)新(Xin)的(De)类(Lei)对(Dui)象(Xiang),(?)使(Shi)用(Yong)关(Guan)键(Jian)字(Zi)new,(?)回(Hui)收(Shou)无(Wu)用(Yong)的(De)类(Lei)对(Dui)象(Xiang)使(Shi)用(Yong)关(Guan)键(Jian)字(Zi)free正(Zheng)确(Que)么(Me)?(?)

答(Da):Java程(Cheng)序(Xu)中(Zhong)创(Chuang)建(Jian)新(Xin)的(De)类(Lei)对(Dui)象(Xiang),(?)使(Shi)用(Yong)关(Guan)键(Jian)字(Zi)new是(Shi)正(Zheng)确(Que)的(De); 回(Hui)收(Shou)无(Wu)用(Yong)的(De)类(Lei)对(Dui)象(Xiang)使(Shi)用(Yong)关(Guan)键(Jian)字(Zi)free是(Shi)错(Cuo)误(Wu)的(De).

85.Class类(Lei)的(De)getDeclaredFields()方(Fang)法(Fa)与(Yu)getFields()的(De)区(Qu)别(Bie)?(?)

答(Da):getDeclaredFields(): 可(Ke)以(Yi)获(Huo)取(Qu)所(Suo)有(You)本(Ben)类(Lei)自(Zi)己(Ji)声(Sheng)明(Ming)的(De)方(Fang)法(Fa), 不(Bu)能(Neng)获(Huo)取(Qu)继(Ji)承(Cheng)的(De)方(Fang)法(Fa)

getFields(): 只(Zhi)能(Neng)获(Huo)取(Qu)所(Suo)有(You)public声(Sheng)明(Ming)的(De)方(Fang)法(Fa), 包(Bao)括(Kuo)继(Ji)承(Cheng)的(De)方(Fang)法(Fa)

86.在(Zai)switch和(He)if-else语(Yu)句(Ju)之(Zhi)间(Jian)进(Jin)行(Xing)选(Xuan)取(Qu),(?)当(Dang)控(Kong)制(Zhi)选(Xuan)择(Ze)的(De)条(Tiao)件(Jian)不(Bu)仅(Jin)仅(Jin)依(Yi)赖(Lai)于(Yu)一(Yi)个(Ge)x时(Shi),(?)应(Ying)该(Gai)使(Shi)用(Yong)switch结(Jie)构(Gou);(?)正(Zheng)确(Que)么(Me)?(?)

答(Da):不(Bu)正(Zheng)确(Que)。(?)

通(Tong)常(Chang)情(Qing)况(Kuang)下(Xia),(?)进(Jin)行(Xing)比(Bi)较(Jiao)判(Pan)断(Duan)的(De)处(Chu)理(Li),(?)switch 和(He)if-else可(Ke)以(Yi)互(Hu)相(Xiang)转(Zhuan)换(Huan)来(Lai)写(Xie);(?)if-else作(Zuo)用(Yong)的(De)范(Fan)围(Wei)比(Bi)switch-case作(Zuo)用(Yong)范(Fan)围(Wei)要(Yao)大(Da),(?)但(Dan)是(Shi)当(Dang)switch-case和(He)if-else都(Du)可(Ke)以(Yi)用(Yong)的(De)情(Qing)况(Kuang)下(Xia),(?)通(Tong)常(Chang)推(Tui)荐(Jian)使(Shi)用(Yong)switch-case。(?)

比(Bi)如(Ru):(?)

switch (ch) {
case 'a':
System.out.println("A");
break;
case 'b':
System.out.println("B");
break;
case 'c':
System.out.println("C");
break;
case 'd':
System.out.println("D");
break;
case 'e':
System.out.println("E");
break;
default:
System.out.println("other");
break;
}

换(Huan)为(Wei)if-else

if (ch == 'a') {
System.out.println("A");
} else if (ch == 'b') {
System.out.println('B');
} else if (ch == 'c') {
System.out.println("C");
} else if (ch == 'd') {
System.out.println("D");
} else if (ch == 'e') {
System.out.println("E");
} else {
System.out.println("Other");
}
87.描(Miao)述(Shu)&和(He)&&的(De)区(Qu)别(Bie)。(?)

&和(He)&&的(De)联(Lian)系(Xi)(共(Gong)同(Tong)点(Dian)):(?)

&和(He)&&都(Du)可(Ke)以(Yi)用(Yong)作(Zuo)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu),(?)但(Dan)是(Shi)要(Yao)看(Kan)使(Shi)用(Yong)时(Shi)的(De)具(Ju)体(Ti)条(Tiao)件(Jian)来(Lai)决(Jue)定(Ding)。(?)

操(Cao)作(Zuo)数(Shu)1&操(Cao)作(Zuo)数(Shu)2,(?)操(Cao)作(Zuo)数(Shu)1&&操(Cao)作(Zuo)数(Shu)2,(?)

操(Cao)作(Zuo)数(Shu)1&操(Cao)作(Zuo)数(Shu)2,(?)操(Cao)作(Zuo)数(Shu)1&&操(Cao)作(Zuo)数(Shu)2,(?)

情(Qing)况(Kuang)1:(?)当(Dang)上(Shang)述(Shu)的(De)操(Cao)作(Zuo)数(Shu)是(Shi)boolean类(Lei)型(Xing)变(Bian)量(Liang)时(Shi),(?)&和(He)&&都(Du)可(Ke)以(Yi)用(Yong)作(Zuo)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu)。(?)

情(Qing)况(Kuang)2:(?)当(Dang)上(Shang)述(Shu)的(De)表(Biao)达(Da)式(Shi)结(Jie)果(Guo)是(Shi)boolean类(Lei)型(Xing)变(Bian)量(Liang)时(Shi),(?)&和(He)&&都(Du)可(Ke)以(Yi)用(Yong)作(Zuo)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu)。(?)

表(Biao)示(Shi)逻(Luo)辑(Ji)与(Yu)(and),(?)当(Dang)运(Yun)算(Suan)符(Fu)两(Liang)边(Bian)的(De)表(Biao)达(Da)式(Shi)的(De)结(Jie)果(Guo)或(Huo)操(Cao)作(Zuo)数(Shu)都(Du)为(Wei)true时(Shi),(?)整(Zheng)个(Ge)运(Yun)算(Suan)结(Jie)果(Guo)才(Cai)为(Wei)true,(?)否(Fou)则(Ze),(?)只(Zhi)要(Yao)有(You)一(Yi)方(Fang)为(Wei)false,(?)结(Jie)果(Guo)都(Du)为(Wei)false。(?)

表(Biao)示(Shi)逻(Luo)辑(Ji)与(Yu)(and),(?)当(Dang)运(Yun)算(Suan)符(Fu)两(Liang)边(Bian)的(De)表(Biao)达(Da)式(Shi)的(De)结(Jie)果(Guo)或(Huo)操(Cao)作(Zuo)数(Shu)都(Du)为(Wei)true时(Shi),(?)整(Zheng)个(Ge)运(Yun)算(Suan)结(Jie)果(Guo)才(Cai)为(Wei)true,(?)否(Fou)则(Ze),(?)只(Zhi)要(Yao)有(You)一(Yi)方(Fang)为(Wei)false,(?)结(Jie)果(Guo)都(Du)为(Wei)false。(?)

(1)、(?)&逻(Luo)辑(Ji)运(Yun)算(Suan)符(Fu)称(Cheng)为(Wei)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu),(?)&&逻(Luo)辑(Ji)运(Yun)算(Suan)符(Fu)称(Cheng)为(Wei)短(Duan)路(Lu)与(Yu)运(Yun)算(Suan)符(Fu),(?)也(Ye)可(Ke)叫(Jiao)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu)。(?)

对(Dui)于(Yu)&:(?)无(Wu)论(Lun)任(Ren)何(He)情(Qing)况(Kuang),(?)&两(Liang)边(Bian)的(De)操(Cao)作(Zuo)数(Shu)或(Huo)表(Biao)达(Da)式(Shi)都(Du)会(Hui)参(Can)与(Yu)计(Ji)算(Suan)。(?)

对(Dui)于(Yu)&&:(?)当(Dang)&&左(Zuo)边(Bian)的(De)操(Cao)作(Zuo)数(Shu)为(Wei)false或(Huo)左(Zuo)边(Bian)表(Biao)达(Da)式(Shi)结(Jie)果(Guo)为(Wei)false时(Shi),(?)&&右(You)边(Bian)的(De)操(Cao)作(Zuo)数(Shu)或(Huo)表(Biao)达(Da)式(Shi)将(Jiang)不(Bu)参(Can)与(Yu)计(Ji)算(Suan),(?)此(Ci)时(Shi)最(Zui)终(Zhong)结(Jie)果(Guo)都(Du)为(Wei)false。(?)

综(Zong)上(Shang)所(Suo)述(Shu),(?)如(Ru)果(Guo)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)的(De)第(Di)一(Yi)个(Ge)操(Cao)作(Zuo)数(Shu)是(Shi)false或(Huo)第(Di)一(Yi)个(Ge)表(Biao)达(Da)式(Shi)的(De)结(Jie)果(Guo)为(Wei)false时(Shi),(?)对(Dui)于(Yu)第(Di)二(?)个(Ge)操(Cao)作(Zuo)数(Shu)或(Huo)表(Biao)达(Da)式(Shi)是(Shi)否(Fou)进(Jin)行(Xing)运(Yun)算(Suan),(?)对(Dui)最(Zui)终(Zhong)的(De)结(Jie)果(Guo)没(Mei)有(You)影(Ying)响(Xiang),(?)结(Jie)果(Guo)肯(Ken)定(Ding)是(Shi)false。(?)推(Tui)介(Jie)平(Ping)时(Shi)多(Duo)使(Shi)用(Yong)&&,(?)因(Yin)为(Wei)它(Ta)效(Xiao)率(Lu)更(Geng)高(Gao)些(Xie)。(?)

(2)、(?)&还(Huan)可(Ke)以(Yi)用(Yong)作(Zuo)位(Wei)运(Yun)算(Suan)符(Fu)。(?)当(Dang)&两(Liang)边(Bian)操(Cao)作(Zuo)数(Shu)或(Huo)两(Liang)边(Bian)表(Biao)达(Da)式(Shi)的(De)结(Jie)果(Guo)不(Bu)是(Shi)boolean类(Lei)型(Xing)时(Shi),(?)&用(Yong)于(Yu)按(An)位(Wei)与(Yu)运(Yun)算(Suan)符(Fu)的(De)操(Cao)作(Zuo)。(?)

88.使(Shi)用(Yong)final关(Guan)键(Jian)字(Zi)修(Xiu)饰(Shi)符(Fu)一(Yi)个(Ge)变(Bian)量(Liang)时(Shi),(?)是(Shi)引(Yin)用(Yong)不(Bu)能(Neng)变(Bian),(?)还(Huan)是(Shi)引(Yin)用(Yong)的(De)对(Dui)象(Xiang)不(Bu)能(Neng)变(Bian)?(?)

final修(Xiu)饰(Shi)基(Ji)本(Ben)类(Lei)型(Xing)变(Bian)量(Liang),(?)其(Qi)值(Zhi)不(Bu)能(Neng)改(Gai)变(Bian)。(?)

但(Dan)是(Shi)final修(Xiu)饰(Shi)引(Yin)用(Yong)类(Lei)型(Xing)变(Bian)量(Liang),(?)栈(Zhan)内(Nei)存(Cun)中(Zhong)的(De)引(Yin)用(Yong)不(Bu)能(Neng)改(Gai)变(Bian),(?)但(Dan)是(Shi)所(Suo)指(Zhi)向(Xiang)的(De)堆(Dui)内(Nei)存(Cun)中(Zhong)的(De)对(Dui)象(Xiang)的(De)属(Shu)性(Xing)值(Zhi)仍(Reng)旧(Jiu)可(Ke)以(Yi)改(Gai)变(Bian)。(?)

例(Li)如(Ru):

class Test {
    public static void main(String[] args) {
        final Dog dog = new Dog("欧(Ou)欧(Ou)");
        dog.name = "美(Mei)美(Mei)";//正(Zheng)确(Que)
        dog = new Dog("亚(Ya)亚(Ya)");//错(Cuo)误(Wu)
    }
}
89.请(Qing)解(Jie)释(Shi)以(Yi)下(Xia)常(Chang)用(Yong)正(Zheng)则(Ze)含(Han)义(Yi):(?)\d,\D,\s,.,*,?,|,[0-9]{6},\d+

\d: 匹(Pi)配(Pei)一(Yi)个(Ge)数(Shu)字(Zi)字(Zi)符(Fu)。(?)等(Deng)价(Jia)于(Yu)[0-9]

\D: 匹(Pi)配(Pei)一(Yi)个(Ge)非(Fei)数(Shu)字(Zi)字(Zi)符(Fu)。(?)等(Deng)价(Jia)于(Yu)[^0-9]

\s: 匹(Pi)配(Pei)任(Ren)何(He)空(Kong)白(Bai)字(Zi)符(Fu),(?)包(Bao)括(Kuo)空(Kong)格(Ge)、(?)制(Zhi)表(Biao)符(Fu)、(?)换(Huan)页(Ye)符(Fu)等(Deng)等(Deng)。(?)等(Deng)价(Jia)于(Yu) [ \f\n\r\t\v]

. :(?)匹(Pi)配(Pei)除(Chu)换(Huan)行(Xing)符(Fu) \n 之(Zhi)外(Wai)的(De)任(Ren)何(He)单(Dan)字(Zi)符(Fu)。(?)要(Yao)匹(Pi)配(Pei) . ,(?)请(Qing)使(Shi)用(Yong) \. 。(?)

*:(?)匹(Pi)配(Pei)前(Qian)面(Mian)的(De)子(Zi)表(Biao)达(Da)式(Shi)零(Ling)次(Ci)或(Huo)多(Duo)次(Ci)。(?)要(Yao)匹(Pi)配(Pei) * 字(Zi)符(Fu),(?)请(Qing)使(Shi)用(Yong) \*。(?)

+:(?)匹(Pi)配(Pei)前(Qian)面(Mian)的(De)子(Zi)表(Biao)达(Da)式(Shi)一(Yi)次(Ci)或(Huo)多(Duo)次(Ci)。(?)要(Yao)匹(Pi)配(Pei) + 字(Zi)符(Fu),(?)请(Qing)使(Shi)用(Yong) \+。(?)

|:将(Jiang)两(Liang)个(Ge)匹(Pi)配(Pei)条(Tiao)件(Jian)进(Jin)行(Xing)逻(Luo)辑(Ji)“(?)或(Huo)”(?)((?)Or)(?)运(Yun)算(Suan)

[0-9]{6}:匹(Pi)配(Pei)连(Lian)续(Xu)6个(Ge)0-9之(Zhi)间(Jian)的(De)数(Shu)字(Zi)

\d+:(?)匹(Pi)配(Pei)至(Zhi)少(Shao)一(Yi)个(Ge)0-9之(Zhi)间(Jian)的(De)数(Shu)字(Zi)

90.已(Yi)知(Zhi)表(Biao)达(Da)式(Shi)int m[] = {0,1,2,3,4,5,6}; 下(Xia)面(Mian)那(Na)个(Ge)表(Biao)达(Da)式(Shi)的(De)值(Zhi)与(Yu)数(Shu)组(Zu)的(De)长(Chang)度(Du)相(Xiang)等(Deng)((?))(?)
A m.length()
B. m.length
C. m.length()+1
D. m.length+1
答(Da)案(An):(?)B
分(Fen)析(Xi):(?)数(Shu)组(Zu)的(De)长(Chang)度(Du)是(Shi).length
91.下(Xia)面(Mian)那(Na)些(Xie)声(Sheng)明(Ming)是(Shi)合(He)法(Fa)的(De)?(?)((?))(?)
A long l = 4990
B. int i = 4L
C. float f = 1.1
D. double d = 34.4
答(Da)案(An):(?)AD
分(Fen)析(Xi):(?)B int属(Shu)于(Yu)整(Zheng)数(Shu)型(Xing)应(Ying)该(Gai)是(Shi)int=4 C应(Ying)该(Gai)是(Shi)float f=1.1f
92.以(Yi)下(Xia)选(Xuan)项(Xiang)中(Zhong)选(Xuan)择(Ze)正(Zheng)确(Que)的(De)java表(Biao)达(Da)式(Shi)((?))(?)
A int k=new String(“(?)aa”(?))
B. String str = String(“(?)bb”(?))
C. char c=74;
D. long j=8888;
答(Da)案(An):(?)CD
分(Fen)析(Xi):(?)A需(Xu)要(Yao)强(Qiang)制(Zhi)类(Lei)型(Xing)转(Zhuan)换(Huan) B String str =new String(“(?)bb”(?))
93.下(Xia)列(Lie)代(Dai)码(Ma)的(De)输(Shu)出(Chu)结(Jie)果(Guo)是(Shi)
System.out.println(""+("12"=="12"&&"12".equals("12")));
(“(?)12”(?)==”(?)12”(?)&&”(?)12”(?).equals(“(?)12”(?)))
“(?)12”(?)==”(?)12”(?)&&”(?)12”(?).equals(“(?)12”(?))

true

false

94.以(Yi)下(Xia)哪(Na)些(Xie)运(Yun)算(Suan)符(Fu)是(Shi)含(Han)有(You)短(Duan)路(Lu)运(Yun)算(Suan)机(Ji)制(Zhi)的(De)?(?)请(Qing)选(Xuan)择(Ze):(?)((?))(?)
A &
B. &&
C. |
D. ||
答(Da)案(An):(?)BD
分(Fen)析(Xi):(?)A C是(Shi)逻(Luo)辑(Ji)与(Yu)计(Ji)算(Suan)
95.下(Xia)面(Mian)哪(Na)个(Ge)函(Han)数(Shu)是(Shi)public void example(){....}的(De)重(Zhong)载(Zai)函(Han)数(Shu)?(?)((?))(?)
A private void example((?)int m)(?){...}
B. public int example((?))(?){...}
C. public void example2((?))(?){...}
D. public int example((?)int m.float f)(?){...}
答(Da)案(An):(?)AD
分(Fen)析(Xi):(?)BC定(Ding)义(Yi)的(De)是(Shi)新(Xin)函(Han)数(Shu)
96.给(Gei)定(Ding)某(Mou)java程(Cheng)序(Xu)片(Pian)段(Duan),(?)该(Gai)程(Cheng)序(Xu)运(Yun)行(Xing)后(Hou),(?)j的(De)输(Shu)出(Chu)结(Jie)果(Guo)为(Wei)((?))(?)
int  i=1;(?)
 Int  j=i++;(?)
 If((?)((?)j>++j)(?)&&(i++==j))(?){j+=i:}
 System.out.println(j);
A 1
B. 2
C. 3
D. 4
答(Da)案(An):(?)B
分(Fen)析(Xi):(?) i++先(Xian)引(Yin)用(Yong)后(Hou)。(?)++i 先(Xian)增(Zeng)加(Jia)后(Hou)引(Yin)用(Yong)
97.在(Zai)java中(Zhong),(?)无(Wu)论(Lun)测(Ce)试(Shi)条(Tiao)件(Jian)是(Shi)什(Shi)么(Me),(?)下(Xia)列(Lie)((?))(?)循(Xun)环(Huan)将(Jiang)至(Zhi)少(Shao)执(Zhi)行(Xing)一(Yi)次(Ci)。(?)
A for
B. do...while
C. while
D. while...do
答(Da)案(An):(?)B
分(Fen)析(Xi):(?) ACD都(Du)不(Bu)一(Yi)定(Ding)进(Jin)行(Xing)循(Xun)环(Huan)
98.打(Da)印(Yin)结(Jie)果(Guo):(?)
package com.bjsxt;

public class smaillT{
public static void main(String args[]){
smaillT t=new smaillT();
int b = t.get();
System.out.println(b);
}

public int get()
{
try {
return 1;
}finally{
return 2;
}
}
}

输(Shu)出(Chu)结(Jie)果(Guo):(?)2

99.指(Zhi)出(Chu)下(Xia)列(Lie)程(Cheng)序(Xu)的(De)运(Yun)行(Xing)结(Jie)果(Guo)
int i=9;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
break;
case 2:
System.out.println("two");
break;
}

打(Da)印(Yin)结(Jie)果(Guo):(?)

打(Da)印(Yin)结(Jie)果(Guo):(?)

zero

100.解(Jie)释(Shi)继(Ji)承(Cheng)、(?)重(Zhong)载(Zai)、(?)覆(Fu)盖(Gai)。(?)

继(Ji)承(Cheng)((?)英(Ying)语(Yu):(?)inheritance)(?)是(Shi)面(Mian)向(Xiang)对(Dui)象(Xiang)软(Ruan)件(Jian)技(Ji)术(Shu)当(Dang)中(Zhong)的(De)一(Yi)个(Ge)概(Gai)念(Nian)。(?)如(Ru)果(Guo)一(Yi)个(Ge)类(Lei)别(Bie)A“(?)继(Ji)承(Cheng)自(Zi)”(?)另(Ling)一(Yi)个(Ge)类(Lei)别(Bie)B,(?)就(Jiu)把(Ba)这(Zhe)个(Ge)A称(Cheng)为(Wei)“(?)B的(De)子(Zi)类(Lei)别(Bie)”(?),(?)而(?)把(Ba)B称(Cheng)为(Wei)“(?)A的(De)父(Fu)类(Lei)别(Bie)”(?)也(Ye)可(Ke)以(Yi)称(Cheng)“(?)B是(Shi)A的(De)超(Chao)类(Lei)”(?)。(?)继(Ji)承(Cheng)可(Ke)以(Yi)使(Shi)得(De)子(Zi)类(Lei)别(Bie)具(Ju)有(You)父(Fu)类(Lei)别(Bie)的(De)各(Ge)种(Zhong)属(Shu)性(Xing)和(He)方(Fang)法(Fa),(?)而(?)不(Bu)需(Xu)要(Yao)再(Zai)次(Ci)编(Bian)写(Xie)相(Xiang)同(Tong)的(De)代(Dai)码(Ma)。(?)在(Zai)令(Ling)子(Zi)类(Lei)别(Bie)继(Ji)承(Cheng)父(Fu)类(Lei)别(Bie)的(De)同(Tong)时(Shi),(?)可(Ke)以(Yi)重(Zhong)新(Xin)定(Ding)义(Yi)某(Mou)些(Xie)属(Shu)性(Xing),(?)并(Bing)重(Zhong)写(Xie)某(Mou)些(Xie)方(Fang)法(Fa),(?)即(Ji)覆(Fu)盖(Gai)父(Fu)类(Lei)别(Bie)的(De)原(Yuan)有(You)属(Shu)性(Xing)和(He)方(Fang)法(Fa),(?)使(Shi)其(Qi)获(Huo)得(De)与(Yu)父(Fu)类(Lei)别(Bie)不(Bu)同(Tong)的(De)功(Gong)能(Neng)。(?)另(Ling)外(Wai),(?)为(Wei)子(Zi)类(Lei)别(Bie)追(Zhui)加(Jia)新(Xin)的(De)属(Shu)性(Xing)和(He)方(Fang)法(Fa)也(Ye)是(Shi)常(Chang)见(Jian)的(De)做(Zuo)法(Fa)。(?) 一(Yi)般(Ban)静(Jing)态(Tai)的(De)面(Mian)向(Xiang)对(Dui)象(Xiang)编(Bian)程(Cheng)语(Yu)言(Yan),(?)继(Ji)承(Cheng)属(Shu)于(Yu)静(Jing)态(Tai)的(De),(?)意(Yi)即(Ji)在(Zai)子(Zi)类(Lei)别(Bie)的(De)行(Xing)为(Wei)在(Zai)编(Bian)译(Yi)期(Qi)就(Jiu)已(Yi)经(Jing)决(Jue)定(Ding),(?)无(Wu)法(Fa)在(Zai)执(Zhi)行(Xing)期(Qi)扩(Kuo)充(Chong)。(?)

那(Na)么(Me)如(Ru)何(He)使(Shi)用(Yong)继(Ji)承(Cheng)呢(Ne)?(?)用(Yong)extends关(Guan)键(Jian)字(Zi)来(Lai)继(Ji)承(Cheng)父(Fu)类(Lei)。(?)

如(Ru)上(Shang)面(Mian)A类(Lei)与(Yu)B类(Lei),(?)当(Dang)写(Xie)继(Ji)承(Cheng)语(Yu)句(Ju)时(Shi),(?) class A类(Lei) extends B类(Lei){ } 其(Qi)中(Zhong)A类(Lei)是(Shi)子(Zi)类(Lei),(?)B类(Lei)是(Shi)父(Fu)类(Lei)。(?)

英(Ying)文(Wen) 位(Wei)置(Zhi)不(Bu)同(Tong) 作(Zuo)用(Yong)不(Bu)同(Tong)
重(Zhong)载(Zai) overload 同(Tong)一(Yi)个(Ge)类(Lei)中(Zhong)
在(Zai)一(Yi)个(Ge)类(Lei)里(Li)面(Mian)为(Wei)一(Yi)种(Zhong)行(Xing)为(Wei)提(Ti)供(Gong)多(Duo)种(Zhong)实(Shi)现(Xian)方(Fang)式(Shi)并(Bing)提(Ti)高(Gao)可(Ke)读(Du)性(Xing)
现(Xian)方(Fang)式(Shi)并(Bing)提(Ti)高(Gao)可(Ke)读(Du)性(Xing)
重(Zhong)写(Xie) override 子(Zi)类(Lei)和(He)父(Fu)类(Lei)间(Jian)
父(Fu)类(Lei)方(Fang)法(Fa)无(Wu)法(Fa)满(Man)足(Zu)子(Zi)类(Lei)的(De)要(Yao)求(Qiu),(?)子(Zi)类(Lei)通(Tong)
过(Guo)方(Fang)法(Fa)重(Zhong)写(Xie)满(Man)足(Zu)要(Yao)求(Qiu)
101.什(Shi)么(Me)是(Shi)编(Bian)译(Yi)型(Xing)语(Yu)言(Yan),(?)什(Shi)么(Me)是(Shi)解(Jie)释(Shi)型(Xing)语(Yu)言(Yan)?(?)java可(Ke)以(Yi)归(Gui)类(Lei)到(Dao)那(Na)种(Zhong)?(?)

计(Ji)算(Suan)机(Ji)不(Bu)能(Neng)直(Zhi)接(Jie)理(Li)解(Jie)高(Gao)级(Ji)语(Yu)言(Yan),(?)只(Zhi)能(Neng)理(Li)解(Jie)和(He)运(Yun)行(Xing)机(Ji)器(Qi)语(Yu)言(Yan),(?)所(Suo)以(Yi)必(Bi)须(Xu)要(Yao)把(Ba)高(Gao)级(Ji)语(Yu)言(Yan)翻(Fan)译(Yi)成(Cheng)机(Ji)器(Qi)语(Yu)言(Yan),(?)计(Ji)算(Suan)机(Ji)才(Cai)能(Neng)运(Yun)行(Xing)高(Gao)级(Ji)语(Yu)言(Yan)所(Suo)编(Bian)写(Xie)的(De)程(Cheng)序(Xu)。(?)翻(Fan)译(Yi)的(De)方(Fang)式(Shi)有(You)两(Liang)种(Zhong),(?)一(Yi)个(Ge)是(Shi)编(Bian)译(Yi),(?)一(Yi)个(Ge)是(Shi)解(Jie)释(Shi)。(?)

用(Yong)编(Bian)译(Yi)型(Xing)语(Yu)言(Yan)写(Xie)的(De)程(Cheng)序(Xu)执(Zhi)行(Xing)之(Zhi)前(Qian),(?)需(Xu)要(Yao)一(Yi)个(Ge)专(Zhuan)门(Men)的(De)编(Bian)译(Yi)过(Guo)程(Cheng),(?)通(Tong)过(Guo)编(Bian)译(Yi)系(Xi)统(Tong)把(Ba)高(Gao)级(Ji)语(Yu)言(Yan)翻(Fan)译(Yi)成(Cheng)机(Ji)器(Qi)语(Yu)言(Yan),(?)把(Ba)源(Yuan)高(Gao)级(Ji)程(Cheng)序(Xu)编(Bian)译(Yi)成(Cheng)为(Wei)机(Ji)器(Qi)语(Yu)言(Yan)文(Wen)件(Jian),(?)比(Bi)如(Ru)windows下(Xia)的(De)exe文(Wen)件(Jian)。(?)以(Yi)后(Hou)就(Jiu)可(Ke)以(Yi)直(Zhi)接(Jie)运(Yun)行(Xing)而(?)不(Bu)需(Xu)要(Yao)编(Bian)译(Yi)了(Liao),(?)因(Yin)为(Wei)翻(Fan)译(Yi)只(Zhi)做(Zuo)了(Liao)一(Yi)次(Ci),(?)运(Yun)行(Xing)时(Shi)不(Bu)需(Xu)要(Yao)翻(Fan)译(Yi),(?)所(Suo)以(Yi)一(Yi)般(Ban)而(?)言(Yan),(?)编(Bian)译(Yi)型(Xing)语(Yu)言(Yan)的(De)程(Cheng)序(Xu)执(Zhi)行(Xing)效(Xiao)率(Lu)高(Gao)。(?)

解(Jie)释(Shi)型(Xing)语(Yu)言(Yan)在(Zai)运(Yun)行(Xing)的(De)时(Shi)候(Hou)才(Cai)翻(Fan)译(Yi),(?)比(Bi)如(Ru)VB语(Yu)言(Yan),(?)在(Zai)执(Zhi)行(Xing)的(De)时(Shi)候(Hou),(?)专(Zhuan)门(Men)有(You)一(Yi)个(Ge)解(Jie)释(Shi)器(Qi)能(Neng)够(Gou)将(Jiang)VB语(Yu)言(Yan)翻(Fan)译(Yi)成(Cheng)机(Ji)器(Qi)语(Yu)言(Yan),(?)每(Mei)个(Ge)语(Yu)句(Ju)都(Du)是(Shi)执(Zhi)行(Xing)时(Shi)才(Cai)翻(Fan)译(Yi)。(?)这(Zhe)样(Yang)解(Jie)释(Shi)型(Xing)语(Yu)言(Yan)每(Mei)执(Zhi)行(Xing)一(Yi)次(Ci)就(Jiu)要(Yao)翻(Fan)译(Yi)一(Yi)次(Ci),(?)效(Xiao)率(Lu)比(Bi)较(Jiao)低(Di)。(?)

编(Bian)译(Yi)型(Xing)与(Yu)解(Jie)释(Shi)型(Xing),(?)两(Liang)者(Zhe)各(Ge)有(You)利(Li)弊(Bi)。(?)前(Qian)者(Zhe)由(You)于(Yu)程(Cheng)序(Xu)执(Zhi)行(Xing)速(Su)度(Du)快(Kuai),(?)同(Tong)等(Deng)条(Tiao)件(Jian)下(Xia)对(Dui)系(Xi)统(Tong)要(Yao)求(Qiu)较(Jiao)低(Di),(?)因(Yin)此(Ci)像(Xiang)开(Kai)发(Fa)操(Cao)作(Zuo)系(Xi)统(Tong)、(?)大(Da)型(Xing)应(Ying)用(Yong)程(Cheng)序(Xu)、(?)数(Shu)据(Ju)库(Ku)系(Xi)统(Tong)等(Deng)时(Shi)都(Du)采(Cai)用(Yong)它(Ta),(?)像(Xiang)C/C++、(?)Pascal/Object Pascal((?)Delphi)(?)等(Deng)都(Du)是(Shi)编(Bian)译(Yi)语(Yu)言(Yan),(?)而(?)一(Yi)些(Xie)网(Wang)页(Ye)脚(Jiao)本(Ben)、(?)服(Fu)务(Wu)器(Qi)脚(Jiao)本(Ben)及(Ji)辅(Fu)助(Zhu)开(Kai)发(Fa)接(Jie)口(Kou)这(Zhe)样(Yang)的(De)对(Dui)速(Su)度(Du)要(Yao)求(Qiu)不(Bu)高(Gao)、(?)对(Dui)不(Bu)同(Tong)系(Xi)统(Tong)平(Ping)台(Tai)间(Jian)的(De)兼(Jian)容(Rong)性(Xing)有(You)一(Yi)定(Ding)要(Yao)求(Qiu)的(De)程(Cheng)序(Xu)则(Ze)通(Tong)常(Chang)使(Shi)用(Yong)解(Jie)释(Shi)性(Xing)语(Yu)言(Yan),(?)如(Ru)JavaScript、(?)VBScript、(?)Perl、(?)Python、(?)Ruby、(?)MATLAB 等(Deng)等(Deng)。(?)

JAVA语(Yu)言(Yan)是(Shi)一(Yi)种(Zhong)编(Bian)译(Yi)型(Xing)-解(Jie)释(Shi)型(Xing)语(Yu)言(Yan),(?)同(Tong)时(Shi)具(Ju)备(Bei)编(Bian)译(Yi)特(Te)性(Xing)和(He)解(Jie)释(Shi)特(Te)性(Xing)((?)其(Qi)实(Shi),(?)确(Que)切(Qie)的(De)说(Shuo)java就(Jiu)是(Shi)解(Jie)释(Shi)型(Xing)语(Yu)言(Yan),(?)其(Qi)所(Suo)谓(Wei)的(De)编(Bian)译(Yi)过(Guo)程(Cheng)只(Zhi)是(Shi)将(Jiang).java文(Wen)件(Jian)编(Bian)程(Cheng)成(Cheng)平(Ping)台(Tai)无(Wu)关(Guan)的(De)字(Zi)节(Jie)码(Ma).class文(Wen)件(Jian),(?)并(Bing)不(Bu)是(Shi)向(Xiang)C一(Yi)样(Yang)编(Bian)译(Yi)成(Cheng)可(Ke)执(Zhi)行(Xing)的(De)机(Ji)器(Qi)语(Yu)言(Yan),(?)在(Zai)此(Ci)请(Qing)读(Du)者(Zhe)注(Zhu)意(Yi)Java中(Zhong)所(Suo)谓(Wei)的(De)“(?)编(Bian)译(Yi)”(?)和(He)传(Chuan)统(Tong)的(De)“(?)编(Bian)译(Yi)”(?)的(De)区(Qu)别(Bie))(?)。(?)作(Zuo)为(Wei)编(Bian)译(Yi)型(Xing)语(Yu)言(Yan),(?)JAVA程(Cheng)序(Xu)要(Yao)被(Bei)统(Tong)一(Yi)编(Bian)译(Yi)成(Cheng)字(Zi)节(Jie)码(Ma)文(Wen)件(Jian)—(?)—(?)文(Wen)件(Jian)后(Hou)缀(Zhui)是(Shi)class。(?)此(Ci)种(Zhong)文(Wen)件(Jian)在(Zai)java中(Zhong)又(You)称(Cheng)为(Wei)类(Lei)文(Wen)件(Jian)。(?)java类(Lei)文(Wen)件(Jian)不(Bu)能(Neng)再(Zai)计(Ji)算(Suan)机(Ji)上(Shang)直(Zhi)接(Jie)执(Zhi)行(Xing),(?)它(Ta)需(Xu)要(Yao)被(Bei)java虚(Xu)拟(Ni)机(Ji)翻(Fan)译(Yi)成(Cheng)本(Ben)地(Di)的(De)机(Ji)器(Qi)码(Ma)后(Hou)才(Cai)能(Neng)执(Zhi)行(Xing),(?)而(?)java虚(Xu)拟(Ni)机(Ji)的(De)翻(Fan)译(Yi)过(Guo)程(Cheng)则(Ze)是(Shi)解(Jie)释(Shi)性(Xing)的(De)。(?)java字(Zi)节(Jie)码(Ma)文(Wen)件(Jian)首(Shou)先(Xian)被(Bei)加(Jia)载(Zai)到(Dao)计(Ji)算(Suan)机(Ji)内(Nei)存(Cun)中(Zhong),(?)然(Ran)后(Hou)读(Du)出(Chu)一(Yi)条(Tiao)指(Zhi)令(Ling),(?)翻(Fan)译(Yi)一(Yi)条(Tiao)指(Zhi)令(Ling),(?)执(Zhi)行(Xing)一(Yi)条(Tiao)指(Zhi)令(Ling),(?)该(Gai)过(Guo)程(Cheng)被(Bei)称(Cheng)为(Wei)java语(Yu)言(Yan)的(De)解(Jie)释(Shi)执(Zhi)行(Xing),(?)是(Shi)由(You)java虚(Xu)拟(Ni)机(Ji)完(Wan)成(Cheng)的(De)。(?)

102.简(Jian)述(Shu)操(Cao)作(Zuo)符(Fu)((?)&,(?)|)(?)与(Yu)操(Cao)作(Zuo)符(Fu)((?)&&,(?)||)(?)的(De)区(Qu)别(Bie)&和(He)&&的(De)联(Lian)系(Xi)(共(Gong)同(Tong)点(Dian))

&和(He)&&都(Du)可(Ke)以(Yi)用(Yong)作(Zuo)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu),(?)但(Dan)是(Shi)要(Yao)看(Kan)使(Shi)用(Yong)时(Shi)的(De)具(Ju)体(Ti)条(Tiao)件(Jian)来(Lai)决(Jue)定(Ding)。(?)

操(Cao)作(Zuo)数(Shu)1&操(Cao)作(Zuo)数(Shu)2 操(Cao)作(Zuo)数(Shu)1&&操(Cao)作(Zuo)数(Shu)2
表(Biao)达(Da)式(Shi)1&表(Biao)达(Da)式(Shi)2 表(Biao)达(Da)式(Shi)1&&表(Biao)达(Da)式(Shi)2

情(Qing)况(Kuang)1:(?)当(Dang)上(Shang)述(Shu)的(De)操(Cao)作(Zuo)数(Shu)是(Shi)boolean类(Lei)型(Xing)变(Bian)量(Liang)时(Shi),(?)&和(He)&&都(Du)可(Ke)以(Yi)用(Yong)作(Zuo)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu)。(?)

情(Qing)况(Kuang)2:(?)当(Dang)上(Shang)述(Shu)的(De)表(Biao)达(Da)式(Shi)结(Jie)果(Guo)是(Shi)boolean类(Lei)型(Xing)变(Bian)量(Liang)时(Shi),(?)&和(He)&&都(Du)可(Ke)以(Yi)用(Yong)作(Zuo)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu)。(?)

表(Biao)示(Shi)逻(Luo)辑(Ji)与(Yu)(and),(?)当(Dang)运(Yun)算(Suan)符(Fu)两(Liang)边(Bian)的(De)表(Biao)达(Da)式(Shi)的(De)结(Jie)果(Guo)或(Huo)操(Cao)作(Zuo)数(Shu)都(Du)为(Wei)true时(Shi),(?)整(Zheng)个(Ge)运(Yun)算(Suan)结(Jie)果(Guo)才(Cai)为(Wei)true,(?)否(Fou)则(Ze),(?)只(Zhi)要(Yao)有(You)一(Yi)方(Fang)为(Wei)false,(?)结(Jie)果(Guo)都(Du)为(Wei)false。(?)

&和(He)&&的(De)区(Qu)别(Bie)(不(Bu)同(Tong)点(Dian)):(?)

(1)、(?)&逻(Luo)辑(Ji)运(Yun)算(Suan)符(Fu)称(Cheng)为(Wei)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu),(?)&&逻(Luo)辑(Ji)运(Yun)算(Suan)符(Fu)称(Cheng)为(Wei)短(Duan)路(Lu)与(Yu)运(Yun)算(Suan)符(Fu),(?)也(Ye)可(Ke)叫(Jiao)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)符(Fu)。(?)

对(Dui)于(Yu)&:(?)无(Wu)论(Lun)任(Ren)何(He)情(Qing)况(Kuang),(?)&两(Liang)边(Bian)的(De)操(Cao)作(Zuo)数(Shu)或(Huo)表(Biao)达(Da)式(Shi)都(Du)会(Hui)参(Can)与(Yu)计(Ji)算(Suan)。(?)

对(Dui)于(Yu)&&:(?)当(Dang)&&左(Zuo)边(Bian)的(De)操(Cao)作(Zuo)数(Shu)为(Wei)false或(Huo)左(Zuo)边(Bian)表(Biao)达(Da)式(Shi)结(Jie)果(Guo)为(Wei)false时(Shi),(?)&&右(You)边(Bian)的(De)操(Cao)作(Zuo)数(Shu)或(Huo)表(Biao)达(Da)式(Shi)将(Jiang)不(Bu)参(Can)与(Yu)计(Ji)算(Suan),(?)此(Ci)时(Shi)最(Zui)终(Zhong)结(Jie)果(Guo)都(Du)为(Wei)false。(?)

综(Zong)上(Shang)所(Suo)述(Shu),(?)如(Ru)果(Guo)逻(Luo)辑(Ji)与(Yu)运(Yun)算(Suan)的(De)第(Di)一(Yi)个(Ge)操(Cao)作(Zuo)数(Shu)是(Shi)false或(Huo)第(Di)一(Yi)个(Ge)表(Biao)达(Da)式(Shi)的(De)结(Jie)果(Guo)为(Wei)false时(Shi),(?)对(Dui)于(Yu)第(Di)二(?)个(Ge)操(Cao)作(Zuo)数(Shu)或(Huo)表(Biao)达(Da)式(Shi)是(Shi)否(Fou)进(Jin)行(Xing)运(Yun)算(Suan),(?)对(Dui)最(Zui)终(Zhong)的(De)结(Jie)果(Guo)没(Mei)有(You)影(Ying)响(Xiang),(?)结(Jie)果(Guo)肯(Ken)定(Ding)是(Shi)false。(?)推(Tui)介(Jie)平(Ping)时(Shi)多(Duo)使(Shi)用(Yong)&&,(?)因(Yin)为(Wei)它(Ta)效(Xiao)率(Lu)更(Geng)高(Gao)些(Xie)。(?)

(2)、(?)&还(Huan)可(Ke)以(Yi)用(Yong)作(Zuo)位(Wei)运(Yun)算(Suan)符(Fu)。(?)当(Dang)&两(Liang)边(Bian)操(Cao)作(Zuo)数(Shu)或(Huo)两(Liang)边(Bian)表(Biao)达(Da)式(Shi)的(De)结(Jie)果(Guo)不(Bu)是(Shi)boolean类(Lei)型(Xing)时(Shi),(?)&用(Yong)于(Yu)按(An)位(Wei)与(Yu)运(Yun)算(Suan)符(Fu)的(De)操(Cao)作(Zuo)。(?)

|和(He)||的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi)与(Yu)&和(He)&&的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi)类(Lei)似(Si)

103.try{}里(Li)面(Mian)有(You)一(Yi)个(Ge)return语(Yu)句(Ju),(?)那(Na)么(Me)紧(Jin)跟(Gen)在(Zai)这(Zhe)个(Ge)try后(Hou)的(De)finally, 里(Li)面(Mian)的(De)语(Yu)句(Ju)在(Zai)异(Yi)常(Chang)出(Chu)现(Xian)后(Hou),(?)都(Du)会(Hui)执(Zhi)行(Xing)么(Me)?(?)为(Wei)什(Shi)么(Me)?(?)

在(Zai)异(Yi)常(Chang)处(Chu)理(Li)时(Shi)提(Ti)供(Gong) finally 块(Kuai)来(Lai)执(Zhi)行(Xing)任(Ren)何(He)清(Qing)除(Chu)操(Cao)作(Zuo)。(?)

如(Ru)果(Guo)有(You)finally的(De)话(Hua),(?)则(Ze)不(Bu)管(Guan)是(Shi)否(Fou)发(Fa)生(Sheng)异(Yi)常(Chang),(?)finally语(Yu)句(Ju)都(Du)会(Hui)被(Bei)执(Zhi)行(Xing),(?)包(Bao)括(Kuo)遇(Yu)到(Dao)return语(Yu)句(Ju)。(?)

finally中(Zhong)语(Yu)句(Ju)不(Bu)执(Zhi)行(Xing)的(De)唯(Wei)一(Yi)情(Qing)况(Kuang)中(Zhong)执(Zhi)行(Xing)了(Liao)System.exit(0)语(Yu)句(Ju)。(?)

104.有(You)一(Yi)段(Duan)java应(Ying)用(Yong)程(Cheng)序(Xu),(?)它(Ta)的(De)主(Zhu)类(Lei)名(Ming)是(Shi)al,(?)那(Na)么(Me)保(Bao)存(Cun)它(Ta)的(De)源(Yuan)文(Wen)件(Jian)可(Ke)以(Yi)是(Shi)?(?)()
A al.java
B. al.class
C. al
D. 都(Du)对(Dui)
答(Da)案(An):(?)A
分(Fen)析(Xi):(?).class是(Shi)java的(De)解(Jie)析(Xi)文(Wen)件(Jian)
105.Java类(Lei)可(Ke)以(Yi)作(Zuo)为(Wei)((?))(?)
A 类(Lei)型(Xing)定(Ding)义(Yi)机(Ji)制(Zhi)
B. 数(Shu)据(Ju)封(Feng)装(Zhuang)机(Ji)制(Zhi)
C. 类(Lei)型(Xing)定(Ding)义(Yi)机(Ji)制(Zhi)和(He)数(Shu)据(Ju)封(Feng)装(Zhuang)机(Ji)制(Zhi)
D. 上(Shang)述(Shu)都(Du)不(Bu)对(Dui)
答(Da)案(An):(?)C
106.在(Zai)调(Diao)用(Yong)方(Fang)法(Fa)时(Shi),(?)若(Ruo)要(Yao)使(Shi)方(Fang)法(Fa)改(Gai)变(Bian)实(Shi)参(Can)的(De)值(Zhi),(?)可(Ke)以(Yi)?(?)((?))(?)
A 用(Yong)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)作(Zuo)为(Wei)参(Can)数(Shu)
B. 用(Yong)对(Dui)象(Xiang)作(Zuo)为(Wei)参(Can)数(Shu)
C. A和(He)B都(Du)对(Dui)
D. A和(He)B都(Du)不(Bu)对(Dui)
答(Da)案(An):(?)B
分(Fen)析(Xi):(?)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)不(Bu)能(Neng)改(Gai)变(Bian)实(Shi)参(Can)的(De)值(Zhi)
107.Java语(Yu)言(Yan)具(Ju)有(You)许(Xu)多(Duo)优(You)点(Dian)和(He)特(Te)点(Dian),(?)哪(Na)个(Ge)反(Fan)映(Ying)了(Liao)java程(Cheng)序(Xu)并(Bing)行(Xing)机(Ji)制(Zhi)的(De)((?))(?)
A 安(An)全(Quan)性(Xing)
B. 多(Duo)线(Xian)性(Xing)
C. 跨(Kua)平(Ping)台(Tai)
D. 可(Ke)移(Yi)植(Zhi)
可(Ke)移(Yi)植(Zhi)
108.下(Xia)关(Guan)于(Yu)构(Gou)造(Zao)函(Han)数(Shu)的(De)描(Miao)述(Shu)错(Cuo)误(Wu)是(Shi)((?))(?)
A 构(Gou)造(Zao)函(Han)数(Shu)的(De)返(Fan)回(Hui)类(Lei)型(Xing)只(Zhi)能(Neng)是(Shi)void型(Xing)
B. 构(Gou)造(Zao)函(Han)数(Shu)是(Shi)类(Lei)的(De)一(Yi)种(Zhong)特(Te)殊(Shu)函(Han)数(Shu),(?)它(Ta)的(De)方(Fang)法(Fa)名(Ming)必(Bi)须(Xu)与(Yu)类(Lei)名(Ming)相(Xiang)同(Tong)
C. 构(Gou)造(Zao)函(Han)数(Shu)的(De)主(Zhu)要(Yao)作(Zuo)用(Yong)是(Shi)完(Wan)成(Cheng)对(Dui)类(Lei)的(De)对(Dui)象(Xiang)的(De)初(Chu)始(Shi)化(Hua)工(Gong)作(Zuo)
D. 一(Yi)般(Ban)在(Zai)创(Chuang)建(Jian)新(Xin)对(Dui)象(Xiang)时(Shi),(?)系(Xi)统(Tong)会(Hui)自(Zi)动(Dong)调(Diao)用(Yong)构(Gou)造(Zao)函(Han)数(Shu)
答(Da)案(An):(?)A
分(Fen)析(Xi):(?)构(Gou)造(Zao)函(Han)数(Shu)的(De)名(Ming)字(Zi)与(Yu)类(Lei)的(De)名(Ming)字(Zi)相(Xiang)同(Tong),(?)并(Bing)且(Qie)不(Bu)能(Neng)指(Zhi)定(Ding)返(Fan)回(Hui)类(Lei)型(Xing)。(?)
109.若(Ruo)需(Xu)要(Yao)定(Ding)义(Yi)一(Yi)个(Ge)类(Lei)域(Yu)或(Huo)类(Lei)方(Fang)法(Fa),(?)应(Ying)使(Shi)用(Yong)哪(Na)种(Zhong)修(Xiu)饰(Shi)符(Fu)?(?)((?))(?)
A static
B. package
C. private
D. public
答(Da)案(An):(?)A
110.下(Xia)面(Mian)代(Dai)码(Ma)执(Zhi)行(Xing)后(Hou)的(De)输(Shu)出(Chu)是(Shi)什(Shi)么(Me)((?))(?)
package com.bjsxt;
public class Test {
public static void main(String[] args) {
outer: for (int i = 0; i < 3; i++)
inner: for (int j = 0; j < 2; j++) {
if (j == 1)
continue outer;
System.out.println(j + " and " + i);
}
}
}
A
0 and 0
0 and 1
0 and 2
B.
1 and 0
1 and 1
1 and 2
C.
2 and 0
2 and 1
2 and 2
答(Da)案(An):(?)A
111.给(Gei)出(Chu)如(Ru)下(Xia)代(Dai)码(Ma),(?)如(Ru)何(He)使(Shi)成(Cheng)员(Yuan)变(Bian)量(Liang)m被(Bei)函(Han)数(Shu)fun()直(Zhi)接(Jie)访(Fang)问(Wen)((?))(?)
package com.bjsxt;
public class Test {
private int m;

public static void fun() {
// some code…(?)
}
}
A 将(Jiang)private int m 改(Gai)为(Wei) protected int m
B. 将(Jiang)private int m 改(Gai)为(Wei) public int m
C. 将(Jiang)private int m 改(Gai)为(Wei) static int m
D. 将(Jiang)private int m 改(Gai)为(Wei)int m
答(Da)案(An):(?)C
112.下(Xia)面(Mian)哪(Na)几(Ji)个(Ge)函(Han)数(Shu)是(Shi)public void example((?))(?){…(?).}的(De)重(Zhong)载(Zai)函(Han)数(Shu)((?))(?)

A public void example((?)int m)(?){…(?)}
B. public int example((?)int m)(?){…(?)}
C. public void example2((?))(?){…(?)}
D. public int example((?)int m,(?)float f)(?){…(?)}
答(Da)案(An):(?)ABD
113.请(Qing)问(Wen)以(Yi)下(Xia)代(Dai)码(Ma)执(Zhi)行(Xing)会(Hui)打(Da)印(Yin)出(Chu)什(Shi)么(Me)?(?)

父(Fu)类(Lei):(?)

package com.bjsxt;

public class FatherClass {
public FatherClass() {
System.out.println("FatherClassCreate");
}
}

子(Zi)类(Lei):(?)

package com.bjsxt;

import com.bjsxt.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();
}
}

执(Zhi)行(Xing):(?)C:(?)\>java com.bjsxt.ChildClass

输(Shu)出(Chu)结(Jie)果(Guo):(?)?(?)

答(Da):(?)

FatherClassCreate

FatherClassCreate

ChildClass Create

114.如(Ru)果(Guo)有(You)两(Liang)个(Ge)类(Lei)A、(?)B((?)注(Zhu)意(Yi)不(Bu)是(Shi)接(Jie)口(Kou))(?),(?)你(Ni)想(Xiang)同(Tong)时(Shi)使(Shi)用(Yong)这(Zhe)两(Liang)个(Ge)类(Lei)的(De)功(Gong)能(Neng),(?)那(Na)么(Me)你(Ni)会(Hui)如(Ru)何(He)编(Bian)写(Xie)这(Zhe)个(Ge)C类(Lei)呢(Ne)?(?)

答(Da):(?)因(Yin)为(Wei)类(Lei)A、(?)B不(Bu)是(Shi)接(Jie)口(Kou),(?)所(Suo)以(Yi)是(Shi)不(Bu)可(Ke)以(Yi)直(Zhi)接(Jie)实(Shi)现(Xian)的(De),(?)但(Dan)可(Ke)以(Yi)将(Jiang)A、(?)B类(Lei)定(Ding)义(Yi)成(Cheng)父(Fu)子(Zi)类(Lei),(?)那(Na)么(Me)C类(Lei)就(Jiu)能(Neng)实(Shi)现(Xian)A、(?)B类(Lei)的(De)功(Gong)能(Neng)了(Liao)。(?)假(Jia)如(Ru)A为(Wei)B的(De)父(Fu)类(Lei),(?)B为(Wei)C的(De)父(Fu)类(Lei),(?)此(Ci)时(Shi)C就(Jiu)能(Neng)使(Shi)用(Yong)A、(?)B的(De)功(Gong)能(Neng)。(?)

115.一(Yi)个(Ge)类(Lei)的(De)构(Gou)造(Zao)方(Fang)法(Fa)是(Shi)否(Fou)可(Ke)以(Yi)被(Bei)重(Zhong)载(Zai)((?)overloading)(?),(?)是(Shi)否(Fou)可(Ke)以(Yi)被(Bei)子(Zi)类(Lei)重(Zhong)写(Xie)((?)overrding)(?)?(?)

答(Da):(?)构(Gou)造(Zao)方(Fang)法(Fa)可(Ke)以(Yi)被(Bei)重(Zhong)载(Zai),(?)但(Dan)是(Shi)构(Gou)造(Zao)方(Fang)法(Fa)不(Bu)能(Neng)被(Bei)重(Zhong)写(Xie),(?)子(Zi)类(Lei)也(Ye)不(Bu)能(Neng)继(Ji)承(Cheng)到(Dao)父(Fu)类(Lei)的(De)构(Gou)造(Zao)方(Fang)法(Fa)

116.Java中(Zhong)byte表(Biao)示(Shi)的(De)数(Shu)值(Zhi)范(Fan)围(Wei)是(Shi)什(Shi)么(Me)?(?)

答(Da):(?)范(Fan)围(Wei)是(Shi)-128至(Zhi)127

117.如(Ru)何(He)将(Jiang)日(Ri)期(Qi)类(Lei)型(Xing)格(Ge)式(Shi)化(Hua)为(Wei):(?)2013-02-18 10:53:10?(?)
public class TestDateFormat2 {
public static void main(String[] args) throws Exception {
//第(Di)一(Yi)步(Bu):(?)将(Jiang)字(Zi)符(Fu)串(Chuan)((?)2013-02-18 10:53:10)(?)转(Zhuan)换(Huan)成(Cheng)日(Ri)期(Qi)Date
DateFormat  sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String sdate="2013-02-18 10:53:10";
Date date=sdf.parse(sdate);
System.out.println(date);

//第(Di)二(?)步(Bu):(?)将(Jiang)日(Ri)期(Qi)Date转(Zhuan)换(Huan)成(Cheng)字(Zi)符(Fu)串(Chuan)String
DateFormat  sdf2=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String sdate2=sdf2.format(date);
System.out.println(sdate2);
}
}
118.不(Bu)通(Tong)过(Guo)构(Gou)造(Zao)函(Han)数(Shu)也(Ye)能(Neng)创(Chuang)建(Jian)对(Dui)象(Xiang)吗(Ma)((?))(?)
A. 是(Shi)
B. 否(Fou)
分(Fen)析(Xi):(?)答(Da)案(An):(?)A
Java创(Chuang)建(Jian)对(Dui)象(Xiang)的(De)几(Ji)种(Zhong)方(Fang)式(Shi)((?)重(Zhong)要(Yao))(?):(?)
(1) 用(Yong)new语(Yu)句(Ju)创(Chuang)建(Jian)对(Dui)象(Xiang),(?)这(Zhe)是(Shi)最(Zui)常(Chang)见(Jian)的(De)创(Chuang)建(Jian)对(Dui)象(Xiang)的(De)方(Fang)法(Fa)。(?)
(2) 运(Yun)用(Yong)反(Fan)射(She)手(Shou)段(Duan),调(Diao)用(Yong)java.lang.Class或(Huo)者(Zhe)
java.lang.reflect.Constructor类(Lei)的(De)newInstance()实(Shi)例(Li)方(Fang)法(Fa)。(?)
(3) 调(Diao)用(Yong)对(Dui)象(Xiang)的(De)clone()方(Fang)法(Fa)
(4) 运(Yun)用(Yong)反(Fan)序(Xu)列(Lie)化(Hua)手(Shou)段(Duan),(?)调(Diao)用(Yong)java.io.ObjectInputStream对(Dui)象(Xiang)的(De) readObject()方(Fang)法(Fa)。(?)
(1)和(He)(2)都(Du)会(Hui)明(Ming)确(Que)的(De)显(Xian)式(Shi)的(De)调(Diao)用(Yong)构(Gou)造(Zao)函(Han)数(Shu) ;(?)(3)是(Shi)在(Zai)内(Nei)存(Cun)上(Shang)对(Dui)已(Yi)有(You)对(Dui)象(Xiang)的(De)影(Ying)印(Yin),(?)所(Suo)以(Yi)不(Bu)会(Hui)调(Diao)用(Yong)构(Gou)造(Zao)函(Han)数(Shu) ;(?)(4)是(Shi)从(Cong)文(Wen)件(Jian)中(Zhong)还(Huan)原(Yuan)类(Lei)的(De)对(Dui)象(Xiang),(?)也(Ye)不(Bu)会(Hui)调(Diao)用(Yong)构(Gou)造(Zao)函(Han)数(Shu)。(?)
(1)和(He)(2)都(Du)会(Hui)明(Ming)确(Que)的(De)显(Xian)式(Shi)的(De)调(Diao)用(Yong)构(Gou)造(Zao)函(Han)数(Shu) ;(?)(3)是(Shi)在(Zai)内(Nei)存(Cun)上(Shang)对(Dui)已(Yi)有(You)对(Dui)象(Xiang)的(De)影(Ying)印(Yin),(?)所(Suo)以(Yi)不(Bu)会(Hui)调(Diao)用(Yong)构(Gou)造(Zao)函(Han)数(Shu) ;(?)(4)是(Shi)从(Cong)文(Wen)件(Jian)中(Zhong)还(Huan)原(Yuan)类(Lei)的(De)对(Dui)象(Xiang),(?)也(Ye)不(Bu)会(Hui)调(Diao)用(Yong)构(Gou)造(Zao)函(Han)数(Shu)。(?)
119.下(Xia)面(Mian)哪(Na)些(Xie)是(Shi)对(Dui)称(Cheng)加(Jia)密(Mi)算(Suan)法(Fa)((?))(?)

A. DES
B. MD5
C. DSA
D. RSA
分(Fen)析(Xi):(?)答(Da)案(An):(?)A
分(Fen)析(Xi):(?)常(Chang)用(Yong)的(De)对(Dui)称(Cheng)加(Jia)密(Mi)算(Suan)法(Fa)有(You):(?)DES、(?)3DES、(?)RC2、(?)RC4、(?)AES
常(Chang)用(Yong)的(De)非(Fei)对(Dui)称(Cheng)加(Jia)密(Mi)算(Suan)法(Fa)有(You):(?)RSA、(?)DSA、(?)ECC
使(Shi)用(Yong)单(Dan)向(Xiang)散(San)列(Lie)函(Han)数(Shu)的(De)加(Jia)密(Mi)算(Suan)法(Fa):(?)MD5、(?)SHA
120.下(Xia)面(Mian)的(De)代(Dai)码(Ma)段(Duan),(?)当(Dang)输(Shu)入(Ru)为(Wei)2的(De)时(Shi)候(Hou)返(Fan)回(Hui)值(Zhi)是(Shi)((?))(?)
publicstaticint get Value(int i){
int result=0;
switch(i){
case 1:
result=result +i
case 2:
result=result+i*2
case 3:
result=result+i*3
}
return result;
}
A. 0
B. 2
C. 4
D. 10
答(Da)案(An):(?)C
分(Fen)析(Xi):(?)result = 0 + 2 * 2;
121.以(Yi)下(Xia)Java代(Dai)码(Ma)段(Duan)会(Hui)产(Chan)生(Sheng)几(Ji)个(Ge)对(Dui)象(Xiang)
publicvoid test(){
String a="a";
String b="b";
String c="c";
c=a+""+b+""+c;
System.out.print(c);
}

分(Fen)析(Xi):(?)答(Da)案(An): 一(Yi)个(Ge)对(Dui)象(Xiang),(?)因(Yin)为(Wei)编(Bian)译(Yi)期(Qi)进(Jin)行(Xing)了(Liao)优(You)化(Hua),(?)3个(Ge)字(Zi)符(Fu)串(Chuan)常(Chang)量(Liang)直(Zhi)接(Jie)折(Zhe)叠(Die)为(Wei)一(Yi)个(Ge)

122.Math.round((?)-11.2)(?)的(De)运(Yun)行(Xing)结(Jie)果(Guo)是(Shi)。(?)

答(Da)案(An): -11

分(Fen)析(Xi):(?)小(Xiao)数(Shu)点(Dian)后(Hou)第(Di)一(Yi)位(Wei)=5

正(Zheng)数(Shu):(?)Math.round(11.5)=12

负(Fu)数(Shu):(?)Math.round(-11.5)=-11

小(Xiao)数(Shu)点(Dian)后(Hou)第(Di)一(Yi)位(Wei)<5

正(Zheng)数(Shu):(?)Math.round(11.46)=11

负(Fu)数(Shu):(?)Math.round(-11.46)=-11

小(Xiao)数(Shu)点(Dian)后(Hou)第(Di)一(Yi)位(Wei)>5

正(Zheng)数(Shu):(?)Math.round(11.68)=12

负(Fu)数(Shu):(?)Math.round(-11.68)=-12

根(Gen)据(Ju)上(Shang)面(Mian)例(Li)子(Zi)的(De)运(Yun)行(Xing)结(Jie)果(Guo),(?)我(Wo)们(Men)还(Huan)可(Ke)以(Yi)按(An)照(Zhao)如(Ru)下(Xia)方(Fang)式(Shi)总(Zong)结(Jie),(?)或(Huo)许(Xu)更(Geng)加(Jia)容(Rong)易(Yi)记(Ji)忆(Yi):(?)

参(Can)数(Shu)的(De)小(Xiao)数(Shu)点(Dian)后(Hou)第(Di)一(Yi)位(Wei)<5,(?)运(Yun)算(Suan)结(Jie)果(Guo)为(Wei)参(Can)数(Shu)整(Zheng)数(Shu)部(Bu)分(Fen)。(?)

参(Can)数(Shu)的(De)小(Xiao)数(Shu)点(Dian)后(Hou)第(Di)一(Yi)位(Wei)>5,(?)运(Yun)算(Suan)结(Jie)果(Guo)为(Wei)参(Can)数(Shu)整(Zheng)数(Shu)部(Bu)分(Fen)绝(Jue)对(Dui)值(Zhi)+1,(?)符(Fu)号(Hao)((?)即(Ji)正(Zheng)负(Fu))(?)不(Bu)变(Bian)。(?)

参(Can)数(Shu)的(De)小(Xiao)数(Shu)点(Dian)后(Hou)第(Di)一(Yi)位(Wei)=5,(?)正(Zheng)数(Shu)运(Yun)算(Suan)结(Jie)果(Guo)为(Wei)整(Zheng)数(Shu)部(Bu)分(Fen)+1,(?)负(Fu)数(Shu)运(Yun)算(Suan)结(Jie)果(Guo)为(Wei)整(Zheng)数(Shu)部(Bu)分(Fen)。(?)

终(Zhong)结(Jie):(?)大(Da)于(Yu)五(Wu)全(Quan)部(Bu)加(Jia),(?)等(Deng)于(Yu)五(Wu)正(Zheng)数(Shu)加(Jia),(?)小(Xiao)于(Yu)五(Wu)全(Quan)不(Bu)加(Jia)。(?)

123.十(Shi)进(Jin)制(Zhi)数(Shu)278的(De)对(Dui)应(Ying)十(Shi)六(Liu)进(Jin)制(Zhi)数(Shu)

分(Fen)析(Xi):(?)十(Shi)进(Jin)制(Zhi)数(Shu)278的(De)对(Dui)应(Ying)十(Shi)六(Liu)进(Jin)制(Zhi)数(Shu)是(Shi)116

124.Java中(Zhong)int.long占(Zhan)用(Yong)的(De)字(Zi)节(Jie)数(Shu)分(Fen)别(Bie)是(Shi)

分(Fen)析(Xi):(?)

1:(?)“(?)字(Zi)节(Jie)”(?)是(Shi)byte,(?)“(?)位(Wei)”(?)是(Shi)bit ;(?)

2:(?) 1 byte = 8 bit ;(?)

char 在(Zai)Java中(Zhong)是(Shi)2个(Ge)字(Zi)节(Jie)。(?)java采(Cai)用(Yong)unicode,(?)2个(Ge)字(Zi)节(Jie)((?)16位(Wei))(?)来(Lai)表(Biao)示(Shi)一(Yi)个(Ge)字(Zi)符(Fu)。(?)

short 2个(Ge)字(Zi)节(Jie)

int 4个(Ge)字(Zi)节(Jie)

long 8个(Ge)字(Zi)节(Jie)

125.System.out.println(‘(?)a’(?)+1);的(De)结(Jie)果(Guo)是(Shi)

分(Fen)析(Xi):(?)'a'是(Shi)char型(Xing),(?)1 是(Shi)int行(Xing),(?)int与(Yu)char相(Xiang)加(Jia),(?)char会(Hui)被(Bei)强(Qiang)转(Zhuan)为(Wei)int行(Xing),(?)char的(De)ASCII码(Ma)对(Dui)应(Ying)的(De)值(Zhi)是(Shi)97,(?)所(Suo)以(Yi)加(Jia)一(Yi)起(Qi)打(Da)印(Yin)98

126.下(Xia)列(Lie)语(Yu)句(Ju)那(Na)一(Yi)个(Ge)正(Zheng)确(Que)((?))(?)
A. java程(Cheng)序(Xu)经(Jing)编(Bian)译(Yi)后(Hou)会(Hui)产(Chan)生(Sheng)machine code
B. java程(Cheng)序(Xu)经(Jing)编(Bian)译(Yi)后(Hou)会(Hui)产(Chan)生(Sheng) byte code
C. java程(Cheng)序(Xu)经(Jing)编(Bian)译(Yi)后(Hou)会(Hui)产(Chan)生(Sheng)DLL
D. 以(Yi)上(Shang)都(Du)不(Bu)正(Zheng)确(Que)
答(Da)案(An):(?)B
分(Fen)析(Xi):(?)java程(Cheng)序(Xu)编(Bian)译(Yi)后(Hou)会(Hui)生(Sheng)成(Cheng)字(Zi)节(Jie)码(Ma)文(Wen)件(Jian),就(Jiu)是(Shi).class文(Wen)件(Jian)
127.下(Xia)列(Lie)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)有(You)((?))(?)
A. class中(Zhong)的(De)constructor不(Bu)可(Ke)省(Sheng)略(Lue)
B. constructor必(Bi)须(Xu)与(Yu)class同(Tong)名(Ming),(?)但(Dan)方(Fang)法(Fa)不(Bu)能(Neng)与(Yu)class同(Tong)名(Ming)
C. constructor在(Zai)一(Yi)个(Ge)对(Dui)象(Xiang)被(Bei)new时(Shi)执(Zhi)行(Xing)
D. 一(Yi)个(Ge)class只(Zhi)能(Neng)定(Ding)义(Yi)一(Yi)个(Ge)constructor
答(Da)案(An):(?)C
128.执(Zhi)行(Xing)如(Ru)下(Xia)程(Cheng)序(Xu)代(Dai)码(Ma)((?))(?)
a=0;(?)c=0;(?)
do{
—(?)—(?)c;(?)
a=a-1;(?)
}(?)while((?)a>(?)0)(?);(?)
后(Hou),(?)c的(De)值(Zhi)是(Shi)((?))(?)
A. 0
B. 1
C. -1
D. 死(Si)循(Xun)环(Huan)
答(Da)案(An):(?)C
do{...}while(...);语(Yu)句(Ju)至(Zhi)少(Shao)执(Zhi)行(Xing)一(Yi)次(Ci)
129.下(Xia)列(Lie)哪(Na)一(Yi)种(Zhong)叙(Xu)述(Shu)是(Shi)正(Zheng)确(Que)的(De)((?))(?)
A. abstract修(Xiu)饰(Shi)符(Fu)可(Ke)修(Xiu)饰(Shi)字(Zi)段(Duan)、(?)方(Fang)法(Fa)和(He)类(Lei)
B. 抽(Chou)象(Xiang)方(Fang)法(Fa)的(De)body部(Bu)分(Fen)必(Bi)须(Xu)用(Yong)一(Yi)对(Dui)大(Da)括(Kuo)号(Hao){(?)}(?)包(Bao)住(Zhu)
C. 声(Sheng)明(Ming)抽(Chou)象(Xiang)方(Fang)法(Fa),(?)大(Da)括(Kuo)号(Hao)可(Ke)有(You)可(Ke)无(Wu)
D. 声(Sheng)明(Ming)抽(Chou)象(Xiang)方(Fang)法(Fa)不(Bu)可(Ke)写(Xie)出(Chu)大(Da)括(Kuo)号(Hao)
答(Da)案(An):(?)D
分(Fen)析(Xi):(?) abstract不(Bu)能(Neng)修(Xiu)饰(Shi)字(Zi)段(Duan)。(?)既(Ji)然(Ran)是(Shi)抽(Chou)象(Xiang)方(Fang)法(Fa),(?)当(Dang)然(Ran)是(Shi)没(Mei)有(You)实(Shi)现(Xian)的(De)方(Fang)法(Fa),(?)根(Gen)本(Ben)就(Jiu)没(Mei)有(You)body部(Bu)分(Fen)。(?)
130.下(Xia)列(Lie)语(Yu)句(Ju)正(Zheng)确(Que)的(De)是(Shi)((?))(?)
A. 形(Xing)式(Shi)参(Can)数(Shu)可(Ke)被(Bei)视(Shi)为(Wei)local variable
B. 形(Xing)式(Shi)参(Can)数(Shu)可(Ke)被(Bei)字(Zi)段(Duan)修(Xiu)饰(Shi)符(Fu)修(Xiu)饰(Shi)
C. 形(Xing)式(Shi)参(Can)数(Shu)为(Wei)方(Fang)法(Fa)被(Bei)调(Diao)用(Yong)时(Shi),(?)真(Zhen)正(Zheng)被(Bei)传(Chuan)递(Di)的(De)参(Can)数(Shu)
D. 形(Xing)式(Shi)参(Can)数(Shu)不(Bu)可(Ke)以(Yi)是(Shi)对(Dui)象(Xiang)
答(Da)案(An)A:(?)
分(Fen)析(Xi):(?)
A:(?)形(Xing)式(Shi)参(Can)数(Shu)可(Ke)被(Bei)视(Shi)为(Wei)local variable。(?)形(Xing)参(Can)和(He)局(Ju)部(Bu)变(Bian)量(Liang)一(Yi)样(Yang)都(Du)不(Bu)能(Neng)离(Li)开(Kai)方(Fang)法(Fa)。(?)都(Du)只(Zhi)有(You)在(Zai)方(Fang)法(Fa)内(Nei)才(Cai)会(Hui)发(Fa)生(Sheng)作(Zuo)用(Yong),(?)也(Ye)只(Zhi)有(You)在(Zai)方(Fang)法(Fa)中(Zhong)使(Shi)用(Yong),(?)不(Bu)会(Hui)在(Zai)方(Fang)法(Fa)外(Wai)可(Ke)见(Jian)。(?)
B:(?)对(Dui)于(Yu)形(Xing)式(Shi)参(Can)数(Shu)只(Zhi)能(Neng)用(Yong)final修(Xiu)饰(Shi)符(Fu),(?)其(Qi)它(Ta)任(Ren)何(He)修(Xiu)饰(Shi)符(Fu)都(Du)会(Hui)引(Yin)起(Qi)编(Bian)译(Yi)器(Qi)错(Cuo)误(Wu)。(?)但(Dan)是(Shi)用(Yong)这(Zhe)个(Ge)修(Xiu)饰(Shi)符(Fu)也(Ye)有(You)一(Yi)定(Ding)的(De)限(Xian)制(Zhi),(?)就(Jiu)是(Shi)在(Zai)方(Fang)法(Fa)中(Zhong)不(Bu)能(Neng)对(Dui)参(Can)数(Shu)做(Zuo)任(Ren)何(He)修(Xiu)改(Gai)。(?) 不(Bu)过(Guo)一(Yi)般(Ban)情(Qing)况(Kuang)下(Xia),(?)一(Yi)个(Ge)方(Fang)法(Fa)的(De)形(Xing)参(Can)不(Bu)用(Yong)final修(Xiu)饰(Shi)。(?)只(Zhi)有(You)在(Zai)特(Te)殊(Shu)情(Qing)况(Kuang)下(Xia),(?)那(Na)就(Jiu)是(Shi):(?)方(Fang)法(Fa)内(Nei)部(Bu)类(Lei)。(?) 一(Yi)个(Ge)方(Fang)法(Fa)内(Nei)的(De)内(Nei)部(Bu)类(Lei)如(Ru)果(Guo)使(Shi)用(Yong)了(Liao)这(Zhe)个(Ge)方(Fang)法(Fa)的(De)参(Can)数(Shu)或(Huo)者(Zhe)局(Ju)部(Bu)变(Bian)量(Liang)的(De)话(Hua),(?)这(Zhe)个(Ge)参(Can)数(Shu)或(Huo)局(Ju)部(Bu)变(Bian)量(Liang)应(Ying)该(Gai)是(Shi)final。(?)
C:(?)形(Xing)参(Can)的(De)值(Zhi)在(Zai)调(Diao)用(Yong)时(Shi)根(Gen)据(Ju)调(Diao)用(Yong)者(Zhe)更(Geng)改(Gai),(?)实(Shi)参(Can)则(Ze)用(Yong)自(Zi)身(Shen)的(De)值(Zhi)更(Geng)改(Gai)形(Xing)参(Can)的(De)值(Zhi)((?)指(Zhi)针(Zhen)、(?)引(Yin)用(Yong)皆(Jie)在(Zai)此(Ci)列(Lie))(?),(?)也(Ye)就(Jiu)是(Shi)说(Shuo)真(Zhen)正(Zheng)被(Bei)传(Chuan)递(Di)的(De)是(Shi)实(Shi)参(Can)。(?)
D:(?)方(Fang)法(Fa)的(De)参(Can)数(Shu)列(Lie)表(Biao)指(Zhi)定(Ding)要(Yao)传(Chuan)递(Di)给(Gei)方(Fang)法(Fa)什(Shi)么(Me)样(Yang)的(De)信(Xin)息(Xi),(?)采(Cai)用(Yong)的(De)都(Du)是(Shi)对(Dui)象(Xiang)的(De)形(Xing)式(Shi)。(?)因(Yin)此(Ci),(?)在(Zai)参(Can)数(Shu)列(Lie)表(Biao)中(Zhong)必(Bi)须(Xu)指(Zhi)定(Ding)每(Mei)个(Ge)所(Suo)传(Chuan)递(Di)对(Dui)象(Xiang)的(De)类(Lei)型(Xing)及(Ji)名(Ming)字(Zi)。(?)想(Xiang)JAVA中(Zhong)任(Ren)何(He)传(Chuan)递(Di)对(Dui)象(Xiang)的(De)场(Chang)合(He)一(Yi)样(Yang),(?)这(Zhe)里(Li)传(Chuan)递(Di)的(De)实(Shi)际(Ji)上(Shang)也(Ye)是(Shi)引(Yin)用(Yong),(?)并(Bing)且(Qie)引(Yin)用(Yong)的(De)类(Lei)型(Xing)必(Bi)须(Xu)正(Zheng)确(Que)。(?)--《(?)Thinking in JAVA》(?)
131.成(Cheng)员(Yuan)变(Bian)量(Liang)用(Yong)static修(Xiu)饰(Shi)和(He)不(Bu)用(Yong)static修(Xiu)饰(Shi)有(You)什(Shi)么(Me)区(Qu)别(Bie)?(?)

1、(?)两(Liang)个(Ge)变(Bian)量(Liang)的(De)生(Sheng)命(Ming)周(Zhou)期(Qi)不(Bu)同(Tong)。(?)

成(Cheng)员(Yuan)变(Bian)量(Liang)随(Sui)着(Zhuo)对(Dui)象(Xiang)的(De)创(Chuang)建(Jian)而(?)存(Cun)在(Zai),(?)随(Sui)着(Zhuo)对(Dui)象(Xiang)的(De)被(Bei)回(Hui)收(Shou)而(?)释(Shi)放(Fang)。(?)

静(Jing)态(Tai)变(Bian)量(Liang)随(Sui)着(Zhuo)类(Lei)的(De)加(Jia)载(Zai)而(?)存(Cun)在(Zai),(?)随(Sui)着(Zhuo)类(Lei)的(De)消(Xiao)失(Shi)而(?)消(Xiao)失(Shi)。(?)

2、(?)调(Diao)用(Yong)方(Fang)式(Shi)不(Bu)同(Tong)。(?)

成(Cheng)员(Yuan)变(Bian)量(Liang)只(Zhi)能(Neng)被(Bei)对(Dui)象(Xiang)调(Diao)用(Yong)。(?)

成(Cheng)员(Yuan)变(Bian)量(Liang)只(Zhi)能(Neng)被(Bei)对(Dui)象(Xiang)调(Diao)用(Yong)。(?)

成(Cheng)员(Yuan)变(Bian)量(Liang)只(Zhi)能(Neng)被(Bei)对(Dui)象(Xiang)调(Diao)用(Yong)。(?)

类(Lei)名(Ming)调(Diao)用(Yong) :(?)Person.country

3、(?)别(Bie)名(Ming)不(Bu)同(Tong)。(?)

成(Cheng)员(Yuan)变(Bian)量(Liang)也(Ye)称(Cheng)为(Wei)实(Shi)例(Li)变(Bian)量(Liang)。(?)

静(Jing)态(Tai)变(Bian)量(Liang)称(Cheng)为(Wei)类(Lei)变(Bian)量(Liang)。(?)

4、(?)数(Shu)据(Ju)存(Cun)储(Chu)位(Wei)置(Zhi)不(Bu)同(Tong)。(?)

成(Cheng)员(Yuan)变(Bian)量(Liang)数(Shu)据(Ju)存(Cun)储(Chu)在(Zai)堆(Dui)内(Nei)存(Cun)的(De)对(Dui)象(Xiang)中(Zhong),(?)所(Suo)以(Yi)也(Ye)叫(Jiao)对(Dui)象(Xiang)的(De)特(Te)有(You)数(Shu)据(Ju).

静(Jing)态(Tai)变(Bian)量(Liang)数(Shu)据(Ju)存(Cun)储(Chu)在(Zai)方(Fang)法(Fa)区(Qu)(共(Gong)享(Xiang)数(Shu)据(Ju)区(Qu))的(De)静(Jing)态(Tai)区(Qu),(?)所(Suo)以(Yi)也(Ye)叫(Jiao)对(Dui)象(Xiang)的(De)共(Gong)享(Xiang)数(Shu)据(Ju).

132.如(Ru)果(Guo)变(Bian)量(Liang)用(Yong)final修(Xiu)饰(Shi),(?)则(Ze)怎(Zen)样(Yang)?(?)如(Ru)果(Guo)方(Fang)法(Fa)final修(Xiu)饰(Shi),(?)则(Ze)怎(Zen)样(Yang)?(?)

1、(?)用(Yong)final修(Xiu)饰(Shi)的(De)类(Lei)不(Bu)能(Neng)被(Bei)扩(Kuo)展(Zhan),(?)也(Ye)就(Jiu)是(Shi)说(Shuo)不(Bu)可(Ke)能(Neng)有(You)子(Zi)类(Lei);(?)

2、(?)用(Yong)final修(Xiu)饰(Shi)的(De)方(Fang)法(Fa)不(Bu)能(Neng)被(Bei)替(Ti)换(Huan)或(Huo)隐(Yin)藏(Cang):(?)

①(?) 使(Shi)用(Yong)final修(Xiu)饰(Shi)的(De)实(Shi)例(Li)方(Fang)法(Fa)在(Zai)其(Qi)所(Suo)属(Shu)类(Lei)的(De)子(Zi)类(Lei)中(Zhong)不(Bu)能(Neng)被(Bei)替(Ti)换(Huan)((?)overridden)(?);(?)

②(?) 使(Shi)用(Yong)final修(Xiu)饰(Shi)的(De)静(Jing)态(Tai)方(Fang)法(Fa)在(Zai)其(Qi)所(Suo)属(Shu)类(Lei)的(De)子(Zi)类(Lei)中(Zhong)不(Bu)能(Neng)被(Bei)重(Zhong)定(Ding)义(Yi)((?)redefined)(?)而(?)隐(Yin)藏(Cang)((?)hidden)(?);(?)

3、(?)用(Yong)final修(Xiu)饰(Shi)的(De)变(Bian)量(Liang)最(Zui)多(Duo)只(Zhi)能(Neng)赋(Fu)值(Zhi)一(Yi)次(Ci),(?)在(Zai)赋(Fu)值(Zhi)方(Fang)式(Shi)上(Shang)不(Bu)同(Tong)类(Lei)型(Xing)的(De)变(Bian)量(Liang)或(Huo)稍(Shao)有(You)不(Bu)同(Tong):(?)

①(?) 静(Jing)态(Tai)变(Bian)量(Liang)必(Bi)须(Xu)明(Ming)确(Que)赋(Fu)值(Zhi)一(Yi)次(Ci)((?)不(Bu)能(Neng)只(Zhi)使(Shi)用(Yong)类(Lei)型(Xing)缺(Que)省(Sheng)值(Zhi))(?);(?)作(Zuo)为(Wei)类(Lei)成(Cheng)员(Yuan)的(De)静(Jing)态(Tai)变(Bian)量(Liang),(?)赋(Fu)值(Zhi)可(Ke)以(Yi)在(Zai)其(Qi)声(Sheng)明(Ming)中(Zhong)通(Tong)过(Guo)初(Chu)始(Shi)化(Hua)表(Biao)达(Da)式(Shi)完(Wan)成(Cheng),(?)也(Ye)可(Ke)以(Yi)在(Zai)静(Jing)态(Tai)初(Chu)始(Shi)化(Hua)块(Kuai)中(Zhong)进(Jin)行(Xing);(?)作(Zuo)为(Wei)接(Jie)口(Kou)成(Cheng)员(Yuan)的(De)静(Jing)态(Tai)变(Bian)量(Liang),(?)赋(Fu)值(Zhi)只(Zhi)能(Neng)在(Zai)其(Qi)声(Sheng)明(Ming)中(Zhong)通(Tong)过(Guo)初(Chu)始(Shi)化(Hua)表(Biao)达(Da)式(Shi)完(Wan)成(Cheng);(?)

②(?) 实(Shi)例(Li)变(Bian)量(Liang)同(Tong)样(Yang)必(Bi)须(Xu)明(Ming)确(Que)赋(Fu)值(Zhi)一(Yi)次(Ci)((?)不(Bu)能(Neng)只(Zhi)使(Shi)用(Yong)类(Lei)型(Xing)缺(Que)省(Sheng)值(Zhi))(?);(?)赋(Fu)值(Zhi)可(Ke)以(Yi)在(Zai)其(Qi)声(Sheng)明(Ming)中(Zhong)通(Tong)过(Guo)初(Chu)始(Shi)化(Hua)表(Biao)达(Da)式(Shi)完(Wan)成(Cheng),(?)也(Ye)可(Ke)以(Yi)在(Zai)实(Shi)例(Li)初(Chu)始(Shi)化(Hua)块(Kuai)或(Huo)构(Gou)造(Zao)器(Qi)中(Zhong)进(Jin)行(Xing);(?)

③(?) 方(Fang)法(Fa)参(Can)数(Shu)变(Bian)量(Liang)在(Zai)方(Fang)法(Fa)被(Bei)调(Diao)用(Yong)时(Shi)创(Chuang)建(Jian),(?)同(Tong)时(Shi)被(Bei)初(Chu)始(Shi)化(Hua)为(Wei)对(Dui)应(Ying)实(Shi)参(Can)值(Zhi),(?)终(Zhong)止(Zhi)于(Yu)方(Fang)法(Fa)体(Ti) ((?)body)(?)结(Jie)束(Shu),(?)在(Zai)此(Ci)期(Qi)间(Jian)其(Qi)值(Zhi)不(Bu)能(Neng)改(Gai)变(Bian);(?)

④(?) 构(Gou)造(Zao)器(Qi)参(Can)数(Shu)变(Bian)量(Liang)在(Zai)构(Gou)造(Zao)器(Qi)被(Bei)调(Diao)用(Yong)((?)通(Tong)过(Guo)实(Shi)例(Li)创(Chuang)建(Jian)表(Biao)达(Da)式(Shi)或(Huo)显(Xian)示(Shi)的(De)构(Gou)造(Zao)器(Qi)调(Diao)用(Yong))(?)时(Shi)创(Chuang)建(Jian),(?)同(Tong)时(Shi)被(Bei)初(Chu)始(Shi)化(Hua),(?)为(Wei)对(Dui)应(Ying)实(Shi)参(Can)值(Zhi),(?)终(Zhong)止(Zhi)于(Yu)构(Gou)造(Zao)器(Qi)体(Ti)结(Jie)束(Shu),(?)在(Zai)此(Ci)期(Qi)间(Jian)其(Qi)值(Zhi)不(Bu)能(Neng)改(Gai)变(Bian);(?)

⑤(?) 异(Yi)常(Chang)处(Chu)理(Li)器(Qi)参(Can)数(Shu)变(Bian)量(Liang)在(Zai)有(You)异(Yi)常(Chang)被(Bei)try语(Yu)句(Ju)的(De)catch子(Zi)句(Ju)捕(Bu)捉(Zhuo)到(Dao)时(Shi)创(Chuang)建(Jian),(?)同(Tong)时(Shi)被(Bei)初(Chu)始(Shi)化(Hua)为(Wei)实(Shi)际(Ji)的(De)异(Yi)常(Chang)对(Dui)象(Xiang),(?)终(Zhong)止(Zhi)于(Yu)catch语(Yu)句(Ju)块(Kuai)结(Jie)束(Shu),(?)在(Zai)此(Ci)期(Qi)间(Jian)其(Qi)值(Zhi)不(Bu)能(Neng)改(Gai)变(Bian);(?)

⑥(?) 局(Ju)部(Bu)变(Bian)量(Liang)在(Zai)其(Qi)值(Zhi)被(Bei)访(Fang)问(Wen)之(Zhi)前(Qian)必(Bi)须(Xu)被(Bei)明(Ming)确(Que)赋(Fu)值(Zhi);(?)

133.在(Zai)二(?)进(Jin)制(Zhi)数(Shu)据(Ju)中(Zhong),(?)小(Xiao)数(Shu)点(Dian)向(Xiang)右(You)移(Yi)一(Yi)位(Wei),(?)则(Ze)数(Shu)据(Ju)((?))(?)
A. 除(Chu)以(Yi)10
B. 除(Chu)以(Yi)2
C. 乘(Cheng)以(Yi)2
D. 乘(Cheng)以(Yi)10
乘(Cheng)以(Yi)10
分(Fen)析(Xi):(?)可(Ke)以(Yi)看(Kan)个(Ge)例(Li)子(Zi)
101.1 对(Dui)应(Ying)的(De)十(Shi)进(Jin)制(Zhi)为(Wei) 2^2*1 + 2^1*0 + 2^0*1 + 2^-1*1 = 5.5小(Xiao)数(Shu)点(Dian)右(You)移(Yi)一(Yi)位(Wei)
1011 对(Dui)应(Ying)的(De)十(Shi)进(Jin)制(Zhi)为(Wei) 2^3*1 + 2^2*0 + 2^1*1 + 2^0*1 = 11所(Suo)以(Yi)是(Shi)扩(Kuo)大(Da)到(Dao)原(Yuan)来(Lai)的(De)2倍(Bei)
134.面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)特(Te)征(Zheng)有(You)哪(Na)些(Xie)方(Fang)面(Mian)?

答(Da):(?)面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)特(Te)征(Zheng)主(Zhu)要(Yao)有(You)以(Yi)下(Xia)几(Ji)个(Ge)方(Fang)面(Mian):(?)

1、(?)抽(Chou)象(Xiang):(?)抽(Chou)象(Xiang)是(Shi)将(Jiang)一(Yi)类(Lei)对(Dui)象(Xiang)的(De)共(Gong)同(Tong)特(Te)征(Zheng)总(Zong)结(Jie)出(Chu)来(Lai)构(Gou)造(Zao)类(Lei)的(De)过(Guo)程(Cheng),(?)包(Bao)括(Kuo)数(Shu)据(Ju)抽(Chou)象(Xiang)和(He)行(Xing)为(Wei)抽(Chou)象(Xiang)两(Liang)方(Fang)面(Mian)。(?)抽(Chou)象(Xiang)只(Zhi)关(Guan)注(Zhu)对(Dui)象(Xiang)有(You)哪(Na)些(Xie)属(Shu)性(Xing)和(He)行(Xing)为(Wei),(?)并(Bing)不(Bu)关(Guan)注(Zhu)这(Zhe)些(Xie)行(Xing)为(Wei)的(De)细(Xi)节(Jie)是(Shi)什(Shi)么(Me)。(?)

2、(?)继(Ji)承(Cheng):(?)继(Ji)承(Cheng)是(Shi)从(Cong)已(Yi)有(You)类(Lei)得(De)到(Dao)继(Ji)承(Cheng)信(Xin)息(Xi)创(Chuang)建(Jian)新(Xin)类(Lei)的(De)过(Guo)程(Cheng)。(?)提(Ti)供(Gong)继(Ji)承(Cheng)信(Xin)息(Xi)的(De)类(Lei)被(Bei)称(Cheng)为(Wei)父(Fu)类(Lei)((?)超(Chao)类(Lei)、(?)基(Ji)类(Lei))(?);(?)得(De)到(Dao)继(Ji)承(Cheng)信(Xin)息(Xi)的(De)类(Lei)被(Bei)称(Cheng)为(Wei)子(Zi)类(Lei)((?)派(Pai)生(Sheng)类(Lei))(?)。(?)继(Ji)承(Cheng)让(Rang)变(Bian)化(Hua)中(Zhong)的(De)软(Ruan)件(Jian)系(Xi)统(Tong)有(You)了(Liao)一(Yi)定(Ding)的(De)延(Yan)续(Xu)性(Xing),(?)同(Tong)时(Shi)继(Ji)承(Cheng)也(Ye)是(Shi)封(Feng)装(Zhuang)程(Cheng)序(Xu)中(Zhong)可(Ke)变(Bian)因(Yin)素(Su)的(De)重(Zhong)要(Yao)手(Shou)段(Duan)((?)如(Ru)果(Guo)不(Bu)能(Neng)理(Li)解(Jie)请(Qing)阅(Yue)读(Du)阎(Yan)宏(Hong)博(Bo)士(Shi)的(De)《(?)Java与(Yu)模(Mo)式(Shi)》(?)或(Huo)《(?)设(She)计(Ji)模(Mo)式(Shi)精(Jing)解(Jie)》(?)中(Zhong)关(Guan)于(Yu)桥(Qiao)梁(Liang)模(Mo)式(Shi)的(De)部(Bu)分(Fen))(?)。(?)

3、(?)封(Feng)装(Zhuang):(?)通(Tong)常(Chang)认(Ren)为(Wei)封(Feng)装(Zhuang)是(Shi)把(Ba)数(Shu)据(Ju)和(He)操(Cao)作(Zuo)数(Shu)据(Ju)的(De)方(Fang)法(Fa)绑(Bang)定(Ding)起(Qi)来(Lai),(?)对(Dui)数(Shu)据(Ju)的(De)访(Fang)问(Wen)只(Zhi)能(Neng)通(Tong)过(Guo)已(Yi)定(Ding)义(Yi)的(De)接(Jie)口(Kou)。(?)面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)本(Ben)质(Zhi)就(Jiu)是(Shi)将(Jiang)现(Xian)实(Shi)世(Shi)界(Jie)描(Miao)绘(Hui)成(Cheng)一(Yi)系(Xi)列(Lie)完(Wan)全(Quan)自(Zi)治(Zhi)、(?)封(Feng)闭(Bi)的(De)对(Dui)象(Xiang)。(?)我(Wo)们(Men)在(Zai)类(Lei)中(Zhong)编(Bian)写(Xie)的(De)方(Fang)法(Fa)就(Jiu)是(Shi)对(Dui)实(Shi)现(Xian)细(Xi)节(Jie)的(De)一(Yi)种(Zhong)封(Feng)装(Zhuang);(?)我(Wo)们(Men)编(Bian)写(Xie)一(Yi)个(Ge)类(Lei)就(Jiu)是(Shi)对(Dui)数(Shu)据(Ju)和(He)数(Shu)据(Ju)操(Cao)作(Zuo)的(De)封(Feng)装(Zhuang)。(?)可(Ke)以(Yi)说(Shuo),(?)封(Feng)装(Zhuang)就(Jiu)是(Shi)隐(Yin)藏(Cang)一(Yi)切(Qie)可(Ke)隐(Yin)藏(Cang)的(De)东(Dong)西(Xi),(?)只(Zhi)向(Xiang)外(Wai)界(Jie)提(Ti)供(Gong)最(Zui)简(Jian)单(Dan)的(De)编(Bian)程(Cheng)接(Jie)口(Kou)((?)可(Ke)以(Yi)想(Xiang)想(Xiang)普(Pu)通(Tong)洗(Xi)衣(Yi)机(Ji)和(He)全(Quan)自(Zi)动(Dong)洗(Xi)衣(Yi)机(Ji)的(De)差(Cha)别(Bie),(?)明(Ming)显(Xian)全(Quan)自(Zi)动(Dong)洗(Xi)衣(Yi)机(Ji)封(Feng)装(Zhuang)更(Geng)好(Hao)因(Yin)此(Ci)操(Cao)作(Zuo)起(Qi)来(Lai)更(Geng)简(Jian)单(Dan);(?)我(Wo)们(Men)现(Xian)在(Zai)使(Shi)用(Yong)的(De)智(Zhi)能(Neng)手(Shou)机(Ji)也(Ye)是(Shi)封(Feng)装(Zhuang)得(De)足(Zu)够(Gou)好(Hao)的(De),(?)因(Yin)为(Wei)几(Ji)个(Ge)按(An)键(Jian)就(Jiu)搞(Gao)定(Ding)了(Liao)所(Suo)有(You)的(De)事(Shi)情(Qing))(?)。(?)

4、(?)多(Duo)态(Tai)性(Xing):(?)多(Duo)态(Tai)性(Xing)是(Shi)指(Zhi)允(Yun)许(Xu)不(Bu)同(Tong)子(Zi)类(Lei)型(Xing)的(De)对(Dui)象(Xiang)对(Dui)同(Tong)一(Yi)消(Xiao)息(Xi)作(Zuo)出(Chu)不(Bu)同(Tong)的(De)响(Xiang)应(Ying)。(?)简(Jian)单(Dan)的(De)说(Shuo)就(Jiu)是(Shi)用(Yong)同(Tong)样(Yang)的(De)对(Dui)象(Xiang)引(Yin)用(Yong)调(Diao)用(Yong)同(Tong)样(Yang)的(De)方(Fang)法(Fa)但(Dan)是(Shi)做(Zuo)了(Liao)不(Bu)同(Tong)的(De)事(Shi)情(Qing)。(?)多(Duo)态(Tai)性(Xing)分(Fen)为(Wei)编(Bian)译(Yi)时(Shi)的(De)多(Duo)态(Tai)性(Xing)和(He)运(Yun)行(Xing)时(Shi)的(De)多(Duo)态(Tai)性(Xing)。(?)如(Ru)果(Guo)将(Jiang)对(Dui)象(Xiang)的(De)方(Fang)法(Fa)视(Shi)为(Wei)对(Dui)象(Xiang)向(Xiang)外(Wai)界(Jie)提(Ti)供(Gong)的(De)服(Fu)务(Wu),(?)那(Na)么(Me)运(Yun)行(Xing)时(Shi)的(De)多(Duo)态(Tai)性(Xing)可(Ke)以(Yi)解(Jie)释(Shi)为(Wei):(?)当(Dang)A系(Xi)统(Tong)访(Fang)问(Wen)B系(Xi)统(Tong)提(Ti)供(Gong)的(De)服(Fu)务(Wu)时(Shi),(?)B系(Xi)统(Tong)有(You)多(Duo)种(Zhong)提(Ti)供(Gong)服(Fu)务(Wu)的(De)方(Fang)式(Shi),(?)但(Dan)一(Yi)切(Qie)对(Dui)A系(Xi)统(Tong)来(Lai)说(Shuo)都(Du)是(Shi)透(Tou)明(Ming)的(De)((?)就(Jiu)像(Xiang)电(Dian)动(Dong)剃(Ti)须(Xu)刀(Dao)是(Shi)A系(Xi)统(Tong),(?)它(Ta)的(De)供(Gong)电(Dian)系(Xi)统(Tong)是(Shi)B系(Xi)统(Tong),(?)B系(Xi)统(Tong)可(Ke)以(Yi)使(Shi)用(Yong)电(Dian)池(Chi)供(Gong)电(Dian)或(Huo)者(Zhe)用(Yong)交(Jiao)流(Liu)电(Dian),(?)甚(Shen)至(Zhi)还(Huan)有(You)可(Ke)能(Neng)是(Shi)太(Tai)阳(Yang)能(Neng),(?)A系(Xi)统(Tong)只(Zhi)会(Hui)通(Tong)过(Guo)B类(Lei)对(Dui)象(Xiang)调(Diao)用(Yong)供(Gong)电(Dian)的(De)方(Fang)法(Fa),(?)但(Dan)并(Bing)不(Bu)知(Zhi)道(Dao)供(Gong)电(Dian)系(Xi)统(Tong)的(De)底(Di)层(Ceng)实(Shi)现(Xian)是(Shi)什(Shi)么(Me),(?)究(Jiu)竟(Jing)通(Tong)过(Guo)何(He)种(Zhong)方(Fang)式(Shi)获(Huo)得(De)了(Liao)动(Dong)力(Li))(?)。(?)方(Fang)法(Fa)重(Zhong)载(Zai)((?)overload)(?)实(Shi)现(Xian)的(De)是(Shi)编(Bian)译(Yi)时(Shi)的(De)多(Duo)态(Tai)性(Xing)((?)也(Ye)称(Cheng)为(Wei)前(Qian)绑(Bang)定(Ding))(?),(?)而(?)方(Fang)法(Fa)重(Zhong)写(Xie)((?)override)(?)实(Shi)现(Xian)的(De)是(Shi)运(Yun)行(Xing)时(Shi)的(De)多(Duo)态(Tai)性(Xing)((?)也(Ye)称(Cheng)为(Wei)后(Hou)绑(Bang)定(Ding))(?)。(?)运(Yun)行(Xing)时(Shi)的(De)多(Duo)态(Tai)是(Shi)面(Mian)向(Xiang)对(Dui)象(Xiang)最(Zui)精(Jing)髓(Sui)的(De)东(Dong)西(Xi),(?)要(Yao)实(Shi)现(Xian)多(Duo)态(Tai)需(Xu)要(Yao)做(Zuo)两(Liang)件(Jian)事(Shi):(?)1. 方(Fang)法(Fa)重(Zhong)写(Xie)((?)子(Zi)类(Lei)继(Ji)承(Cheng)父(Fu)类(Lei)并(Bing)重(Zhong)写(Xie)父(Fu)类(Lei)中(Zhong)已(Yi)有(You)的(De)或(Huo)抽(Chou)象(Xiang)的(De)方(Fang)法(Fa))(?);(?)2. 对(Dui)象(Xiang)造(Zao)型(Xing)((?)用(Yong)父(Fu)类(Lei)型(Xing)引(Yin)用(Yong)引(Yin)用(Yong)子(Zi)类(Lei)型(Xing)对(Dui)象(Xiang),(?)这(Zhe)样(Yang)同(Tong)样(Yang)的(De)引(Yin)用(Yong)调(Diao)用(Yong)同(Tong)样(Yang)的(De)方(Fang)法(Fa)就(Jiu)会(Hui)根(Gen)据(Ju)子(Zi)类(Lei)对(Dui)象(Xiang)的(De)不(Bu)同(Tong)而(?)表(Biao)现(Xian)出(Chu)不(Bu)同(Tong)的(De)行(Xing)为(Wei))(?)。(?)

135.float f=3.4;是(Shi)否(Fou)正(Zheng)确(Que)?

答(Da):不(Bu)正(Zheng)确(Que)。(?)3.4是(Shi)双(Shuang)精(Jing)度(Du)数(Shu),(?)将(Jiang)双(Shuang)精(Jing)度(Du)型(Xing)((?)double)(?)赋(Fu)值(Zhi)给(Gei)浮(Fu)点(Dian)型(Xing)((?)float)(?)属(Shu)于(Yu)下(Xia)转(Zhuan)型(Xing)((?)down-casting,(?)也(Ye)称(Cheng)为(Wei)窄(Zhai)化(Hua))(?)会(Hui)造(Zao)成(Cheng)精(Jing)度(Du)损(Sun)失(Shi),(?)因(Yin)此(Ci)需(Xu)要(Yao)强(Qiang)制(Zhi)类(Lei)型(Xing)转(Zhuan)换(Huan)float f =(float)3.4; 或(Huo)者(Zhe)写(Xie)成(Cheng)float f =3.4F;。(?)

136.short s1 = 1; s1 = s1 + 1;有(You)错(Cuo)吗(Ma)?short s1 = 1; s1 += 1;有(You)错(Cuo)吗(Ma)?

答(Da):(?)对(Dui)于(Yu)short s1 = 1; s1 = s1 + 1;由(You)于(Yu)1是(Shi)int类(Lei)型(Xing),(?)因(Yin)此(Ci)s1+1运(Yun)算(Suan)结(Jie)果(Guo)也(Ye)是(Shi)int 型(Xing),(?)需(Xu)要(Yao)强(Qiang)制(Zhi)转(Zhuan)换(Huan)类(Lei)型(Xing)才(Cai)能(Neng)赋(Fu)值(Zhi)给(Gei)short型(Xing)。(?)而(?)short s1 = 1; s1 += 1;可(Ke)以(Yi)正(Zheng)确(Que)编(Bian)译(Yi),(?)因(Yin)为(Wei)s1+= 1;相(Xiang)当(Dang)于(Yu)s1 = (short)(s1 + 1);其(Qi)中(Zhong)有(You)隐(Yin)含(Han)的(De)强(Qiang)制(Zhi)类(Lei)型(Xing)转(Zhuan)换(Huan)。(?)

137.Java 有(You)没(Mei)有(You)goto?

答(Da):(?) goto 是(Shi)Java中(Zhong)的(De)保(Bao)留(Liu)字(Zi),(?)在(Zai)目(Mu)前(Qian)版(Ban)本(Ben)的(De)Java中(Zhong)没(Mei)有(You)使(Shi)用(Yong)。(?)((?)根(Gen)据(Ju)James Gosling((?)Java之(Zhi)父(Fu))(?)编(Bian)写(Xie)的(De)《(?)The Java Programming Language》(?)一(Yi)书(Shu)的(De)附(Fu)录(Lu)中(Zhong)给(Gei)出(Chu)了(Liao)一(Yi)个(Ge)Java关(Guan)键(Jian)字(Zi)列(Lie)表(Biao),(?)其(Qi)中(Zhong)有(You)goto和(He)const,(?)但(Dan)是(Shi)这(Zhe)两(Liang)个(Ge)是(Shi)目(Mu)前(Qian)无(Wu)法(Fa)使(Shi)用(Yong)的(De)关(Guan)键(Jian)字(Zi),(?)因(Yin)此(Ci)有(You)些(Xie)地(Di)方(Fang)将(Jiang)其(Qi)称(Cheng)之(Zhi)为(Wei)保(Bao)留(Liu)字(Zi),(?)其(Qi)实(Shi)保(Bao)留(Liu)字(Zi)这(Zhe)个(Ge)词(Ci)应(Ying)该(Gai)有(You)更(Geng)广(Guang)泛(Fan)的(De)意(Yi)义(Yi),(?)因(Yin)为(Wei)熟(Shu)悉(Xi)C语(Yu)言(Yan)的(De)程(Cheng)序(Xu)员(Yuan)都(Du)知(Zhi)道(Dao),(?)在(Zai)系(Xi)统(Tong)类(Lei)库(Ku)中(Zhong)使(Shi)用(Yong)过(Guo)的(De)有(You)特(Te)殊(Shu)意(Yi)义(Yi)的(De)单(Dan)词(Ci)或(Huo)单(Dan)词(Ci)的(De)组(Zu)合(He)都(Du)被(Bei)视(Shi)为(Wei)保(Bao)留(Liu)字(Zi))(?)

138.int 和(He)Integer 有(You)什(Shi)么(Me)区(Qu)别(Bie)?

答(Da):(?)Java是(Shi)一(Yi)个(Ge)近(Jin)乎(Hu)纯(Chun)洁(Jie)的(De)面(Mian)向(Xiang)对(Dui)象(Xiang)编(Bian)程(Cheng)语(Yu)言(Yan),(?)但(Dan)是(Shi)为(Wei)了(Liao)编(Bian)程(Cheng)的(De)方(Fang)便(Bian)还(Huan)是(Shi)引(Yin)入(Ru)不(Bu)是(Shi)对(Dui)象(Xiang)的(De)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing),(?)但(Dan)是(Shi)为(Wei)了(Liao)能(Neng)够(Gou)将(Jiang)这(Zhe)些(Xie)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)当(Dang)成(Cheng)对(Dui)象(Xiang)操(Cao)作(Zuo),(?)Java为(Wei)每(Mei)一(Yi)个(Ge)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)都(Du)引(Yin)入(Ru)了(Liao)对(Dui)应(Ying)的(De)包(Bao)装(Zhuang)类(Lei)型(Xing)((?)wrapper class)(?),(?)int的(De)包(Bao)装(Zhuang)类(Lei)就(Jiu)是(Shi)Integer,(?)从(Cong)JDK 1.5开(Kai)始(Shi)引(Yin)入(Ru)了(Liao)自(Zi)动(Dong)装(Zhuang)箱(Xiang)/拆(Chai)箱(Xiang)机(Ji)制(Zhi),(?)使(Shi)得(De)二(?)者(Zhe)可(Ke)以(Yi)相(Xiang)互(Hu)转(Zhuan)换(Huan)。(?)

Java 为(Wei)每(Mei)个(Ge)原(Yuan)始(Shi)类(Lei)型(Xing)提(Ti)供(Gong)了(Liao)包(Bao)装(Zhuang)类(Lei)型(Xing):(?)

原(Yuan)始(Shi)类(Lei)型(Xing): boolean,(?)char,(?)byte,(?)short,(?)int,(?)long,(?)float,(?)double

包(Bao)装(Zhuang)类(Lei)型(Xing):(?)Boolean,(?)Character,(?)Byte,(?)Short,(?)Integer,(?)Long,(?)Float,(?)Double

package com.bjsxt;

public class AutoUnboxingTest {

    public static void main(String[] args) {
        Integer a = new Integer(3);
        Integer b = 3;              // 将(Jiang)3自(Zi)动(Dong)装(Zhuang)箱(Xiang)成(Cheng)Integer类(Lei)型(Xing)
        int c = 3;
        System.out.println(a == b); // false 两(Liang)个(Ge)引(Yin)用(Yong)没(Mei)有(You)引(Yin)用(Yong)同(Tong)一(Yi)对(Dui)象(Xiang)
        System.out.println(a == c); // true a自(Zi)动(Dong)拆(Chai)箱(Xiang)成(Cheng)int类(Lei)型(Xing)再(Zai)和(He)c比(Bi)较(Jiao)
    }
}

补(Bu)充(Chong):(?)最(Zui)近(Jin)还(Huan)遇(Yu)到(Dao)一(Yi)个(Ge)面(Mian)试(Shi)题(Ti),(?)也(Ye)是(Shi)和(He)自(Zi)动(Dong)装(Zhuang)箱(Xiang)和(He)拆(Chai)箱(Xiang)相(Xiang)关(Guan)的(De),(?)代(Dai)码(Ma)如(Ru)下(Xia)所(Suo)示(Shi):(?)

public class Test03 {

   public static void main(String[] args) {
       Integer f1 = 100, f2 = 100, f3 = 150, f4 = 150;
        System.out.println(f1 == f2);
        System.out.println(f3 == f4);
    }
}

如(Ru)果(Guo)不(Bu)明(Ming)就(Jiu)里(Li)很(Hen)容(Rong)易(Yi)认(Ren)为(Wei)两(Liang)个(Ge)输(Shu)出(Chu)要(Yao)么(Me)都(Du)是(Shi)true要(Yao)么(Me)都(Du)是(Shi)false。(?)首(Shou)先(Xian)需(Xu)要(Yao)注(Zhu)意(Yi)的(De)是(Shi)f1、(?)f2、(?)f3、(?)f4四(Si)个(Ge)变(Bian)量(Liang)都(Du)是(Shi)Integer对(Dui)象(Xiang),(?)所(Suo)以(Yi)下(Xia)面(Mian)的(De)==运(Yun)算(Suan)比(Bi)较(Jiao)的(De)不(Bu)是(Shi)值(Zhi)而(?)是(Shi)引(Yin)用(Yong)。(?)装(Zhuang)箱(Xiang)的(De)本(Ben)质(Zhi)是(Shi)什(Shi)么(Me)呢(Ne)?(?)当(Dang)我(Wo)们(Men)给(Gei)一(Yi)个(Ge)Integer对(Dui)象(Xiang)赋(Fu)一(Yi)个(Ge)int值(Zhi)的(De)时(Shi)候(Hou),(?)会(Hui)调(Diao)用(Yong)Integer类(Lei)的(De)静(Jing)态(Tai)方(Fang)法(Fa)valueOf,(?)如(Ru)果(Guo)看(Kan)看(Kan)valueOf的(De)源(Yuan)代(Dai)码(Ma)就(Jiu)知(Zhi)道(Dao)发(Fa)生(Sheng)了(Liao)什(Shi)么(Me)。(?)

public static Integer valueOf(int i) {
       if (i >= IntegerCache.low && i <= IntegerCache.high)
          return IntegerCache.cache[i + (-IntegerCache.low)];
       return new Integer(i);
   }

IntegerCache是(Shi)Integer的(De)内(Nei)部(Bu)类(Lei),(?)其(Qi)代(Dai)码(Ma)如(Ru)下(Xia)所(Suo)示(Shi):(?)

/* Cache to support the object identity semantics of autoboxing for values between
     * -128 and 127 (inclusive) as required by JLS.
     *
     * The cache is initialized on first usage.  The size of the cache
     * may be controlled by the {@code -XX:AutoBoxCacheMax=<size>} option.
     * During VM initialization, java.lang.Integer.IntegerCache.high property
     * may be set and saved in the private system properties in the
     * sun.misc.VM class.
     */

    private static class IntegerCache {
        static final int low = -128;
        static final int high;
        static final Integer cache[];

        static {
            // high value may be configured by property
            int h = 127;
            String integerCacheHighPropValue =
                sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high");
            if (integerCacheHighPropValue != null) {
                try {
                    int i = parseInt(integerCacheHighPropValue);
                    i = Math.max(i, 127);
                    // Maximum array size is Integer.MAX_VALUE
                    h = Math.min(i, Integer.MAX_VALUE - (-low) -1);
                } catch( NumberFormatException nfe) {
                    // If the property cannot be parsed into an int, ignore it.
                }
            }
            high = h;

            cache = new Integer[(high - low) + 1];
            int j = low;
            for(int k = 0; k < cache.length; k++)
                cache[k] = new Integer(j++);

            // range [-128, 127] must be interned (JLS7 5.1.7)
            assert IntegerCache.high >= 127;
        }

        private IntegerCache() {}
}

简(Jian)单(Dan)的(De)说(Shuo),(?)如(Ru)果(Guo)字(Zi)面(Mian)量(Liang)的(De)值(Zhi)在(Zai)-128到(Dao)127之(Zhi)间(Jian),(?)那(Na)么(Me)不(Bu)会(Hui)new新(Xin)的(De)Integer对(Dui)象(Xiang),(?)而(?)是(Shi)直(Zhi)接(Jie)引(Yin)用(Yong)常(Chang)量(Liang)池(Chi)中(Zhong)的(De)Integer对(Dui)象(Xiang),(?)所(Suo)以(Yi)上(Shang)面(Mian)的(De)面(Mian)试(Shi)题(Ti)中(Zhong)f1==f2的(De)结(Jie)果(Guo)是(Shi)true,(?)而(?)f3==f4的(De)结(Jie)果(Guo)是(Shi)false。(?)越(Yue)是(Shi)貌(Mao)似(Si)简(Jian)单(Dan)的(De)面(Mian)试(Shi)题(Ti)其(Qi)中(Zhong)的(De)玄(Xuan)机(Ji)就(Jiu)越(Yue)多(Duo),(?)需(Xu)要(Yao)面(Mian)试(Shi)者(Zhe)有(You)相(Xiang)当(Dang)深(Shen)厚(Hou)的(De)功(Gong)力(Li)。(?)

139.&和(He)&&的(De)区(Qu)别(Bie)?(?)

答(Da):(?)&运(Yun)算(Suan)符(Fu)有(You)两(Liang)种(Zhong)用(Yong)法(Fa):(?)(1)按(An)位(Wei)与(Yu);(?)(2)逻(Luo)辑(Ji)与(Yu)。(?)&&运(Yun)算(Suan)符(Fu)是(Shi)短(Duan)路(Lu)与(Yu)运(Yun)算(Suan)。(?)逻(Luo)辑(Ji)与(Yu)跟(Gen)短(Duan)路(Lu)与(Yu)的(De)差(Cha)别(Bie)是(Shi)非(Fei)常(Chang)巨(Ju)大(Da)的(De),(?)虽(Sui)然(Ran)二(?)者(Zhe)都(Du)要(Yao)求(Qiu)运(Yun)算(Suan)符(Fu)左(Zuo)右(You)两(Liang)端(Duan)的(De)布(Bu)尔(?)值(Zhi)都(Du)是(Shi)true整(Zheng)个(Ge)表(Biao)达(Da)式(Shi)的(De)值(Zhi)才(Cai)是(Shi)true。(?)&&之(Zhi)所(Suo)以(Yi)称(Cheng)为(Wei)短(Duan)路(Lu)运(Yun)算(Suan)是(Shi)因(Yin)为(Wei),(?)如(Ru)果(Guo)&&左(Zuo)边(Bian)的(De)表(Biao)达(Da)式(Shi)的(De)值(Zhi)是(Shi)false,(?)右(You)边(Bian)的(De)表(Biao)达(Da)式(Shi)会(Hui)被(Bei)直(Zhi)接(Jie)短(Duan)路(Lu)掉(Diao),(?)不(Bu)会(Hui)进(Jin)行(Xing)运(Yun)算(Suan)。(?)很(Hen)多(Duo)时(Shi)候(Hou)我(Wo)们(Men)可(Ke)能(Neng)都(Du)需(Xu)要(Yao)用(Yong)&&而(?)不(Bu)是(Shi)&,(?)例(Li)如(Ru)在(Zai)验(Yan)证(Zheng)用(Yong)户(Hu)登(Deng)录(Lu)时(Shi)判(Pan)定(Ding)用(Yong)户(Hu)名(Ming)不(Bu)是(Shi)null而(?)且(Qie)不(Bu)是(Shi)空(Kong)字(Zi)符(Fu)串(Chuan),(?)应(Ying)当(Dang)写(Xie)为(Wei):(?)username != null &&!username.equals(“(?)”(?)),(?)二(?)者(Zhe)的(De)顺(Shun)序(Xu)不(Bu)能(Neng)交(Jiao)换(Huan),(?)更(Geng)不(Bu)能(Neng)用(Yong)&运(Yun)算(Suan)符(Fu),(?)因(Yin)为(Wei)第(Di)一(Yi)个(Ge)条(Tiao)件(Jian)如(Ru)果(Guo)不(Bu)成(Cheng)立(Li),(?)根(Gen)本(Ben)不(Bu)能(Neng)进(Jin)行(Xing)字(Zi)符(Fu)串(Chuan)的(De)equals比(Bi)较(Jiao),(?)否(Fou)则(Ze)会(Hui)产(Chan)生(Sheng)NullPointerException异(Yi)常(Chang)。(?)注(Zhu)意(Yi):(?)逻(Luo)辑(Ji)或(Huo)运(Yun)算(Suan)符(Fu)((?)|)(?)和(He)短(Duan)路(Lu)或(Huo)运(Yun)算(Suan)符(Fu)((?)||)(?)的(De)差(Cha)别(Bie)也(Ye)是(Shi)如(Ru)此(Ci)。(?)

补(Bu)充(Chong):(?)如(Ru)果(Guo)你(Ni)熟(Shu)悉(Xi)JavaScript,(?)那(Na)你(Ni)可(Ke)能(Neng)更(Geng)能(Neng)感(Gan)受(Shou)到(Dao)短(Duan)路(Lu)运(Yun)算(Suan)的(De)强(Qiang)大(Da),(?)想(Xiang)成(Cheng)为(Wei) JavaScript的(De)高(Gao)手(Shou)就(Jiu)先(Xian)从(Cong)玩(Wan)转(Zhuan)短(Duan)路(Lu)运(Yun)算(Suan)开(Kai)始(Shi)吧(Ba)。(?)

140.Math.round(11.5) 等(Deng)于(Yu)多(Duo)少(Shao)? Math.round(-11.5)等(Deng)于(Yu)多(Duo)少(Shao)?

答(Da):(?)Math.round(11.5)的(De)返(Fan)回(Hui)值(Zhi)是(Shi)12,(?)Math.round(-11.5)的(De)返(Fan)回(Hui)值(Zhi)是(Shi)-11。(?)四(Si)舍(She)五(Wu)入(Ru)的(De)原(Yuan)理(Li)是(Shi)在(Zai)参(Can)数(Shu)上(Shang)加(Jia)0.5然(Ran)后(Hou)进(Jin)行(Xing)下(Xia)取(Qu)整(Zheng)。(?)

141.swtich 是(Shi)否(Fou)能(Neng)作(Zuo)用(Yong)在(Zai)byte 上(Shang),(?)是(Shi)否(Fou)能(Neng)作(Zuo)用(Yong)在(Zai)long 上(Shang),(?)是(Shi)否(Fou)能(Neng)作(Zuo)用(Yong)在(Zai)String上(Shang)?

答(Da):(?)早(Zao)期(Qi)的(De)JDK中(Zhong),(?)switch((?)expr)(?)中(Zhong),(?)expr可(Ke)以(Yi)是(Shi)byte、(?)short、(?)char、(?)int。(?)从(Cong)1.5版(Ban)开(Kai)始(Shi),(?)Java中(Zhong)引(Yin)入(Ru)了(Liao)枚(Mei)举(Ju)类(Lei)型(Xing)((?)enum)(?),(?)expr也(Ye)可(Ke)以(Yi)是(Shi)枚(Mei)举(Ju),(?)从(Cong)JDK 1.7版(Ban)开(Kai)始(Shi),(?)还(Huan)可(Ke)以(Yi)是(Shi)字(Zi)符(Fu)串(Chuan)((?)String)(?)。(?)长(Chang)整(Zheng)型(Xing)((?)long)(?)是(Shi)不(Bu)可(Ke)以(Yi)的(De)。(?)

142.用(Yong)最(Zui)有(You)效(Xiao)率(Lu)的(De)方(Fang)法(Fa)计(Ji)算(Suan)2乘(Cheng)以(Yi)8?

答(Da):(?) 2 << 3((?)左(Zuo)移(Yi)3位(Wei)相(Xiang)当(Dang)于(Yu)乘(Cheng)以(Yi)2的(De)3次(Ci)方(Fang),(?)右(You)移(Yi)3位(Wei)相(Xiang)当(Dang)于(Yu)除(Chu)以(Yi)2的(De)3次(Ci)方(Fang))(?)。(?)

补(Bu)充(Chong):(?) 我(Wo)们(Men)为(Wei)编(Bian)写(Xie)的(De)类(Lei)重(Zhong)写(Xie)hashCode方(Fang)法(Fa)时(Shi),(?)可(Ke)能(Neng)会(Hui)看(Kan)到(Dao)如(Ru)下(Xia)所(Suo)示(Shi)的(De)代(Dai)码(Ma),(?)其(Qi)实(Shi)我(Wo)们(Men)不(Bu)太(Tai)理(Li)解(Jie)为(Wei)什(Shi)么(Me)要(Yao)使(Shi)用(Yong)这(Zhe)样(Yang)的(De)乘(Cheng)法(Fa)运(Yun)算(Suan)来(Lai)产(Chan)生(Sheng)哈(Ha)希(Xi)码(Ma)((?)散(San)列(Lie)码(Ma))(?),(?)而(?)且(Qie)为(Wei)什(Shi)么(Me)这(Zhe)个(Ge)数(Shu)是(Shi)个(Ge)素(Su)数(Shu),(?)为(Wei)什(Shi)么(Me)通(Tong)常(Chang)选(Xuan)择(Ze)31这(Zhe)个(Ge)数(Shu)?(?)前(Qian)两(Liang)个(Ge)问(Wen)题(Ti)的(De)答(Da)案(An)你(Ni)可(Ke)以(Yi)自(Zi)己(Ji)百(Bai)度(Du)一(Yi)下(Xia),(?)选(Xuan)择(Ze)31是(Shi)因(Yin)为(Wei)可(Ke)以(Yi)用(Yong)移(Yi)位(Wei)和(He)减(Jian)法(Fa)运(Yun)算(Suan)来(Lai)代(Dai)替(Ti)乘(Cheng)法(Fa),(?)从(Cong)而(?)得(De)到(Dao)更(Geng)好(Hao)的(De)性(Xing)能(Neng)。(?)说(Shuo)到(Dao)这(Zhe)里(Li)你(Ni)可(Ke)能(Neng)已(Yi)经(Jing)想(Xiang)到(Dao)了(Liao):(?)31 * num <==> (num << 5) - num,(?)左(Zuo)移(Yi)5位(Wei)相(Xiang)当(Dang)于(Yu)乘(Cheng)以(Yi)2的(De)5次(Ci)方(Fang)((?)32)(?)再(Zai)减(Jian)去(Qu)自(Zi)身(Shen)就(Jiu)相(Xiang)当(Dang)于(Yu)乘(Cheng)以(Yi)31。(?)现(Xian)在(Zai)的(De)VM都(Du)能(Neng)自(Zi)动(Dong)完(Wan)成(Cheng)这(Zhe)个(Ge)优(You)化(Hua)。(?)

package com.bjsxt;

public class PhoneNumber {
    private int areaCode;
    private String prefix;
    private String lineNumber;

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + areaCode;
        result = prime * result
                + ((lineNumber == null) ? 0 : lineNumber.hashCode());
        result = prime * result + ((prefix == null) ? 0 : prefix.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        PhoneNumber other = (PhoneNumber) obj;
        if (areaCode != other.areaCode)
            return false;
        if (lineNumber == null) {
            if (other.lineNumber != null)
                return false;
        } else if (!lineNumber.equals(other.lineNumber))
            return false;
        if (prefix == null) {
            if (other.prefix != null)
                return false;
        } else if (!prefix.equals(other.prefix))
            return false;
        return true;
    }

}
143.在(Zai)Java 中(Zhong),(?)如(Ru)何(He)跳(Tiao)出(Chu)当(Dang)前(Qian)的(De)多(Duo)重(Zhong)嵌(Qian)套(Tao)循(Xun)环(Huan)?(?)

答(Da):(?)在(Zai)最(Zui)外(Wai)层(Ceng)循(Xun)环(Huan)前(Qian)加(Jia)一(Yi)个(Ge)标(Biao)记(Ji)如(Ru)A,(?)然(Ran)后(Hou)用(Yong)break A;可(Ke)以(Yi)跳(Tiao)出(Chu)多(Duo)重(Zhong)循(Xun)环(Huan)。(?)((?)Java中(Zhong)支(Zhi)持(Chi)带(Dai)标(Biao)签(Qian)的(De)break和(He)continue语(Yu)句(Ju),(?)作(Zuo)用(Yong)有(You)点(Dian)类(Lei)似(Si)于(Yu)C和(He)C++中(Zhong)的(De)goto语(Yu)句(Ju),(?)但(Dan)是(Shi)就(Jiu)像(Xiang)要(Yao)避(Bi)免(Mian)使(Shi)用(Yong)goto一(Yi)样(Yang),(?)应(Ying)该(Gai)避(Bi)免(Mian)使(Shi)用(Yong)带(Dai)标(Biao)签(Qian)的(De)break和(He)continue,(?)因(Yin)为(Wei)它(Ta)不(Bu)会(Hui)让(Rang)你(Ni)的(De)程(Cheng)序(Xu)变(Bian)得(De)更(Geng)优(You)雅(Ya),(?)很(Hen)多(Duo)时(Shi)候(Hou)甚(Shen)至(Zhi)有(You)相(Xiang)反(Fan)的(De)作(Zuo)用(Yong),(?)所(Suo)以(Yi)这(Zhe)种(Zhong)语(Yu)法(Fa)其(Qi)实(Shi)不(Bu)知(Zhi)道(Dao)更(Geng)好(Hao))(?)

144.构(Gou)造(Zao)器(Qi)((?)constructor)(?)是(Shi)否(Fou)可(Ke)被(Bei)重(Zhong)写(Xie)((?)override)(?)?

答(Da):(?)构(Gou)造(Zao)器(Qi)不(Bu)能(Neng)被(Bei)继(Ji)承(Cheng),(?)因(Yin)此(Ci)不(Bu)能(Neng)被(Bei)重(Zhong)写(Xie),(?)但(Dan)可(Ke)以(Yi)被(Bei)重(Zhong)载(Zai)。(?)

145.两(Liang)个(Ge)对(Dui)象(Xiang)值(Zhi)相(Xiang)同(Tong)(x.equals(y) == true),(?)但(Dan)却(Que)可(Ke)有(You)不(Bu)同(Tong)的(De)hash code,(?)这(Zhe)句(Ju)话(Hua)对(Dui)不(Bu)对(Dui)?(?)

答(Da):(?)不(Bu)对(Dui),(?)如(Ru)果(Guo)两(Liang)个(Ge)对(Dui)象(Xiang)x和(He)y满(Man)足(Zu)x.equals(y) == true,(?)它(Ta)们(Men)的(De)哈(Ha)希(Xi)码(Ma)((?)hash code)(?)应(Ying)当(Dang)相(Xiang)同(Tong)。(?)Java对(Dui)于(Yu)eqauls方(Fang)法(Fa)和(He)hashCode方(Fang)法(Fa)是(Shi)这(Zhe)样(Yang)规(Gui)定(Ding)的(De):(?)(1)如(Ru)果(Guo)两(Liang)个(Ge)对(Dui)象(Xiang)相(Xiang)同(Tong)((?)equals方(Fang)法(Fa)返(Fan)回(Hui)true)(?),(?)那(Na)么(Me)它(Ta)们(Men)的(De)hashCode值(Zhi)一(Yi)定(Ding)要(Yao)相(Xiang)同(Tong);(?)(2)如(Ru)果(Guo)两(Liang)个(Ge)对(Dui)象(Xiang)的(De)hashCode相(Xiang)同(Tong),(?)它(Ta)们(Men)并(Bing)不(Bu)一(Yi)定(Ding)相(Xiang)同(Tong)。(?)当(Dang)然(Ran),(?)你(Ni)未(Wei)必(Bi)要(Yao)按(An)照(Zhao)要(Yao)求(Qiu)去(Qu)做(Zuo),(?)但(Dan)是(Shi)如(Ru)果(Guo)你(Ni)违(Wei)背(Bei)了(Liao)上(Shang)述(Shu)原(Yuan)则(Ze)就(Jiu)会(Hui)发(Fa)现(Xian)在(Zai)使(Shi)用(Yong)容(Rong)器(Qi)时(Shi),(?)相(Xiang)同(Tong)的(De)对(Dui)象(Xiang)可(Ke)以(Yi)出(Chu)现(Xian)在(Zai)Set集(Ji)合(He)中(Zhong),(?)同(Tong)时(Shi)增(Zeng)加(Jia)新(Xin)元(Yuan)素(Su)的(De)效(Xiao)率(Lu)会(Hui)大(Da)大(Da)下(Xia)降(Jiang)((?)对(Dui)于(Yu)使(Shi)用(Yong)哈(Ha)希(Xi)存(Cun)储(Chu)的(De)系(Xi)统(Tong),(?)如(Ru)果(Guo)哈(Ha)希(Xi)码(Ma)频(Pin)繁(Fan)的(De)冲(Chong)突(Tu)将(Jiang)会(Hui)造(Zao)成(Cheng)存(Cun)取(Qu)性(Xing)能(Neng)急(Ji)剧(Ju)下(Xia)降(Jiang))(?)。(?)

补(Bu)充(Chong):(?)关(Guan)于(Yu)equals和(He)hashCode方(Fang)法(Fa),(?)很(Hen)多(Duo)Java程(Cheng)序(Xu)都(Du)知(Zhi)道(Dao),(?)但(Dan)很(Hen)多(Duo)人(Ren)也(Ye)就(Jiu)是(Shi)仅(Jin)仅(Jin)知(Zhi)道(Dao)而(?)已(Yi),(?)在(Zai)Joshua Bloch的(De)大(Da)作(Zuo)《(?)Effective Java》(?)((?)很(Hen)多(Duo)软(Ruan)件(Jian)公(Gong)司(Si),(?)《(?)Effective Java》(?)、(?)《(?)Java编(Bian)程(Cheng)思(Si)想(Xiang)》(?)以(Yi)及(Ji)《(?)重(Zhong)构(Gou):(?)改(Gai)善(Shan)既(Ji)有(You)代(Dai)码(Ma)质(Zhi)量(Liang)》(?)是(Shi)Java程(Cheng)序(Xu)员(Yuan)必(Bi)看(Kan)书(Shu)籍(Ji),(?)如(Ru)果(Guo)你(Ni)还(Huan)没(Mei)看(Kan)过(Guo),(?)那(Na)就(Jiu)赶(Gan)紧(Jin)去(Qu)亚(Ya)马(Ma)逊(Xun)买(Mai)一(Yi)本(Ben)吧(Ba))(?)中(Zhong)是(Shi)这(Zhe)样(Yang)介(Jie)绍(Shao)equals方(Fang)法(Fa)的(De):(?)首(Shou)先(Xian)equals方(Fang)法(Fa)必(Bi)须(Xu)满(Man)足(Zu)自(Zi)反(Fan)性(Xing)((?)x.equals(x)必(Bi)须(Xu)返(Fan)回(Hui)true)(?)、(?)对(Dui)称(Cheng)性(Xing)((?)x.equals(y)返(Fan)回(Hui)true时(Shi),(?)y.equals(x)也(Ye)必(Bi)须(Xu)返(Fan)回(Hui)true)(?)、(?)传(Chuan)递(Di)性(Xing)((?)x.equals(y)和(He)y.equals(z)都(Du)返(Fan)回(Hui)true时(Shi),(?)x.equals(z)也(Ye)必(Bi)须(Xu)返(Fan)回(Hui)true)(?)和(He)一(Yi)致(Zhi)性(Xing)((?)当(Dang)x和(He)y引(Yin)用(Yong)的(De)对(Dui)象(Xiang)信(Xin)息(Xi)没(Mei)有(You)被(Bei)修(Xiu)改(Gai)时(Shi),(?)多(Duo)次(Ci)调(Diao)用(Yong)x.equals(y)应(Ying)该(Gai)得(De)到(Dao)同(Tong)样(Yang)的(De)返(Fan)回(Hui)值(Zhi))(?),(?)而(?)且(Qie)对(Dui)于(Yu)任(Ren)何(He)非(Fei)null值(Zhi)的(De)引(Yin)用(Yong)x,(?)x.equals(null)必(Bi)须(Xu)返(Fan)回(Hui)false。(?)实(Shi)现(Xian)高(Gao)质(Zhi)量(Liang)的(De)equals方(Fang)法(Fa)的(De)诀(Jue)窍(Qiao)包(Bao)括(Kuo):(?)1. 使(Shi)用(Yong)==操(Cao)作(Zuo)符(Fu)检(Jian)查(Cha)“(?)参(Can)数(Shu)是(Shi)否(Fou)为(Wei)这(Zhe)个(Ge)对(Dui)象(Xiang)的(De)引(Yin)用(Yong)”(?);(?)2. 使(Shi)用(Yong)instanceof操(Cao)作(Zuo)符(Fu)检(Jian)查(Cha)“(?)参(Can)数(Shu)是(Shi)否(Fou)为(Wei)正(Zheng)确(Que)的(De)类(Lei)型(Xing)”(?);(?)3. 对(Dui)于(Yu)类(Lei)中(Zhong)的(De)关(Guan)键(Jian)属(Shu)性(Xing),(?)检(Jian)查(Cha)参(Can)数(Shu)传(Chuan)入(Ru)对(Dui)象(Xiang)的(De)属(Shu)性(Xing)是(Shi)否(Fou)与(Yu)之(Zhi)相(Xiang)匹(Pi)配(Pei);(?)4. 编(Bian)写(Xie)完(Wan)equals方(Fang)法(Fa)后(Hou),(?)问(Wen)自(Zi)己(Ji)它(Ta)是(Shi)否(Fou)满(Man)足(Zu)对(Dui)称(Cheng)性(Xing)、(?)传(Chuan)递(Di)性(Xing)、(?)一(Yi)致(Zhi)性(Xing);(?)5. 重(Zhong)写(Xie)equals时(Shi)总(Zong)是(Shi)要(Yao)重(Zhong)写(Xie)hashCode;(?)6. 不(Bu)要(Yao)将(Jiang)equals方(Fang)法(Fa)参(Can)数(Shu)中(Zhong)的(De)Object对(Dui)象(Xiang)替(Ti)换(Huan)为(Wei)其(Qi)他(Ta)的(De)类(Lei)型(Xing),(?)在(Zai)重(Zhong)写(Xie)时(Shi)不(Bu)要(Yao)忘(Wang)掉(Diao)@Override注(Zhu)解(Jie)。(?)

146.当(Dang)一(Yi)个(Ge)对(Dui)象(Xiang)被(Bei)当(Dang)作(Zuo)参(Can)数(Shu)传(Chuan)递(Di)到(Dao)一(Yi)个(Ge)方(Fang)法(Fa)后(Hou),(?)此(Ci)方(Fang)法(Fa)可(Ke)改(Gai)变(Bian)这(Zhe)个(Ge)对(Dui)象(Xiang)的(De)属(Shu)性(Xing),(?)并(Bing)可(Ke)返(Fan)回(Hui)变(Bian)化(Hua)后(Hou)的(De)结(Jie)果(Guo),(?)那(Na)么(Me)这(Zhe)里(Li)到(Dao)底(Di)是(Shi)值(Zhi)传(Chuan)递(Di)还(Huan)是(Shi)引(Yin)用(Yong)传(Chuan)递(Di)?

答(Da):(?)是(Shi)值(Zhi)传(Chuan)递(Di)。(?)Java 编(Bian)程(Cheng)语(Yu)言(Yan)只(Zhi)有(You)值(Zhi)传(Chuan)递(Di)参(Can)数(Shu)。(?)当(Dang)一(Yi)个(Ge)对(Dui)象(Xiang)实(Shi)例(Li)作(Zuo)为(Wei)一(Yi)个(Ge)参(Can)数(Shu)被(Bei)传(Chuan)递(Di)到(Dao)方(Fang)法(Fa)中(Zhong)时(Shi),(?)参(Can)数(Shu)的(De)值(Zhi)就(Jiu)是(Shi)对(Dui)该(Gai)对(Dui)象(Xiang)的(De)引(Yin)用(Yong)。(?)对(Dui)象(Xiang)的(De)属(Shu)性(Xing)可(Ke)以(Yi)在(Zai)被(Bei)调(Diao)用(Yong)过(Guo)程(Cheng)中(Zhong)被(Bei)改(Gai)变(Bian),(?)但(Dan)对(Dui)象(Xiang)的(De)引(Yin)用(Yong)是(Shi)永(Yong)远(Yuan)不(Bu)会(Hui)改(Gai)变(Bian)的(De)。(?)C++和(He)C#中(Zhong)可(Ke)以(Yi)通(Tong)过(Guo)传(Chuan)引(Yin)用(Yong)或(Huo)传(Chuan)输(Shu)出(Chu)参(Can)数(Shu)来(Lai)改(Gai)变(Bian)传(Chuan)入(Ru)的(De)参(Can)数(Shu)的(De)值(Zhi)。(?)

补(Bu)充(Chong):(?)Java中(Zhong)没(Mei)有(You)传(Chuan)引(Yin)用(Yong)实(Shi)在(Zai)是(Shi)非(Fei)常(Chang)的(De)不(Bu)方(Fang)便(Bian),(?)这(Zhe)一(Yi)点(Dian)在(Zai)Java 8中(Zhong)仍(Reng)然(Ran)没(Mei)有(You)得(De)到(Dao)改(Gai)进(Jin),(?)正(Zheng)是(Shi)如(Ru)此(Ci)在(Zai)Java编(Bian)写(Xie)的(De)代(Dai)码(Ma)中(Zhong)才(Cai)会(Hui)出(Chu)现(Xian)大(Da)量(Liang)的(De)Wrapper类(Lei)((?)将(Jiang)需(Xu)要(Yao)通(Tong)过(Guo)方(Fang)法(Fa)调(Diao)用(Yong)修(Xiu)改(Gai)的(De)引(Yin)用(Yong)置(Zhi)于(Yu)一(Yi)个(Ge)Wrapper类(Lei)中(Zhong),(?)再(Zai)将(Jiang)Wrapper对(Dui)象(Xiang)传(Chuan)入(Ru)方(Fang)法(Fa))(?),(?)这(Zhe)样(Yang)的(De)做(Zuo)法(Fa)只(Zhi)会(Hui)让(Rang)代(Dai)码(Ma)变(Bian)得(De)臃(Yong)肿(Zhong),(?)尤(You)其(Qi)是(Shi)让(Rang)从(Cong)C和(He)C++转(Zhuan)型(Xing)为(Wei)Java程(Cheng)序(Xu)员(Yuan)的(De)开(Kai)发(Fa)者(Zhe)无(Wu)法(Fa)容(Rong)忍(Ren)。(?)

147.重(Zhong)载(Zai)((?)Overload)(?)和(He)重(Zhong)写(Xie)((?)Override)(?)的(De)区(Qu)别(Bie)。(?)重(Zhong)载(Zai)的(De)方(Fang)法(Fa)能(Neng)否(Fou)根(Gen)据(Ju)返(Fan)回(Hui)类(Lei)型(Xing)进(Jin)行(Xing)区(Qu)分(Fen)?

答(Da):(?)Java的(De)三(San)大(Da)特(Te)征(Zheng)之(Zhi)一(Yi),(?)多(Duo)态(Tai)机(Ji)制(Zhi),(?)包(Bao)括(Kuo)方(Fang)法(Fa)的(De)多(Duo)态(Tai)和(He)对(Dui)象(Xiang)的(De)多(Duo)态(Tai);(?)方(Fang)法(Fa)的(De)重(Zhong)载(Zai)和(He)重(Zhong)写(Xie)都(Du)是(Shi)实(Shi)现(Xian)多(Duo)态(Tai)的(De)方(Fang)式(Shi),(?)区(Qu)别(Bie)在(Zai)于(Yu)前(Qian)者(Zhe)实(Shi)现(Xian)的(De)是(Shi)编(Bian)译(Yi)时(Shi)的(De)多(Duo)态(Tai)性(Xing),(?)而(?)后(Hou)者(Zhe)实(Shi)现(Xian)的(De)是(Shi)运(Yun)行(Xing)时(Shi)的(De)多(Duo)态(Tai)性(Xing)。(?)重(Zhong)载(Zai)((?)overload)(?)发(Fa)生(Sheng)在(Zai)同(Tong)一(Yi)个(Ge)类(Lei)中(Zhong),(?)相(Xiang)同(Tong)的(De)方(Fang)法(Fa),(?)如(Ru)果(Guo)有(You)不(Bu)同(Tong)的(De)参(Can)数(Shu)列(Lie)表(Biao)((?)参(Can)数(Shu)类(Lei)型(Xing)不(Bu)同(Tong)、(?)参(Can)数(Shu)个(Ge)数(Shu)不(Bu)同(Tong)或(Huo)者(Zhe)二(?)者(Zhe)都(Du)不(Bu)同(Tong))(?)则(Ze)视(Shi)为(Wei)重(Zhong)载(Zai);(?)重(Zhong)写(Xie)((?)override)(?)发(Fa)生(Sheng)在(Zai)子(Zi)类(Lei)与(Yu)父(Fu)类(Lei)之(Zhi)间(Jian)也(Ye)就(Jiu)是(Shi)继(Ji)承(Cheng)机(Ji)制(Zhi)当(Dang)中(Zhong),(?)当(Dang)父(Fu)类(Lei)的(De)方(Fang)法(Fa)不(Bu)能(Neng)满(Man)足(Zu)子(Zi)类(Lei)的(De)要(Yao)求(Qiu),(?)此(Ci)时(Shi)子(Zi)类(Lei)重(Zhong)写(Xie)父(Fu)类(Lei)的(De)方(Fang)法(Fa);(?)要(Yao)求(Qiu):(?)方(Fang)法(Fa)名(Ming)、(?)形(Xing)参(Can)列(Lie)表(Biao)相(Xiang)同(Tong);(?)返(Fan)回(Hui)值(Zhi)类(Lei)型(Xing)和(He)异(Yi)常(Chang)类(Lei)型(Xing),(?)子(Zi)类(Lei)小(Xiao)于(Yu)等(Deng)于(Yu)父(Fu)类(Lei);(?)访(Fang)问(Wen)权(Quan)限(Xian),(?)子(Zi)类(Lei)大(Da)于(Yu)等(Deng)于(Yu)父(Fu)类(Lei),(?)切(Qie)记(Ji)父(Fu)类(Lei)的(De)私(Si)有(You)方(Fang)法(Fa)以(Yi)及(Ji)被(Bei)final修(Xiu)饰(Shi)的(De)方(Fang)法(Fa)不(Bu)能(Neng)被(Bei)子(Zi)类(Lei)重(Zhong)写(Xie);(?)重(Zhong)载(Zai)对(Dui)返(Fan)回(Hui)类(Lei)型(Xing)没(Mei)有(You)特(Te)殊(Shu)的(De)要(Yao)求(Qiu)。(?)

148.华(Hua)为(Wei)的(De)面(Mian)试(Shi)题(Ti)中(Zhong)曾(Zeng)经(Jing)问(Wen)过(Guo)这(Zhe)样(Yang)一(Yi)个(Ge)问(Wen)题(Ti):(?)为(Wei)什(Shi)么(Me)不(Bu)能(Neng)根(Gen)据(Ju)返(Fan)回(Hui)类(Lei)型(Xing)来(Lai)区(Qu)分(Fen)重(Zhong)载(Zai),(?)为(Wei)什(Shi)么(Me)?(?)

答(Da):(?)方(Fang)法(Fa)的(De)重(Zhong)载(Zai),(?)即(Ji)使(Shi)返(Fan)回(Hui)值(Zhi)类(Lei)型(Xing)不(Bu)同(Tong),(?)也(Ye)不(Bu)能(Neng)改(Gai)变(Bian)实(Shi)现(Xian)功(Gong)能(Neng)相(Xiang)同(Tong)或(Huo)类(Lei)似(Si)这(Zhe)一(Yi)既(Ji)定(Ding)事(Shi)实(Shi);(?)同(Tong)时(Shi)方(Fang)法(Fa)的(De)重(Zhong)载(Zai)只(Zhi)是(Shi)要(Yao)求(Qiu)两(Liang)同(Tong)三(San)不(Bu)同(Tong),(?)即(Ji)在(Zai)同(Tong)一(Yi)个(Ge)类(Lei)中(Zhong),(?)相(Xiang)同(Tong)的(De)方(Fang)法(Fa)名(Ming)称(Cheng),(?)参(Can)数(Shu)列(Lie)表(Biao)当(Dang)中(Zhong)的(De)参(Can)数(Shu)类(Lei)型(Xing)、(?)个(Ge)数(Shu)、(?)顺(Shun)序(Xu)不(Bu)同(Tong);(?)跟(Gen)权(Quan)限(Xian)修(Xiu)饰(Shi)符(Fu)和(He)返(Fan)回(Hui)值(Zhi)类(Lei)无(Wu)关(Guan)

149.静(Jing)态(Tai)嵌(Qian)套(Tao)类(Lei)(Static Nested Class)和(He)内(Nei)部(Bu)类(Lei)((?)Inner Class)(?)的(De)不(Bu)同(Tong)?(?)

答(Da):(?)内(Nei)部(Bu)类(Lei)就(Jiu)是(Shi)在(Zai)一(Yi)个(Ge)类(Lei)的(De)内(Nei)部(Bu)定(Ding)义(Yi)的(De)类(Lei),(?)内(Nei)部(Bu)类(Lei)中(Zhong)不(Bu)能(Neng)定(Ding)义(Yi)静(Jing)态(Tai)成(Cheng)员(Yuan)((?)静(Jing)态(Tai)成(Cheng)员(Yuan)不(Bu)是(Shi)对(Dui)象(Xiang)的(De)特(Te)性(Xing),(?)只(Zhi)是(Shi)为(Wei)了(Liao)找(Zhao)一(Yi)个(Ge)容(Rong)身(Shen)之(Zhi)处(Chu),(?)所(Suo)以(Yi)需(Xu)要(Yao)放(Fang)到(Dao)一(Yi)个(Ge)类(Lei)中(Zhong)而(?)已(Yi),(?)这(Zhe)么(Me)一(Yi)点(Dian)小(Xiao)事(Shi),(?)你(Ni)还(Huan)要(Yao)把(Ba)它(Ta)放(Fang)到(Dao)类(Lei)内(Nei)部(Bu)的(De)一(Yi)个(Ge)类(Lei)中(Zhong),(?)过(Guo)分(Fen)了(Liao)啊(A)!(?)提(Ti)供(Gong)内(Nei)部(Bu)类(Lei),(?)不(Bu)是(Shi)为(Wei)让(Rang)你(Ni)干(Gan)这(Zhe)种(Zhong)事(Shi)情(Qing),(?)无(Wu)聊(Liao),(?)不(Bu)让(Rang)你(Ni)干(Gan)。(?)我(Wo)想(Xiang)可(Ke)能(Neng)是(Shi)既(Ji)然(Ran)静(Jing)态(Tai)成(Cheng)员(Yuan)类(Lei)似(Si)c语(Yu)言(Yan)的(De)全(Quan)局(Ju)变(Bian)量(Liang),(?)而(?)内(Nei)部(Bu)类(Lei)通(Tong)常(Chang)是(Shi)用(Yong)于(Yu)创(Chuang)建(Jian)内(Nei)部(Bu)对(Dui)象(Xiang)用(Yong)的(De),(?)所(Suo)以(Yi),(?)把(Ba)“(?)全(Quan)局(Ju)变(Bian)量(Liang)”(?)放(Fang)在(Zai)内(Nei)部(Bu)类(Lei)中(Zhong)就(Jiu)是(Shi)毫(Hao)无(Wu)意(Yi)义(Yi)的(De)事(Shi)情(Qing),(?)既(Ji)然(Ran)是(Shi)毫(Hao)无(Wu)意(Yi)义(Yi)的(De)事(Shi)情(Qing),(?)就(Jiu)应(Ying)该(Gai)被(Bei)禁(Jin)止(Zhi))(?),(?)内(Nei)部(Bu)类(Lei)可(Ke)以(Yi)直(Zhi)接(Jie)访(Fang)问(Wen)外(Wai)部(Bu)类(Lei)中(Zhong)的(De)成(Cheng)员(Yuan)变(Bian)量(Liang),(?)内(Nei)部(Bu)类(Lei)可(Ke)以(Yi)定(Ding)义(Yi)在(Zai)外(Wai)部(Bu)类(Lei)的(De)方(Fang)法(Fa)外(Wai)面(Mian),(?)也(Ye)可(Ke)以(Yi)定(Ding)义(Yi)在(Zai)外(Wai)部(Bu)类(Lei)的(De)方(Fang)法(Fa)体(Ti)中(Zhong),(?)如(Ru)下(Xia)所(Suo)示(Shi):(?)

public class Outer
{
        int out_x  = 0;
        public void method()
              {
               Inner1 inner1 = new Inner1();
               public class Inner2  //在(Zai)方(Fang)法(Fa)体(Ti)内(Nei)部(Bu)定(Ding)义(Yi)的(De)内(Nei)部(Bu)类(Lei)
               {
                      public method()
                      {
                             out_x = 3;
                      }
               }
               Inner2 inner2 = new Inner2();
        }

        public class Inner1  //在(Zai)方(Fang)法(Fa)体(Ti)外(Wai)面(Mian)定(Ding)义(Yi)的(De)内(Nei)部(Bu)类(Lei)
        {
        }

}

在(Zai)方(Fang)法(Fa)体(Ti)外(Wai)面(Mian)定(Ding)义(Yi)的(De)内(Nei)部(Bu)类(Lei)的(De)访(Fang)问(Wen)类(Lei)型(Xing)可(Ke)以(Yi)是(Shi)public,protecte,默(Mo)认(Ren)的(De),(?)private等(Deng)4种(Zhong)类(Lei)型(Xing),(?)这(Zhe)就(Jiu)好(Hao)像(Xiang)类(Lei)中(Zhong)定(Ding)义(Yi)的(De)成(Cheng)员(Yuan)变(Bian)量(Liang)有(You)4种(Zhong)访(Fang)问(Wen)类(Lei)型(Xing)一(Yi)样(Yang),(?)它(Ta)们(Men)决(Jue)定(Ding)这(Zhe)个(Ge)内(Nei)部(Bu)类(Lei)的(De)定(Ding)义(Yi)对(Dui)其(Qi)他(Ta)类(Lei)是(Shi)否(Fou)可(Ke)见(Jian);(?)对(Dui)于(Yu)这(Zhe)种(Zhong)情(Qing)况(Kuang),(?)我(Wo)们(Men)也(Ye)可(Ke)以(Yi)在(Zai)外(Wai)面(Mian)创(Chuang)建(Jian)内(Nei)部(Bu)类(Lei)的(De)实(Shi)例(Li)对(Dui)象(Xiang),(?)创(Chuang)建(Jian)内(Nei)部(Bu)类(Lei)的(De)实(Shi)例(Li)对(Dui)象(Xiang)时(Shi),(?)一(Yi)定(Ding)要(Yao)先(Xian)创(Chuang)建(Jian)外(Wai)部(Bu)类(Lei)的(De)实(Shi)例(Li)对(Dui)象(Xiang),(?)然(Ran)后(Hou)用(Yong)这(Zhe)个(Ge)外(Wai)部(Bu)类(Lei)的(De)实(Shi)例(Li)对(Dui)象(Xiang)去(Qu)创(Chuang)建(Jian)内(Nei)部(Bu)类(Lei)的(De)实(Shi)例(Li)对(Dui)象(Xiang),(?)代(Dai)码(Ma)如(Ru)下(Xia):(?)

Outer outer = new Outer();

Outer.Inner1 inner1 = outer.new Innner1();

在(Zai)方(Fang)法(Fa)内(Nei)部(Bu)定(Ding)义(Yi)的(De)内(Nei)部(Bu)类(Lei)前(Qian)面(Mian)不(Bu)能(Neng)有(You)访(Fang)问(Wen)类(Lei)型(Xing)修(Xiu)饰(Shi)符(Fu),(?)就(Jiu)好(Hao)像(Xiang)方(Fang)法(Fa)中(Zhong)定(Ding)义(Yi)的(De)局(Ju)部(Bu)变(Bian)量(Liang)一(Yi)样(Yang),(?)但(Dan)这(Zhe)种(Zhong)内(Nei)部(Bu)类(Lei)的(De)前(Qian)面(Mian)可(Ke)以(Yi)使(Shi)用(Yong)final或(Huo)abstract修(Xiu)饰(Shi)符(Fu)。(?)这(Zhe)种(Zhong)内(Nei)部(Bu)类(Lei)对(Dui)其(Qi)他(Ta)类(Lei)是(Shi)不(Bu)可(Ke)见(Jian)的(De)其(Qi)他(Ta)类(Lei)无(Wu)法(Fa)引(Yin)用(Yong)这(Zhe)种(Zhong)内(Nei)部(Bu)类(Lei),(?)但(Dan)是(Shi)这(Zhe)种(Zhong)内(Nei)部(Bu)类(Lei)创(Chuang)建(Jian)的(De)实(Shi)例(Li)对(Dui)象(Xiang)可(Ke)以(Yi)传(Chuan)递(Di)给(Gei)其(Qi)他(Ta)类(Lei)访(Fang)问(Wen)。(?)这(Zhe)种(Zhong)内(Nei)部(Bu)类(Lei)必(Bi)须(Xu)是(Shi)先(Xian)定(Ding)义(Yi),(?)后(Hou)使(Shi)用(Yong),(?)即(Ji)内(Nei)部(Bu)类(Lei)的(De)定(Ding)义(Yi)代(Dai)码(Ma)必(Bi)须(Xu)出(Chu)现(Xian)在(Zai)使(Shi)用(Yong)该(Gai)类(Lei)之(Zhi)前(Qian),(?)这(Zhe)与(Yu)方(Fang)法(Fa)中(Zhong)的(De)局(Ju)部(Bu)变(Bian)量(Liang)必(Bi)须(Xu)先(Xian)定(Ding)义(Yi)后(Hou)使(Shi)用(Yong)的(De)道(Dao)理(Li)也(Ye)是(Shi)一(Yi)样(Yang)的(De)。(?)这(Zhe)种(Zhong)内(Nei)部(Bu)类(Lei)可(Ke)以(Yi)访(Fang)问(Wen)方(Fang)法(Fa)体(Ti)中(Zhong)的(De)局(Ju)部(Bu)变(Bian)量(Liang),(?)但(Dan)是(Shi),(?)该(Gai)局(Ju)部(Bu)变(Bian)量(Liang)前(Qian)必(Bi)须(Xu)加(Jia)final修(Xiu)饰(Shi)符(Fu)。(?)

对(Dui)于(Yu)这(Zhe)些(Xie)细(Xi)节(Jie),(?)只(Zhi)要(Yao)在(Zai)eclipse写(Xie)代(Dai)码(Ma)试(Shi)试(Shi),(?)根(Gen)据(Ju)开(Kai)发(Fa)工(Gong)具(Ju)提(Ti)示(Shi)的(De)各(Ge)类(Lei)错(Cuo)误(Wu)信(Xin)息(Xi)就(Jiu)可(Ke)以(Yi)马(Ma)上(Shang)了(Liao)解(Jie)到(Dao)。(?)

在(Zai)方(Fang)法(Fa)体(Ti)内(Nei)部(Bu)还(Huan)可(Ke)以(Yi)采(Cai)用(Yong)如(Ru)下(Xia)语(Yu)法(Fa)来(Lai)创(Chuang)建(Jian)一(Yi)种(Zhong)匿(Ni)名(Ming)内(Nei)部(Bu)类(Lei),(?)即(Ji)定(Ding)义(Yi)某(Mou)一(Yi)接(Jie)口(Kou)或(Huo)类(Lei)的(De)子(Zi)类(Lei)的(De)同(Tong)时(Shi),(?)还(Huan)创(Chuang)建(Jian)了(Liao)该(Gai)子(Zi)类(Lei)的(De)实(Shi)例(Li)对(Dui)象(Xiang),(?)无(Wu)需(Xu)为(Wei)该(Gai)子(Zi)类(Lei)定(Ding)义(Yi)名(Ming)称(Cheng):(?)

public class Outer
{
        public void start()
        {
               new Thread(
new Runable(){
         public void run(){};
}
).start();
        }
}

最(Zui)后(Hou),(?)在(Zai)方(Fang)法(Fa)外(Wai)部(Bu)定(Ding)义(Yi)的(De)内(Nei)部(Bu)类(Lei)前(Qian)面(Mian)可(Ke)以(Yi)加(Jia)上(Shang)static关(Guan)键(Jian)字(Zi),(?)从(Cong)而(?)成(Cheng)为(Wei)Static Nested Class,(?)它(Ta)不(Bu)再(Zai)具(Ju)有(You)内(Nei)部(Bu)类(Lei)的(De)特(Te)性(Xing),(?)所(Suo)有(You),(?)从(Cong)狭(Xia)义(Yi)上(Shang)讲(Jiang),(?)它(Ta)不(Bu)是(Shi)内(Nei)部(Bu)类(Lei)。(?)Static Nested Class与(Yu)普(Pu)通(Tong)类(Lei)在(Zai)运(Yun)行(Xing)时(Shi)的(De)行(Xing)为(Wei)和(He)功(Gong)能(Neng)上(Shang)没(Mei)有(You)什(Shi)么(Me)区(Qu)别(Bie),(?)只(Zhi)是(Shi)在(Zai)编(Bian)程(Cheng)引(Yin)用(Yong)时(Shi)的(De)语(Yu)法(Fa)上(Shang)有(You)一(Yi)些(Xie)差(Cha)别(Bie),(?)它(Ta)可(Ke)以(Yi)定(Ding)义(Yi)成(Cheng)public、(?)protected、(?)默(Mo)认(Ren)的(De)、(?)private等(Deng)多(Duo)种(Zhong)类(Lei)型(Xing),(?)而(?)普(Pu)通(Tong)类(Lei)只(Zhi)能(Neng)定(Ding)义(Yi)成(Cheng)public和(He)默(Mo)认(Ren)的(De)这(Zhe)两(Liang)种(Zhong)类(Lei)型(Xing)。(?)在(Zai)外(Wai)面(Mian)引(Yin)用(Yong)Static Nested Class类(Lei)的(De)名(Ming)称(Cheng)为(Wei)“(?)外(Wai)部(Bu)类(Lei)名(Ming).内(Nei)部(Bu)类(Lei)名(Ming)”(?)。(?)在(Zai)外(Wai)面(Mian)不(Bu)需(Xu)要(Yao)创(Chuang)建(Jian)外(Wai)部(Bu)类(Lei)的(De)实(Shi)例(Li)对(Dui)象(Xiang),(?)就(Jiu)可(Ke)以(Yi)直(Zhi)接(Jie)创(Chuang)建(Jian)Static Nested Class,(?)例(Li)如(Ru),(?)假(Jia)设(She)Inner是(Shi)定(Ding)义(Yi)在(Zai)Outer类(Lei)中(Zhong)的(De)Static Nested Class,(?)那(Na)么(Me)可(Ke)以(Yi)使(Shi)用(Yong)如(Ru)下(Xia)语(Yu)句(Ju)创(Chuang)建(Jian)Inner类(Lei):(?)

Outer.Inner inner = newOuter.Inner();

由(You)于(Yu)static Nested Class不(Bu)依(Yi)赖(Lai)于(Yu)外(Wai)部(Bu)类(Lei)的(De)实(Shi)例(Li)对(Dui)象(Xiang),(?)所(Suo)以(Yi),(?)static Nested Class能(Neng)访(Fang)问(Wen)外(Wai)部(Bu)类(Lei)的(De)非(Fei)static成(Cheng)员(Yuan)变(Bian)量(Liang)(不(Bu)能(Neng)直(Zhi)接(Jie)访(Fang)问(Wen),(?)需(Xu)要(Yao)创(Chuang)建(Jian)外(Wai)部(Bu)类(Lei)实(Shi)例(Li)才(Cai)能(Neng)访(Fang)问(Wen)非(Fei)静(Jing)态(Tai)变(Bian)量(Liang))。(?)当(Dang)在(Zai)外(Wai)部(Bu)类(Lei)中(Zhong)访(Fang)问(Wen)Static Nested Class时(Shi),(?)可(Ke)以(Yi)直(Zhi)接(Jie)使(Shi)用(Yong)Static Nested Class的(De)名(Ming)字(Zi),(?)而(?)不(Bu)需(Xu)要(Yao)加(Jia)上(Shang)外(Wai)部(Bu)类(Lei)的(De)名(Ming)字(Zi)了(Liao),(?)在(Zai)Static Nested Class中(Zhong)也(Ye)可(Ke)以(Yi)直(Zhi)接(Jie)引(Yin)用(Yong)外(Wai)部(Bu)类(Lei)的(De)static的(De)成(Cheng)员(Yuan)变(Bian)量(Liang),(?)不(Bu)需(Xu)要(Yao)加(Jia)上(Shang)外(Wai)部(Bu)类(Lei)的(De)名(Ming)字(Zi)。(?)

在(Zai)静(Jing)态(Tai)方(Fang)法(Fa)中(Zhong)定(Ding)义(Yi)的(De)内(Nei)部(Bu)类(Lei)也(Ye)是(Shi)Static Nested Class,(?)这(Zhe)时(Shi)候(Hou)不(Bu)能(Neng)在(Zai)类(Lei)前(Qian)面(Mian)加(Jia)static关(Guan)键(Jian)字(Zi),(?)静(Jing)态(Tai)方(Fang)法(Fa)中(Zhong)的(De)Static Nested Class与(Yu)普(Pu)通(Tong)方(Fang)法(Fa)中(Zhong)的(De)内(Nei)部(Bu)类(Lei)的(De)应(Ying)用(Yong)方(Fang)式(Shi)很(Hen)相(Xiang)似(Si),(?)它(Ta)除(Chu)了(Liao)可(Ke)以(Yi)直(Zhi)接(Jie)访(Fang)问(Wen)外(Wai)部(Bu)类(Lei)中(Zhong)的(De)static的(De)成(Cheng)员(Yuan)变(Bian)量(Liang),(?)还(Huan)可(Ke)以(Yi)访(Fang)问(Wen)静(Jing)态(Tai)方(Fang)法(Fa)中(Zhong)的(De)局(Ju)部(Bu)变(Bian)量(Liang),(?)但(Dan)是(Shi),(?)该(Gai)局(Ju)部(Bu)变(Bian)量(Liang)前(Qian)必(Bi)须(Xu)加(Jia)final修(Xiu)饰(Shi)符(Fu)。(?)

备(Bei)注(Zhu):(?)首(Shou)先(Xian)根(Gen)据(Ju)你(Ni)的(De)印(Yin)象(Xiang)说(Shuo)出(Chu)你(Ni)对(Dui)内(Nei)部(Bu)类(Lei)的(De)总(Zong)体(Ti)方(Fang)面(Mian)的(De)特(Te)点(Dian):(?)例(Li)如(Ru),(?)在(Zai)两(Liang)个(Ge)地(Di)方(Fang)可(Ke)以(Yi)定(Ding)义(Yi),(?)可(Ke)以(Yi)访(Fang)问(Wen)外(Wai)部(Bu)类(Lei)的(De)成(Cheng)员(Yuan)变(Bian)量(Liang),(?)不(Bu)能(Neng)定(Ding)义(Yi)静(Jing)态(Tai)成(Cheng)员(Yuan),(?)这(Zhe)是(Shi)大(Da)的(De)特(Te)点(Dian)。(?)然(Ran)后(Hou)再(Zai)说(Shuo)一(Yi)些(Xie)细(Xi)节(Jie)方(Fang)面(Mian)的(De)知(Zhi)识(Shi),(?)例(Li)如(Ru),(?)几(Ji)种(Zhong)定(Ding)义(Yi)方(Fang)式(Shi)的(De)语(Yu)法(Fa)区(Qu)别(Bie),(?)静(Jing)态(Tai)内(Nei)部(Bu)类(Lei),(?)以(Yi)及(Ji)匿(Ni)名(Ming)内(Nei)部(Bu)类(Lei)。(?)

Static Nested Class是(Shi)被(Bei)声(Sheng)明(Ming)为(Wei)静(Jing)态(Tai)((?)static)(?)的(De)内(Nei)部(Bu)类(Lei),(?)它(Ta)可(Ke)以(Yi)不(Bu)依(Yi)赖(Lai)于(Yu)外(Wai)部(Bu)类(Lei)实(Shi)例(Li)被(Bei)实(Shi)例(Li)化(Hua)。(?)而(?)通(Tong)常(Chang)的(De)内(Nei)部(Bu)类(Lei)需(Xu)要(Yao)在(Zai)外(Wai)部(Bu)类(Lei)实(Shi)例(Li)化(Hua)后(Hou)才(Cai)能(Neng)实(Shi)例(Li)化(Hua),(?)其(Qi)语(Yu)法(Fa)看(Kan)起(Qi)来(Lai)挺(Ting)诡(Gui)异(Yi)的(De),(?)如(Ru)下(Xia)所(Suo)示(Shi)。(?)

package com.bjsxt;
/**
* 扑(Pu)克(Ke)类(Lei)((?)一(Yi)副(Fu)扑(Pu)克(Ke))(?)
  * @author sxt
  *
 */
public class Poker {
    private static String[] suites = {"黑(Hei)桃(Tao)", "红(Hong)桃(Tao)", "草(Cao)花(Hua)", "方(Fang)块(Kuai)"};
    private static int[] faces = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
          private Card[] cards;
    /**
      * 构(Gou)造(Zao)器(Qi)
     */
    public Poker() {
        cards = new Card[52];
        for(int i = 0; i < suites.length; i++) {
              for(int j = 0; j < faces.length; j++) {
                cards[i * 13 + j] = new Card(suites[i], faces[j]);
            }
        }
    }

    /**
          * 洗(Xi)牌(Pai) ((?)随(Sui)机(Ji)乱(Luan)序(Xu))(?)
          */
    public void shuffle() {
        for(int i = 0, len = cards.length; i < len; i++) {
            int index = (int) (Math.random() * len);
                   Card temp = cards[index];
            cards[index] = cards[i];
            cards[i] = temp;
        }
    }
     /**
     * 发(Fa)牌(Pai)
     * @param index 发(Fa)牌(Pai)的(De)位(Wei)置(Zhi)
     */
    public Card deal(int index) {
        return cards[index];
    }

    /**
     * 卡(Ka)片(Pian)类(Lei)((?)一(Yi)张(Zhang)扑(Pu)克(Ke))(?)
     * [内(Nei)部(Bu)类(Lei)]
     * @author sxt
     */
    public class Card {
  private String suite;   // 花(Hua)色(Se)
        private int face;       // 点(Dian)数(Shu)
  public Card(String suite, int face) {
            this.suite = suite;
            this.face = face;
       }
        @Override
        public String toString() {
            String faceStr = "";
            switch(face) {
                  case 1: faceStr = "A"; break;
            case 11: faceStr = "J"; break;
            case 12: faceStr = "Q"; break;
            case 13: faceStr = "K"; break;
            default: faceStr = String.valueOf(face);
            }
            return suite + faceStr;
        }
    }
}

测(Ce)试(Shi)类(Lei):(?)

package com.bjsxt;

class PokerTest {
   public static void main(String[] args) {
        Poker poker = new Poker();
        poker.shuffle();            // 洗(Xi)牌(Pai)
        Poker.Card c1 = poker.deal(0);  // 发(Fa)第(Di)一(Yi)张(Zhang)牌(Pai)
              // 对(Dui)于(Yu)非(Fei)静(Jing)态(Tai)内(Nei)部(Bu)类(Lei)Card
        // 只(Zhi)有(You)通(Tong)过(Guo)其(Qi)外(Wai)部(Bu)类(Lei)Poker对(Dui)象(Xiang)才(Cai)能(Neng)创(Chuang)建(Jian)Card对(Dui)象(Xiang)
        Poker.Card c2 = poker.new Card("红(Hong)心(Xin)", 1);    // 自(Zi)己(Ji)创(Chuang)建(Jian)一(Yi)张(Zhang)牌(Pai)
        System.out.println(c1);     // 洗(Xi)牌(Pai)后(Hou)的(De)第(Di)一(Yi)张(Zhang)
        System.out.println(c2);     // 打(Da)印(Yin): 红(Hong)心(Xin)A
    }
}
150.抽(Chou)象(Xiang)的(De)((?)abstract)(?)方(Fang)法(Fa)是(Shi)否(Fou)可(Ke)同(Tong)时(Shi)是(Shi)静(Jing)态(Tai)的(De)((?)static)(?),是(Shi)否(Fou)可(Ke)同(Tong)时(Shi)是(Shi)本(Ben)地(Di)方(Fang)法(Fa)((?)native)(?),(?)是(Shi)否(Fou)可(Ke)同(Tong)时(Shi)被(Bei)synchronized修(Xiu)饰(Shi)?

答(Da):(?)都(Du)不(Bu)能(Neng)。(?)抽(Chou)象(Xiang)方(Fang)法(Fa)需(Xu)要(Yao)子(Zi)类(Lei)重(Zhong)写(Xie),(?)而(?)静(Jing)态(Tai)的(De)方(Fang)法(Fa)是(Shi)无(Wu)法(Fa)被(Bei)重(Zhong)写(Xie)的(De),(?)因(Yin)此(Ci)二(?)者(Zhe)是(Shi)矛(Mao)盾(Dun)的(De)。(?)本(Ben)地(Di)方(Fang)法(Fa)是(Shi)由(You)本(Ben)地(Di)代(Dai)码(Ma)((?)如(Ru)C代(Dai)码(Ma))(?)实(Shi)现(Xian)的(De)方(Fang)法(Fa),(?)而(?)抽(Chou)象(Xiang)方(Fang)法(Fa)是(Shi)没(Mei)有(You)实(Shi)现(Xian)的(De),(?)也(Ye)是(Shi)矛(Mao)盾(Dun)的(De)。(?)synchronized和(He)方(Fang)法(Fa)的(De)实(Shi)现(Xian)细(Xi)节(Jie)有(You)关(Guan),(?)抽(Chou)象(Xiang)方(Fang)法(Fa)不(Bu)涉(She)及(Ji)实(Shi)现(Xian)细(Xi)节(Jie),(?)因(Yin)此(Ci)也(Ye)是(Shi)相(Xiang)互(Hu)矛(Mao)盾(Dun)的(De)。(?)

151.静(Jing)态(Tai)变(Bian)量(Liang)和(He)实(Shi)例(Li)变(Bian)量(Liang)的(De)区(Qu)别(Bie)?(?)

答(Da):(?)静(Jing)态(Tai)变(Bian)量(Liang)是(Shi)被(Bei)static修(Xiu)饰(Shi)符(Fu)修(Xiu)饰(Shi)的(De)变(Bian)量(Liang),(?)也(Ye)称(Cheng)为(Wei)类(Lei)变(Bian)量(Liang),(?)它(Ta)属(Shu)于(Yu)类(Lei),(?)不(Bu)属(Shu)于(Yu)类(Lei)的(De)任(Ren)何(He)一(Yi)个(Ge)对(Dui)象(Xiang),(?)一(Yi)个(Ge)类(Lei)不(Bu)管(Guan)创(Chuang)建(Jian)多(Duo)少(Shao)个(Ge)对(Dui)象(Xiang),(?)静(Jing)态(Tai)变(Bian)量(Liang)在(Zai)内(Nei)存(Cun)中(Zhong)有(You)且(Qie)仅(Jin)有(You)一(Yi)个(Ge)拷(Kao)贝(Bei);(?)实(Shi)例(Li)变(Bian)量(Liang)必(Bi)须(Xu)依(Yi)存(Cun)于(Yu)某(Mou)一(Yi)实(Shi)例(Li),(?)需(Xu)要(Yao)先(Xian)创(Chuang)建(Jian)对(Dui)象(Xiang)然(Ran)后(Hou)通(Tong)过(Guo)对(Dui)象(Xiang)才(Cai)能(Neng)访(Fang)问(Wen)到(Dao)它(Ta),(?)静(Jing)态(Tai)变(Bian)量(Liang)可(Ke)以(Yi)实(Shi)现(Xian)让(Rang)多(Duo)个(Ge)对(Dui)象(Xiang)共(Gong)享(Xiang)内(Nei)存(Cun)。(?)两(Liang)者(Zhe)的(De)相(Xiang)同(Tong)点(Dian):(?)都(Du)有(You)默(Mo)认(Ren)值(Zhi)而(?)且(Qie)在(Zai)类(Lei)的(De)任(Ren)何(He)地(Di)方(Fang)都(Du)可(Ke)以(Yi)调(Diao)用(Yong)。(?)在(Zai)Java开(Kai)发(Fa)中(Zhong),(?)上(Shang)下(Xia)文(Wen)类(Lei)和(He)工(Gong)具(Ju)类(Lei)中(Zhong)通(Tong)常(Chang)会(Hui)有(You)大(Da)量(Liang)的(De)静(Jing)态(Tai)成(Cheng)员(Yuan)。(?)

152.是(Shi)否(Fou)可(Ke)以(Yi)从(Cong)一(Yi)个(Ge)静(Jing)态(Tai)((?)static)(?)方(Fang)法(Fa)内(Nei)部(Bu)发(Fa)出(Chu)对(Dui)非(Fei)静(Jing)态(Tai)((?)non-static)(?)方(Fang)法(Fa)的(De)调(Diao)用(Yong)?(?)

答(Da):(?)不(Bu)可(Ke)以(Yi),(?)静(Jing)态(Tai)方(Fang)法(Fa)只(Zhi)能(Neng)访(Fang)问(Wen)静(Jing)态(Tai)成(Cheng)员(Yuan),(?)因(Yin)为(Wei)非(Fei)静(Jing)态(Tai)方(Fang)法(Fa)的(De)调(Diao)用(Yong)要(Yao)先(Xian)创(Chuang)建(Jian)对(Dui)象(Xiang),(?)因(Yin)此(Ci)在(Zai)调(Diao)用(Yong)静(Jing)态(Tai)方(Fang)法(Fa)时(Shi)可(Ke)能(Neng)对(Dui)象(Xiang)并(Bing)没(Mei)有(You)被(Bei)初(Chu)始(Shi)化(Hua)。(?)

153.如(Ru)何(He)实(Shi)现(Xian)对(Dui)象(Xiang)克(Ke)隆(Long)?(?)
package com.bjsxt;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class MyUtil {
      private MyUtil() {
        throw new AssertionError();
    }
      public static <T> T clone(T obj) throws Exception {
        ByteArrayOutputStream bout = new ByteArrayOutputStream();
        ObjectOutputStream oos = new ObjectOutputStream(bout);
        oos.writeObject(obj);
        ByteArrayInputStream bin = new ByteArrayInputStream(bout.toByteArray());
        ObjectInputStream ois = new ObjectInputStream(bin);
        return (T) ois.readObject();
        // 说(Shuo)明(Ming):(?)调(Diao)用(Yong)ByteArrayInputStream或(Huo)ByteArrayOutputStream对(Dui)象(Xiang)的(De)close方(Fang)法(Fa)没(Mei)有(You)任(Ren)何(He)意(Yi)义(Yi)
        // 这(Zhe)两(Liang)个(Ge)基(Ji)于(Yu)内(Nei)存(Cun)的(De)流(Liu)只(Zhi)要(Yao)垃(La)圾(Ji)回(Hui)收(Shou)器(Qi)清(Qing)理(Li)对(Dui)象(Xiang)就(Jiu)能(Neng)够(Gou)释(Shi)放(Fang)资(Zi)源(Yuan)
}
}

答(Da):(?)有(You)两(Liang)种(Zhong)方(Fang)式(Shi):(?)

1.实(Shi)现(Xian)Cloneable接(Jie)口(Kou)并(Bing)重(Zhong)写(Xie)Object类(Lei)中(Zhong)的(De)clone()方(Fang)法(Fa);(?)

2.实(Shi)现(Xian)Serializable接(Jie)口(Kou),(?)通(Tong)过(Guo)对(Dui)象(Xiang)的(De)序(Xu)列(Lie)化(Hua)和(He)反(Fan)序(Xu)列(Lie)化(Hua)实(Shi)现(Xian)克(Ke)隆(Long),(?)可(Ke)以(Yi)实(Shi)现(Xian)真(Zhen)正(Zheng)的(De)深(Shen)度(Du)克(Ke)隆(Long),(?)代(Dai)码(Ma)如(Ru)下(Xia)。(?)

下(Xia)面(Mian)是(Shi)测(Ce)试(Shi)代(Dai)码(Ma):(?)

package com.bjsxt;
import java.io.Serializable;
/**
 * 人(Ren)类(Lei)
 * @author sxt
*/
class Person implements Serializable {
    private static final long serialVersionUID = -9102017020286042305L;
    private String name;    // 姓(Xing)名(Ming)
    private int age;        // 年(Nian)龄(Ling)
    private Car car;        // 座(Zuo)驾(Jia)

    public Person(String name, int age, Car car) {
        this.name = name;
        this.age = age;
        this.car = car;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public Car getCar() {
        return car;
    }
    public void setCar(Car car) {
        this.car = car;
    }
    @Override
    public String toString() {
     return "Person [name=" + name + ", age=" + age + ", car=" + car + "]";
    }
  }
  /**
 * 小(Xiao)汽(Qi)车(Che)类(Lei)
 * @author sxt
*/
class Car implements Serializable {
    private static final long serialVersionUID = -5713945027627603702L;
    private String brand;       // 品(Pin)牌(Pai)
    private int maxSpeed;       // 最(Zui)高(Gao)时(Shi)速(Su)

    public Car(String brand, int maxSpeed) {
        this.brand = brand;
        this.maxSpeed = maxSpeed;
    }
    public String getBrand() {
        return brand;
    }
    public void setBrand(String brand) {
        this.brand = brand;
    }
    public int getMaxSpeed() {
        return maxSpeed;
    }

    public void setMaxSpeed(int maxSpeed) {
        this.maxSpeed = maxSpeed;
    }

    @Override
    public String toString() {
        return "Car [brand=" + brand + ", maxSpeed=" + maxSpeed + "]";
    }
  }

class CloneTest {
  public static void main(String[] args) {
        try {
            Person p1 = new Person("Hao LUO", 33, new Car("Benz", 300));
            Person p2 = MyUtil.clone(p1);   // 深(Shen)度(Du)克(Ke)隆(Long)
            p2.getCar().setBrand("BYD");
            // 修(Xiu)改(Gai)克(Ke)隆(Long)的(De)Person对(Dui)象(Xiang)p2关(Guan)联(Lian)的(De)汽(Qi)车(Che)对(Dui)象(Xiang)的(De)品(Pin)牌(Pai)属(Shu)性(Xing)
            // 原(Yuan)来(Lai)的(De)Person对(Dui)象(Xiang)p1关(Guan)联(Lian)的(De)汽(Qi)车(Che)不(Bu)会(Hui)受(Shou)到(Dao)任(Ren)何(He)影(Ying)响(Xiang)
            // 因(Yin)为(Wei)在(Zai)克(Ke)隆(Long)Person对(Dui)象(Xiang)时(Shi)其(Qi)关(Guan)联(Lian)的(De)汽(Qi)车(Che)对(Dui)象(Xiang)也(Ye)被(Bei)克(Ke)隆(Long)了(Liao)
            System.out.println(p1);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

注(Zhu)意(Yi):(?)基(Ji)于(Yu)序(Xu)列(Lie)化(Hua)和(He)反(Fan)序(Xu)列(Lie)化(Hua)实(Shi)现(Xian)的(De)克(Ke)隆(Long)不(Bu)仅(Jin)仅(Jin)是(Shi)深(Shen)度(Du)克(Ke)隆(Long),(?)更(Geng)重(Zhong)要(Yao)的(De)是(Shi)通(Tong)过(Guo)泛(Fan)型(Xing)限(Xian)定(Ding),(?)可(Ke)以(Yi)检(Jian)查(Cha)出(Chu)要(Yao)克(Ke)隆(Long)的(De)对(Dui)象(Xiang)是(Shi)否(Fou)支(Zhi)持(Chi)序(Xu)列(Lie)化(Hua),(?)这(Zhe)项(Xiang)检(Jian)查(Cha)是(Shi)编(Bian)译(Yi)器(Qi)完(Wan)成(Cheng)的(De),(?)不(Bu)是(Shi)在(Zai)运(Yun)行(Xing)时(Shi)抛(Pao)出(Chu)异(Yi)常(Chang),(?)这(Zhe)种(Zhong)是(Shi)方(Fang)案(An)明(Ming)显(Xian)优(You)于(Yu)使(Shi)用(Yong)Object类(Lei)的(De)clone方(Fang)法(Fa)克(Ke)隆(Long)对(Dui)象(Xiang)。(?)

154.接(Jie)口(Kou)是(Shi)否(Fou)可(Ke)继(Ji)承(Cheng)((?)extends)(?)接(Jie)口(Kou)? 抽(Chou)象(Xiang)类(Lei)是(Shi)否(Fou)可(Ke)实(Shi)现(Xian)((?)implements)(?)接(Jie)口(Kou)? 抽(Chou)象(Xiang)类(Lei)是(Shi)否(Fou)可(Ke)继(Ji)承(Cheng)具(Ju)体(Ti)类(Lei)((?)concrete class)(?)?

答(Da):(?)接(Jie)口(Kou)可(Ke)以(Yi)继(Ji)承(Cheng)接(Jie)口(Kou)。(?)抽(Chou)象(Xiang)类(Lei)可(Ke)以(Yi)实(Shi)现(Xian)(implements)接(Jie)口(Kou),(?)抽(Chou)象(Xiang)类(Lei)可(Ke)以(Yi)继(Ji)承(Cheng)具(Ju)体(Ti)类(Lei)。(?)抽(Chou)象(Xiang)类(Lei)中(Zhong)可(Ke)以(Yi)有(You)静(Jing)态(Tai)的(De)main方(Fang)法(Fa)。(?)

备(Bei)注(Zhu):(?)只(Zhi)要(Yao)明(Ming)白(Bai)了(Liao)接(Jie)口(Kou)和(He)抽(Chou)象(Xiang)类(Lei)的(De)本(Ben)质(Zhi)和(He)作(Zuo)用(Yong),(?)这(Zhe)些(Xie)问(Wen)题(Ti)都(Du)很(Hen)好(Hao)回(Hui)答(Da),(?)你(Ni)想(Xiang)想(Xiang),(?)如(Ru)果(Guo)你(Ni)是(Shi)java语(Yu)言(Yan)的(De)设(She)计(Ji)者(Zhe),(?)你(Ni)是(Shi)否(Fou)会(Hui)提(Ti)供(Gong)这(Zhe)样(Yang)的(De)支(Zhi)持(Chi),(?)如(Ru)果(Guo)不(Bu)提(Ti)供(Gong)的(De)话(Hua),(?)有(You)什(Shi)么(Me)理(Li)由(You)吗(Ma)?(?)如(Ru)果(Guo)你(Ni)没(Mei)有(You)道(Dao)理(Li)不(Bu)提(Ti)供(Gong),(?)那(Na)答(Da)案(An)就(Jiu)是(Shi)肯(Ken)定(Ding)的(De)了(Liao)。(?)

只(Zhi)有(You)记(Ji)住(Zhu)抽(Chou)象(Xiang)类(Lei)与(Yu)普(Pu)通(Tong)类(Lei)的(De)唯(Wei)一(Yi)区(Qu)别(Bie)就(Jiu)是(Shi)不(Bu)能(Neng)创(Chuang)建(Jian)实(Shi)例(Li)对(Dui)象(Xiang)和(He)允(Yun)许(Xu)有(You)abstract方(Fang)法(Fa)。(?)

155.一(Yi)个(Ge)“(?).java”(?)源(Yuan)文(Wen)件(Jian)中(Zhong)是(Shi)否(Fou)可(Ke)以(Yi)包(Bao)含(Han)多(Duo)个(Ge)类(Lei)((?)不(Bu)是(Shi)内(Nei)部(Bu)类(Lei))(?)?(?)有(You)什(Shi)么(Me)限(Xian)制(Zhi)?(?)

答(Da):(?)可(Ke)以(Yi),(?)但(Dan)一(Yi)个(Ge)源(Yuan)文(Wen)件(Jian)中(Zhong)最(Zui)多(Duo)只(Zhi)能(Neng)有(You)一(Yi)个(Ge)公(Gong)开(Kai)类(Lei)((?)public class)(?)而(?)且(Qie)文(Wen)件(Jian)名(Ming)必(Bi)须(Xu)和(He)公(Gong)开(Kai)类(Lei)的(De)类(Lei)名(Ming)完(Wan)全(Quan)保(Bao)持(Chi)一(Yi)致(Zhi)。(?)

156.Anonymous Inner Class(匿(Ni)名(Ming)内(Nei)部(Bu)类(Lei))是(Shi)否(Fou)可(Ke)以(Yi)继(Ji)承(Cheng)其(Qi)它(Ta)类(Lei)?(?)是(Shi)否(Fou)可(Ke)以(Yi)实(Shi)现(Xian)接(Jie)口(Kou)?(?)

答(Da):(?)可(Ke)以(Yi)继(Ji)承(Cheng)其(Qi)他(Ta)类(Lei)或(Huo)实(Shi)现(Xian)其(Qi)他(Ta)接(Jie)口(Kou),(?)在(Zai)Swing编(Bian)程(Cheng)中(Zhong)常(Chang)用(Yong)此(Ci)方(Fang)式(Shi)来(Lai)实(Shi)现(Xian)事(Shi)件(Jian)监(Jian)听(Ting)和(He)回(Hui)调(Diao)。(?)但(Dan)是(Shi)有(You)一(Yi)点(Dian)需(Xu)要(Yao)注(Zhu)意(Yi),(?)它(Ta)只(Zhi)能(Neng)继(Ji)承(Cheng)一(Yi)个(Ge)类(Lei)或(Huo)一(Yi)个(Ge)接(Jie)口(Kou)。(?)

157.内(Nei)部(Bu)类(Lei)可(Ke)以(Yi)引(Yin)用(Yong)它(Ta)的(De)包(Bao)含(Han)类(Lei)((?)外(Wai)部(Bu)类(Lei))(?)的(De)成(Cheng)员(Yuan)吗(Ma)?(?)有(You)没(Mei)有(You)什(Shi)么(Me)限(Xian)制(Zhi)?(?)

答(Da):(?)一(Yi)个(Ge)内(Nei)部(Bu)类(Lei)对(Dui)象(Xiang)可(Ke)以(Yi)访(Fang)问(Wen)创(Chuang)建(Jian)它(Ta)的(De)外(Wai)部(Bu)类(Lei)对(Dui)象(Xiang)的(De)成(Cheng)员(Yuan),(?)包(Bao)括(Kuo)私(Si)有(You)成(Cheng)员(Yuan)。(?)如(Ru)果(Guo)要(Yao)访(Fang)问(Wen)外(Wai)部(Bu)类(Lei)的(De)局(Ju)部(Bu)变(Bian)量(Liang),(?)此(Ci)时(Shi)局(Ju)部(Bu)变(Bian)量(Liang)必(Bi)须(Xu)使(Shi)用(Yong)final修(Xiu)饰(Shi),(?)否(Fou)则(Ze)无(Wu)法(Fa)访(Fang)问(Wen)。(?)

158.Java 中(Zhong)的(De)final关(Guan)键(Jian)字(Zi)有(You)哪(Na)些(Xie)用(Yong)法(Fa)?(?)

(1) 修(Xiu)饰(Shi)类(Lei):(?)表(Biao)示(Shi)该(Gai)类(Lei)不(Bu)能(Neng)被(Bei)继(Ji)承(Cheng);(?)

(2) 修(Xiu)饰(Shi)方(Fang)法(Fa):(?)表(Biao)示(Shi)方(Fang)法(Fa)不(Bu)能(Neng)被(Bei)重(Zhong)写(Xie)但(Dan)是(Shi)允(Yun)许(Xu)重(Zhong)载(Zai);(?)

(3) 修(Xiu)饰(Shi)变(Bian)量(Liang):(?)表(Biao)示(Shi)变(Bian)量(Liang)只(Zhi)能(Neng)一(Yi)次(Ci)赋(Fu)值(Zhi)以(Yi)后(Hou)值(Zhi)不(Bu)能(Neng)被(Bei)修(Xiu)改(Gai)((?)常(Chang)量(Liang))(?);(?)

(4) 修(Xiu)饰(Shi)对(Dui)象(Xiang):(?)对(Dui)象(Xiang)的(De)引(Yin)用(Yong)地(Di)址(Zhi)不(Bu)能(Neng)变(Bian),(?)但(Dan)是(Shi)对(Dui)象(Xiang)的(De)初(Chu)始(Shi)化(Hua)值(Zhi)可(Ke)以(Yi)变(Bian)。(?)

159.指(Zhi)出(Chu)下(Xia)面(Mian)程(Cheng)序(Xu)的(De)运(Yun)行(Xing)结(Jie)果(Guo):
package com.bjsxt;
class A{
  static{
        System.out.print("1");
    }
  public A(){
        System.out.print("2");
    }
}
class B extends A{
  static{
        System.out.print("a");
    }
    public B(){
        System.out.print("b");
    }
}

public class Hello{
  public static void main(String[] args){
        A ab = new B();
        ab = new B();
    }
}

答(Da):(?)执(Zhi)行(Xing)结(Jie)果(Guo):(?)1a2b2b。(?)创(Chuang)建(Jian)对(Dui)象(Xiang)时(Shi)构(Gou)造(Zao)器(Qi)的(De)调(Diao)用(Yong)顺(Shun)序(Xu)是(Shi):(?)先(Xian)初(Chu)始(Shi)化(Hua)静(Jing)态(Tai)成(Cheng)员(Yuan),(?)然(Ran)后(Hou)调(Diao)用(Yong)父(Fu)类(Lei)构(Gou)造(Zao)器(Qi),(?)再(Zai)初(Chu)始(Shi)化(Hua)非(Fei)静(Jing)态(Tai)成(Cheng)员(Yuan),(?)最(Zui)后(Hou)调(Diao)用(Yong)自(Zi)身(Shen)构(Gou)造(Zao)器(Qi)。(?)

考(Kao)点(Dian):(?)静(Jing)态(Tai)代(Dai)码(Ma)块(Kuai)优(You)先(Xian)级(Ji) > 构(Gou)造(Zao)方(Fang)法(Fa)的(De)优(You)先(Xian)级(Ji)如(Ru)果(Guo)再(Zai)加(Jia)一(Yi)个(Ge)普(Pu)通(Tong)代(Dai)码(Ma)块(Kuai),(?)优(You)先(Xian)顺(Shun)序(Xu)如(Ru)下(Xia):(?)静(Jing)态(Tai)代(Dai)码(Ma)块(Kuai)>普(Pu)通(Tong)代(Dai)码(Ma)块(Kuai)>构(Gou)造(Zao)方(Fang)法(Fa)

160.说(Shuo)说(Shuo)数(Shu)据(Ju)类(Lei)型(Xing)之(Zhi)间(Jian)的(De)转(Zhuan)换(Huan):

1 ) 如(Ru)何(He)将(Jiang)字(Zi)符(Fu)串(Chuan)转(Zhuan)换(Huan)为(Wei)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)?(?)

2 ) 如(Ru)何(He)将(Jiang)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)转(Zhuan)换(Huan)为(Wei)字(Zi)符(Fu)串(Chuan)?(?)

答(Da):(?)

1 ) 调(Diao)用(Yong)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)对(Dui)应(Ying)的(De)包(Bao)装(Zhuang)类(Lei)中(Zhong)的(De)方(Fang)法(Fa)parseXXX(String)或(Huo)valueOf(String)即(Ji)可(Ke)返(Fan)回(Hui)相(Xiang)应(Ying)基(Ji)本(Ben)类(Lei)型(Xing);(?)

2 ) 一(Yi)种(Zhong)方(Fang)法(Fa)是(Shi)将(Jiang)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)与(Yu)空(Kong)字(Zi)符(Fu)串(Chuan)((?)”(?)”(?))(?)连(Lian)接(Jie)((?)+)(?)即(Ji)可(Ke)获(Huo)得(De)其(Qi)所(Suo)对(Dui)应(Ying)的(De)字(Zi)符(Fu)串(Chuan);(?)另(Ling)一(Yi)种(Zhong)方(Fang)法(Fa)是(Shi)调(Diao)用(Yong)String 类(Lei)中(Zhong)的(De)valueOf(…(?))方(Fang)法(Fa)返(Fan)回(Hui)相(Xiang)应(Ying)字(Zi)符(Fu)串(Chuan)

161.如(Ru)何(He)实(Shi)现(Xian)字(Zi)符(Fu)串(Chuan)的(De)反(Fan)转(Zhuan)及(Ji)替(Ti)换(Huan)?(?)

答(Da):(?)方(Fang)法(Fa)很(Hen)多(Duo),(?)可(Ke)以(Yi)自(Zi)己(Ji)写(Xie)实(Shi)现(Xian)也(Ye)可(Ke)以(Yi)使(Shi)用(Yong)String或(Huo)StringBuffer / StringBuilder中(Zhong)的(De)方(Fang)法(Fa)。(?)有(You)一(Yi)道(Dao)很(Hen)常(Chang)见(Jian)的(De)面(Mian)试(Shi)题(Ti)是(Shi)用(Yong)递(Di)归(Gui)实(Shi)现(Xian)字(Zi)符(Fu)串(Chuan)反(Fan)转(Zhuan),(?)代(Dai)码(Ma)如(Ru)下(Xia)所(Suo)示(Shi):(?)

package com.bjsxt;
public class A{
    public static String reverse(String originStr) {
 if(originStr == null || originStr.length() <= 1)
     return originStr;
       return reverse(originStr.substring(1)) + originStr.charAt(0);
     }
}
162.怎(Zen)样(Yang)将(Jiang)GB2312编(Bian)码(Ma)的(De)字(Zi)符(Fu)串(Chuan)转(Zhuan)换(Huan)为(Wei)ISO-8859-1编(Bian)码(Ma)的(De)字(Zi)符(Fu)串(Chuan)?(?)

答(Da):(?)代(Dai)码(Ma)如(Ru)下(Xia)所(Suo)示(Shi):

String s1 = "你(Ni)好(Hao)";

String s2 = newString(s1.getBytes("GB2312"), "ISO-8859-1");

在(Zai)String类(Lei)的(De)构(Gou)造(Zao)方(Fang)法(Fa)当(Dang)中(Zhong),(?)存(Cun)在(Zai)一(Yi)个(Ge)字(Zi)符(Fu)集(Ji)设(She)置(Zhi)的(De)方(Fang)法(Fa),(?)具(Ju)体(Ti)如(Ru)下(Xia):(?)

163.Java中(Zhong)的(De)日(Ri)期(Qi)和(He)时(Shi)间(Jian):(?)

1 ) 如(Ru)何(He)取(Qu)得(De)年(Nian)月(Yue)日(Ri)、(?)小(Xiao)时(Shi)分(Fen)钟(Zhong)秒(Miao)?(?)

2 ) 如(Ru)何(He)取(Qu)得(De)从(Cong)1970年(Nian)1月(Yue)1日(Ri)0时(Shi)0分(Fen)0秒(Miao)到(Dao)现(Xian)在(Zai)的(De)毫(Hao)秒(Miao)数(Shu)?(?)

3 ) 如(Ru)何(He)取(Qu)得(De)某(Mou)月(Yue)的(De)最(Zui)后(Hou)一(Yi)天(Tian)?(?)

4 ) 如(Ru)何(He)格(Ge)式(Shi)化(Hua)日(Ri)期(Qi)?(?)

答(Da):(?)操(Cao)作(Zuo)方(Fang)法(Fa)如(Ru)下(Xia)所(Suo)示(Shi):(?)

1 ) 创(Chuang)建(Jian)java.util.Calendar 实(Shi)例(Li),(?)调(Diao)用(Yong)其(Qi)get()方(Fang)法(Fa)传(Chuan)入(Ru)不(Bu)同(Tong)的(De)参(Can)数(Shu)即(Ji)可(Ke)获(Huo)得(De)参(Can)数(Shu)所(Suo)对(Dui)应(Ying)的(De)值(Zhi)

2 ) 以(Yi)下(Xia)方(Fang)法(Fa)均(Jun)可(Ke)获(Huo)得(De)该(Gai)毫(Hao)秒(Miao)数(Shu):

Calendar.getInstance().getTimeInMillis();

time.getActualMaximum(Calendar.DAY_OF_MONTH);

4 ) 利(Li)用(Yong)java.text.DataFormat 的(De)子(Zi)类(Lei)((?)如(Ru)SimpleDateFormat类(Lei))(?)中(Zhong)的(De)format(Date)方(Fang)法(Fa)可(Ke)将(Jiang)日(Ri)期(Qi)格(Ge)式(Shi)化(Hua)。(?)

164.打(Da)印(Yin)昨(Zuo)天(Tian)的(De)当(Dang)前(Qian)时(Shi)刻(Ke)。(?)
package com.bjsxt;
import java.util.Calendar;
public class YesterdayCurrent {
 public static void main(String[] args){
 Calendar cal = Calendar.getInstance();
 cal.add(Calendar.DATE, -1);
 System.out.println(cal.getTime());
 }
}
165.Java反(Fan)射(She)技(Ji)术(Shu)主(Zhu)要(Yao)实(Shi)现(Xian)类(Lei)有(You)哪(Na)些(Xie),(?)作(Zuo)用(Yong)分(Fen)别(Bie)是(Shi)什(Shi)么(Me)?(?)

在(Zai)JDK中(Zhong),(?)主(Zhu)要(Yao)由(You)以(Yi)下(Xia)类(Lei)来(Lai)实(Shi)现(Xian)Java反(Fan)射(She)机(Ji)制(Zhi),(?)这(Zhe)些(Xie)类(Lei)都(Du)位(Wei)于(Yu)java.lang.reflect包(Bao)中(Zhong)

1)(?)Class类(Lei):(?)代(Dai)表(Biao)一(Yi)个(Ge)类(Lei)

2)(?)Field 类(Lei):(?)代(Dai)表(Biao)类(Lei)的(De)成(Cheng)员(Yuan)变(Bian)量(Liang)(属(Shu)性(Xing))

3)(?)Method类(Lei):(?)代(Dai)表(Biao)类(Lei)的(De)成(Cheng)员(Yuan)方(Fang)法(Fa)

4)(?)Constructor 类(Lei):(?)代(Dai)表(Biao)类(Lei)的(De)构(Gou)造(Zao)方(Fang)法(Fa)

5)(?)Array类(Lei):(?)提(Ti)供(Gong)了(Liao)动(Dong)态(Tai)创(Chuang)建(Jian)数(Shu)组(Zu),(?)以(Yi)及(Ji)访(Fang)问(Wen)数(Shu)组(Zu)的(De)元(Yuan)素(Su)的(De)静(Jing)态(Tai)方(Fang)法(Fa)

166.Class类(Lei)的(De)作(Zuo)用(Yong)?(?)生(Sheng)成(Cheng)Class对(Dui)象(Xiang)的(De)方(Fang)法(Fa)有(You)哪(Na)些(Xie)?(?)

Class类(Lei)是(Shi)Java 反(Fan)射(She)机(Ji)制(Zhi)的(De)起(Qi)源(Yuan)和(He)入(Ru)口(Kou),(?)用(Yong)于(Yu)获(Huo)取(Qu)与(Yu)类(Lei)相(Xiang)关(Guan)的(De)各(Ge)种(Zhong)信(Xin)息(Xi),(?)提(Ti)供(Gong)了(Liao)获(Huo)取(Qu)类(Lei)信(Xin)息(Xi)的(De)相(Xiang)关(Guan)方(Fang)法(Fa)。(?)Class类(Lei)继(Ji)承(Cheng)自(Zi)Object类(Lei)

Class类(Lei)是(Shi)所(Suo)有(You)类(Lei)的(De)共(Gong)同(Tong)的(De)图(Tu)纸(Zhi)。(?)每(Mei)个(Ge)类(Lei)有(You)自(Zi)己(Ji)的(De)对(Dui)象(Xiang),(?)好(Hao)比(Bi)图(Tu)纸(Zhi)和(He)实(Shi)物(Wu)的(De)关(Guan)系(Xi);(?)每(Mei)个(Ge)类(Lei)也(Ye)可(Ke)看(Kan)做(Zuo)是(Shi)一(Yi)个(Ge)对(Dui)象(Xiang),(?)有(You)共(Gong)同(Tong)的(De)图(Tu)纸(Zhi)Class,(?)存(Cun)放(Fang)类(Lei)的(De) 结(Jie)构(Gou)信(Xin)息(Xi),(?)能(Neng)够(Gou)通(Tong)过(Guo)相(Xiang)应(Ying)方(Fang)法(Fa)取(Qu)出(Chu)相(Xiang)应(Ying)信(Xin)息(Xi):(?)类(Lei)的(De)名(Ming)字(Zi)、(?)属(Shu)性(Xing)、(?)方(Fang)法(Fa)、(?)构(Gou)造(Zao)方(Fang)法(Fa)、(?)父(Fu)类(Lei)和(He)接(Jie)口(Kou)

方(Fang) 法(Fa)
示(Shi) 例(Li)
对(Dui)象(Xiang)名(Ming)
.getClass()
String str="bdqn";
Class clazz = str.getClass();
对(Dui)象(Xiang)名(Ming)
.getSuperClass()
Student stu = new Student();
Class c1 = stu.getClass();
Class c2 = stu.getSuperClass();
Class.forName()
Class clazz = Class.forName("java.lang.Object");
Class.forName("oracle.jdbc.driver.OracleDriver");
类(Lei)名(Ming).class
类(Lei)名(Ming).class
Class c2 = Student.class;
Class c2 = int.class
包(Bao)装(Zhuang)类(Lei).TYPE
包(Bao)装(Zhuang)类(Lei).TYPE
Class c2 = Boolean.TYPE;
167.反(Fan)射(She)的(De)使(Shi)用(Yong)场(Chang)合(He)和(He)作(Zuo)用(Yong)、(?)及(Ji)其(Qi)优(You)缺(Que)点(Dian)

1)(?)使(Shi)用(Yong)场(Chang)合(He)

在(Zai)编(Bian)译(Yi)时(Shi)根(Gen)本(Ben)无(Wu)法(Fa)知(Zhi)道(Dao)该(Gai)对(Dui)象(Xiang)或(Huo)类(Lei)可(Ke)能(Neng)属(Shu)于(Yu)哪(Na)些(Xie)类(Lei),(?)程(Cheng)序(Xu)只(Zhi)依(Yi)靠(Kao)运(Yun)行(Xing)时(Shi)信(Xin)息(Xi)来(Lai)发(Fa)现(Xian)该(Gai)对(Dui)象(Xiang)和(He)类(Lei)的(De)真(Zhen)实(Shi)信(Xin)息(Xi)。(?)

2)(?)主(Zhu)要(Yao)作(Zuo)用(Yong)

通(Tong)过(Guo)反(Fan)射(She)可(Ke)以(Yi)使(Shi)程(Cheng)序(Xu)代(Dai)码(Ma)访(Fang)问(Wen)装(Zhuang)载(Zai)到(Dao)JVM 中(Zhong)的(De)类(Lei)的(De)内(Nei)部(Bu)信(Xin)息(Xi),(?)获(Huo)取(Qu)已(Yi)装(Zhuang)载(Zai)类(Lei)的(De)属(Shu)性(Xing)信(Xin)息(Xi),(?)获(Huo)取(Qu)已(Yi)装(Zhuang)载(Zai)类(Lei)的(De)方(Fang)法(Fa),(?)获(Huo)取(Qu)已(Yi)装(Zhuang)载(Zai)类(Lei)的(De)构(Gou)造(Zao)方(Fang)法(Fa)信(Xin)息(Xi)

3)(?)反(Fan)射(She)的(De)优(You)点(Dian)

反(Fan)射(She)提(Ti)高(Gao)了(Liao)Java程(Cheng)序(Xu)的(De)灵(Ling)活(Huo)性(Xing)和(He)扩(Kuo)展(Zhan)性(Xing),(?)降(Jiang)低(Di)耦(Ou)合(He)性(Xing),(?)提(Ti)高(Gao)自(Zi)适(Shi)应(Ying)能(Neng)力(Li)。(?)它(Ta)允(Yun)许(Xu)程(Cheng)序(Xu)创(Chuang)建(Jian)和(He)控(Kong)制(Zhi)任(Ren)何(He)类(Lei)的(De)对(Dui)象(Xiang),(?)无(Wu)需(Xu)提(Ti)前(Qian)硬(Ying)编(Bian)码(Ma)目(Mu)标(Biao)类(Lei);(?)反(Fan)射(She)是(Shi)其(Qi)它(Ta)一(Yi)些(Xie)常(Chang)用(Yong)语(Yu)言(Yan),(?)如(Ru)C、(?)C++、(?)Fortran 或(Huo)者(Zhe)Pascal等(Deng)都(Du)不(Bu)具(Ju)备(Bei)的(De)

4)(?) Java反(Fan)射(She)技(Ji)术(Shu)应(Ying)用(Yong)领(Ling)域(Yu)很(Hen)广(Guang),(?)如(Ru)软(Ruan)件(Jian)测(Ce)试(Shi)等(Deng);(?)许(Xu)多(Duo)流(Liu)行(Xing)的(De)开(Kai)源(Yuan)框(Kuang)架(Jia)例(Li)如(Ru)Struts、(?)Hibernate、(?)Spring在(Zai)实(Shi)现(Xian)过(Guo)程(Cheng)中(Zhong)都(Du)采(Cai)用(Yong)了(Liao)该(Gai)技(Ji)术(Shu)

5)(?)反(Fan)射(She)的(De)缺(Que)点(Dian)

性(Xing)能(Neng)问(Wen)题(Ti):(?)使(Shi)用(Yong)反(Fan)射(She)基(Ji)本(Ben)上(Shang)是(Shi)一(Yi)种(Zhong)解(Jie)释(Shi)操(Cao)作(Zuo),(?)用(Yong)于(Yu)字(Zi)段(Duan)和(He)方(Fang)法(Fa)接(Jie)入(Ru)时(Shi)要(Yao)远(Yuan)慢(Man)于(Yu)直(Zhi)接(Jie)代(Dai)码(Ma)。(?)因(Yin)此(Ci)Java反(Fan)射(She)机(Ji)制(Zhi)主(Zhu)要(Yao)应(Ying)用(Yong)在(Zai)对(Dui)灵(Ling)活(Huo)性(Xing)和(He)扩(Kuo)展(Zhan)性(Xing)要(Yao)求(Qiu)很(Hen)高(Gao)的(De)系(Xi)统(Tong)框(Kuang)架(Jia)上(Shang),普(Pu)通(Tong)程(Cheng)序(Xu)不(Bu)建(Jian)议(Yi)使(Shi)用(Yong)。(?)

使(Shi)用(Yong)反(Fan)射(She)会(Hui)模(Mo)糊(Hu)程(Cheng)序(Xu)内(Nei)部(Bu)逻(Luo)辑(Ji):(?)程(Cheng)序(Xu)人(Ren)员(Yuan)希(Xi)望(Wang)在(Zai)源(Yuan)代(Dai)码(Ma)中(Zhong)看(Kan)到(Dao)程(Cheng)序(Xu)的(De)逻(Luo)辑(Ji),(?)反(Fan)射(She)等(Deng)绕(Rao)过(Guo)了(Liao)源(Yuan)代(Dai)码(Ma)的(De)技(Ji)术(Shu),(?)因(Yin)而(?)会(Hui)带(Dai)来(Lai)维(Wei)护(Hu)问(Wen)题(Ti)。(?)反(Fan)射(She)代(Dai)码(Ma)比(Bi)相(Xiang)应(Ying)的(De)直(Zhi)接(Jie)代(Dai)码(Ma)更(Geng)复(Fu)杂(Za)。(?)

168.面(Mian)向(Xiang)对(Dui)象(Xiang)设(She)计(Ji)原(Yuan)则(Ze)有(You)哪(Na)些(Xie)

面(Mian)向(Xiang)对(Dui)象(Xiang)设(She)计(Ji)原(Yuan)则(Ze)是(Shi)面(Mian)向(Xiang)对(Dui)象(Xiang)设(She)计(Ji)的(De)基(Ji)石(Shi),(?)面(Mian)向(Xiang)对(Dui)象(Xiang)设(She)计(Ji)质(Zhi)量(Liang)的(De)依(Yi)据(Ju)和(He)保(Bao)障(Zhang),(?)设(She)计(Ji)模(Mo)式(Shi)是(Shi)面(Mian)向(Xiang)对(Dui)象(Xiang)设(She)计(Ji)原(Yuan)则(Ze)的(De)经(Jing)典(Dian)应(Ying)用(Yong)

1)(?)单(Dan)一(Yi)职(Zhi)责(Ze)原(Yuan)则(Ze)SRP

2)(?)开(Kai)闭(Bi)原(Yuan)则(Ze)OCP

3)(?)里(Li)氏(Shi)替(Ti)代(Dai)原(Yuan)则(Ze)LSP

4)(?)依(Yi)赖(Lai)注(Zhu)入(Ru)原(Yuan)则(Ze)DIP

5)(?)接(Jie)口(Kou)分(Fen)离(Li)原(Yuan)则(Ze)ISP

6)(?)迪(Di)米(Mi)特(Te)原(Yuan)则(Ze)LOD

7)(?)组(Zu)合(He)/聚(Ju)合(He)复(Fu)用(Yong)原(Yuan)则(Ze)CARP

8)(?)开(Kai)闭(Bi)原(Yuan)则(Ze)具(Ju)有(You)理(Li)想(Xiang)主(Zhu)义(Yi)的(De)色(Se)彩(Cai),(?)它(Ta)是(Shi)面(Mian)向(Xiang)对(Dui)象(Xiang)设(She)计(Ji)的(De)终(Zhong)极(Ji)目(Mu)标(Biao)。(?)其(Qi)他(Ta)设(She)计(Ji)原(Yuan)则(Ze)都(Du)可(Ke)以(Yi)看(Kan)作(Zuo)是(Shi)开(Kai)闭(Bi)原(Yuan)则(Ze)的(De)实(Shi)现(Xian)手(Shou)段(Duan)或(Huo)方(Fang)法(Fa)

String相(Xiang)关(Guan):(?)

169.下(Xia)面(Mian)程(Cheng)序(Xu)的(De)运(Yun)行(Xing)结(Jie)果(Guo)是(Shi)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?)
String str1="hello";

String str2=new String("hello");

System.out.println(str1==str2);
A. true
B. false
C. hello
D. he
答(Da)案(An):(?)B
分(Fen)析(Xi):(?)str1没(Mei)有(You)使(Shi)用(Yong)new关(Guan)键(Jian)字(Zi),(?)在(Zai)堆(Dui)中(Zhong)没(Mei)有(You)开(Kai)辟(Bi)空(Kong)间(Jian),(?)其(Qi)值(Zhi)”(?)hello”(?)在(Zai)常(Chang)量(Liang)池(Chi)中(Zhong),(?)str2使(Shi)用(Yong)new关(Guan)键(Jian)字(Zi)创(Chuang)建(Jian)了(Liao)一(Yi)个(Ge)对(Dui)象(Xiang),(?)在(Zai)堆(Dui)中(Zhong)开(Kai)辟(Bi)了(Liao)空(Kong)间(Jian),(?)”(?)==”(?)比(Bi)较(Jiao)的(De)是(Shi)对(Dui)象(Xiang)的(De)引(Yin)用(Yong),(?)即(Ji)内(Nei)存(Cun)地(Di)址(Zhi),(?)所(Suo)以(Yi)str1与(Yu)str2两(Liang)个(Ge)对(Dui)象(Xiang)的(De)内(Nei)存(Cun)地(Di)址(Zhi)是(Shi)不(Bu)相(Xiang)同(Tong)的(De)
170.Java语(Yu)言(Yan)中(Zhong),(?)String类(Lei)中(Zhong)的(De)indexOf()方(Fang)法(Fa)返(Fan)回(Hui)值(Zhi)的(De)类(Lei)型(Xing)是(Shi)((?))(?)
A. int16
B. int32
C. int
D. long
答(Da)案(An):(?)C
171.给(Gei)定(Ding)以(Yi)下(Xia)代(Dai)码(Ma),(?)程(Cheng)序(Xu)的(De)运(Yun)行(Xing)结(Jie)果(Guo)是(Shi) ((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?)
public class Example {
String str=new String("good");
char [] ch={'a','b','c'};

public static void main(String[] args) {
Example ex=new Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str+"and");
System.out.print(ex.ch);
}

public void change(String  str,char ch[]){
str="test ok";
ch[0]='g';
}
}
A. goodandabc
B. goodandgbc
C. test okandabc
D. test okandgbc
答(Da)案(An):(?)B
分(Fen)析(Xi):(?)在(Zai)方(Fang)法(Fa)调(Diao)用(Yong)时(Shi),(?)在(Zai)change方(Fang)法(Fa)中(Zhong)对(Dui)str的(De)值(Zhi)进(Jin)行(Xing)修(Xiu)改(Gai),(?)是(Shi)将(Jiang)str指(Zhi)向(Xiang)了(Liao)常(Chang)量(Liang)江(Jiang)池(Chi)中(Zhong)的(De)”(?)test ok”(?),(?)而(?)主(Zhu)方(Fang)法(Fa)中(Zhong)的(De)ex.str仍(Reng)然(Ran)指(Zhi)向(Xiang)的(De)是(Shi)常(Chang)量(Liang)池(Chi)中(Zhong)的(De)”(?)good”(?)。(?)字(Zi)符(Fu)型(Xing)数(Shu)组(Zu)在(Zai)方(Fang)法(Fa)调(Diao)用(Yong)时(Shi),(?)将(Jiang)主(Zhu)方(Fang)法(Fa)中(Zhong)ex.ch的(De)引(Yin)用(Yong)传(Chuan)递(Di)给(Gei)change方(Fang)法(Fa)中(Zhong)的(De)ch,(?)指(Zhi)向(Xiang)是(Shi)堆(Dui)中(Zhong)的(De)同(Tong)一(Yi)堆(Dui)空(Kong)间(Jian),(?)所(Suo)以(Yi)修(Xiu)改(Gai)ch[0]的(De)时(Shi)候(Hou),ex.ch可(Ke)以(Yi)看(Kan)到(Dao)相(Xiang)同(Tong)的(De)修(Xiu)改(Gai)后(Hou)的(De)结(Jie)果(Guo)。(?)
172.执(Zhi)行(Xing)下(Xia)列(Lie)代(Dai)码(Ma)后(Hou),(?)哪(Na)个(Ge)结(Jie)论(Lun)是(Shi)正(Zheng)确(Que)的(De)((?))(?)((?)选(Xuan)择(Ze)两(Liang)项(Xiang))(?)

String[] s=new String[10];

A. s[10]为(Wei)”(?)”(?)
B. s[9]为(Wei)null
C. s[0]为(Wei)未(Wei)定(Ding)义(Yi)
D. s.length为(Wei)10
答(Da)案(An):(?)BD
分(Fen)析(Xi):(?) 引(Yin)用(Yong)数(Shu)据(Ju)类(Lei)型(Xing)的(De)默(Mo)认(Ren)值(Zhi)均(Jun)为(Wei)null
s.length数(Shu)组(Zu)的(De)长(Chang)度(Du)
173.实(Shi)现(Xian)String类(Lei)的(De)replaceAll方(Fang)法(Fa)

思(Si)路(Lu)说(Shuo)明(Ming):(?)replaceAll方(Fang)法(Fa)的(De)本(Ben)质(Zhi)是(Shi)使(Shi)用(Yong)正(Zheng)则(Ze)表(Biao)达(Da)式(Shi)进(Jin)行(Xing)匹(Pi)配(Pei),(?)最(Zui)终(Zhong)调(Diao)用(Yong)的(De)其(Qi)实(Shi)是(Shi)Matcher对(Dui)象(Xiang)的(De)replaceAll方(Fang)法(Fa)。(?)

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TestStringReplaceAll {
public static void main(String[] args) {
String str = "a1s2d3f4h5j6k7";
// 将(Jiang)字(Zi)符(Fu)串(Chuan)中(Zhong)的(De)数(Shu)字(Zi)全(Quan)部(Bu)替(Ti)换(Huan)为(Wei)0
System.out.println(replaceAll(str, "\\d", "0"));
}

/**
 * @param str:源(Yuan)字(Zi)符(Fu)串(Chuan)
 * @param regex:正(Zheng)则(Ze)表(Biao)达(Da)式(Shi)
 * @param newStr:替(Ti)换(Huan)后(Hou)的(De)子(Zi)字(Zi)符(Fu)串(Chuan)
 * @return 返(Fan)回(Hui)替(Ti)换(Huan)成(Cheng)功(Gong)后(Hou)的(De)字(Zi)符(Fu)串(Chuan)
 */
public static String replaceAll(String str, String regex, String newStr) {
Pattern pattern = Pattern.compile(regex);
Matcher mathcer = pattern.matcher(str);
String reslut = mathcer.replaceAll(newStr);
return reslut;
}
}
174.在(Zai)“(?)=”(?)后(Hou)填(Tian)写(Xie)适(Shi)当(Dang)的(De)内(Nei)容(Rong):(?)

String []a=new String[10];

则(Ze):(?)a[0]~a[9]=null;

a.length=10;

如(Ru)果(Guo)是(Shi)int[]a=new int[10];

则(Ze):(?)a[0]~a[9]= (0)

a.length= (10)

175.是(Shi)否(Fou)可(Ke)以(Yi)继(Ji)承(Cheng)String类(Lei)?

答(Da):不(Bu)可(Ke)以(Yi),(?)因(Yin)为(Wei)String类(Lei)有(You)final修(Xiu)饰(Shi)符(Fu),(?)而(?)final修(Xiu)饰(Shi)的(De)类(Lei)是(Shi)不(Bu)能(Neng)被(Bei)继(Ji)承(Cheng)的(De),(?)实(Shi)现(Xian)细(Xi)节(Jie)不(Bu)允(Yun)许(Xu)改(Gai)变(Bian)。(?)

public final class String implements java.io.Serializable,

Comparable< String>, CharSequence

176.给(Gei)定(Ding)两(Liang)个(Ge)字(Zi)符(Fu)串(Chuan)s和(He)t,(?) 写(Xie)一(Yi)个(Ge)函(Han)数(Shu)来(Lai)决(Jue)定(Ding)是(Shi)否(Fou)t是(Shi)s的(De)重(Zhong)组(Zu)词(Ci)。(?)你(Ni)可(Ke)以(Yi)假(Jia)设(She)字(Zi)符(Fu)串(Chuan)只(Zhi)包(Bao)含(Han)小(Xiao)写(Xie)字(Zi)母(Mu)。(?)
public class Solution {
    public boolean isAnagram(String s, String t) {
        if(s.length()!=t.length())
            return false;
        int bit[] = new int[26];
        for(int i=0;i<s.length();i++){
            bit[s.charAt(i)-'a']++;
        }

        for(int i=0;i<s.length();i++){
            if(--bit[t.charAt(i)-'a']<0)
                return false;
        }
        return true;
    }

}
177.String s=new String(“(?)abc”(?));创(Chuang)建(Jian)了(Liao)几(Ji)个(Ge)String对(Dui)象(Xiang)。(?)

两(Liang)个(Ge)或(Huo)一(Yi)个(Ge),(?)”(?)abc”(?)对(Dui)应(Ying)一(Yi)个(Ge)对(Dui)象(Xiang),(?)这(Zhe)个(Ge)对(Dui)象(Xiang)放(Fang)在(Zai)字(Zi)符(Fu)串(Chuan)常(Chang)量(Liang)缓(Huan)冲(Chong)区(Qu),(?)常(Chang)量(Liang)”(?)abc”(?)不(Bu)管(Guan)出(Chu)现(Xian)多(Duo)少(Shao)遍(Bian),(?)都(Du)是(Shi)缓(Huan)冲(Chong)区(Qu)中(Zhong)的(De)那(Na)一(Yi)个(Ge)。(?)New String每(Mei)写(Xie)一(Yi)遍(Bian),(?)就(Jiu)创(Chuang)建(Jian)一(Yi)个(Ge)新(Xin)的(De)对(Dui)象(Xiang),(?)它(Ta)一(Yi)句(Ju)那(Na)个(Ge)常(Chang)量(Liang)”(?)abc”(?)对(Dui)象(Xiang)的(De)内(Nei)容(Rong)来(Lai)创(Chuang)建(Jian)出(Chu)一(Yi)个(Ge)新(Xin)String对(Dui)象(Xiang)。(?)如(Ru)果(Guo)以(Yi)前(Qian)就(Jiu)用(Yong)过(Guo)’(?)abc’(?),(?)这(Zhe)句(Ju)代(Dai)表(Biao)就(Jiu)不(Bu)会(Hui)创(Chuang)建(Jian)”(?)abc”(?)自(Zi)己(Ji)了(Liao),(?)直(Zhi)接(Jie)从(Cong)缓(Huan)冲(Chong)区(Qu)拿(Na)。(?)

178.输(Shu)出(Chu)结(Jie)果(Guo)?(?)
String str1=“(?)hello”(?);(?)
Sring str2=“(?)he”(?)+new String(“(?)llo”(?));(?)
Sysem.out.println(str1==str2));
Sysem.out.println(str.equal(str2));

false

true

179.下(Xia)列(Lie)程(Cheng)序(Xu)的(De)输(Shu)出(Chu)结(Jie)果(Guo)是(Shi)什(Shi)么(Me)?(?)
import java.util.*;
public class Test 6{
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
Integer k=new Integer(i);
System.out.println(k+" Hello world");
}
}
}

0 Hello world

1 Hello world

2 Hello world

3 Hello world

4 Hello world

5 Hello world

6 Hello world

7 Hello world

8 Hello world

9 Hello world

180.关(Guan)于(Yu)java.lang.String类(Lei),(?)以(Yi)下(Xia)描(Miao)述(Shu)正(Zheng)确(Que)的(De)一(Yi)项(Xiang)是(Shi)((?))(?)
A. String类(Lei)是(Shi)final类(Lei)故(Gu)不(Bu)可(Ke)继(Ji)承(Cheng)
B. String类(Lei)final类(Lei)故(Gu)可(Ke)以(Yi)继(Ji)承(Cheng)
C. String类(Lei)不(Bu)是(Shi)final类(Lei)故(Gu)不(Bu)可(Ke)继(Ji)承(Cheng)
D. String;类(Lei)不(Bu)是(Shi)final类(Lei)故(Gu)可(Ke)以(Yi)继(Ji)承(Cheng)
答(Da)案(An):(?)A
181.下(Xia)面(Mian)哪(Na)个(Ge)是(Shi)正(Zheng)确(Que)的(De)((?))(?)
A. String temp[ ] = new String{“(?)a”(?),”(?)b”(?),”(?)c”(?)};
B. String temp[ ] = {“(?)a”(?),”(?)b”(?),”(?)c”(?)};
C. String temp= {“(?)a”(?),”(?)b”(?),”(?)c”(?)};
D. String[ ] temp = {“(?)a”(?),”(?)b”(?),”(?)c”(?)};
答(Da)案(An):(?)BD
182.已(Yi)知(Zhi)如(Ru)下(Xia)代(Dai)码(Ma):(?)执(Zhi)行(Xing)结(Jie)果(Guo)是(Shi)什(Shi)么(Me)((?))(?)
package com.bjsxt;
public class Test {
public static void main(String[] args) {
String s1 = new String("Hello");
String s2 = new String("Hello");
System.out.print(s1 == s2);
String s3 = "Hello";
String s4 = "Hello";
System.out.print(s3 == s4);
s1 = s3;
s2 = s4;
System.out.print(s1 == s2);
}
}
A. false true true
B. true false true
C. true true false
D. true true false
答(Da)案(An):(?)A
183.字(Zi)符(Fu)串(Chuan)如(Ru)何(He)转(Zhuan)换(Huan)为(Wei)int类(Lei)型(Xing)
public class Test {
public static void main(String[] args) {
 //方(Fang)式(Shi)一(Yi)
 int num=Integer.parseInt("123");
 //方(Fang)式(Shi)二(?)
 int num2=Integer.valueOf("123");
 System.out.println(num+"  "+num2);
}
}
184.写(Xie)一(Yi)个(Ge)方(Fang)法(Fa),(?)实(Shi)现(Xian)字(Zi)符(Fu)串(Chuan)的(De)反(Fan)转(Zhuan),(?)如(Ru):(?)输(Shu)入(Ru)abc,(?)输(Shu)出(Chu)cba
public class Test {
public static void main(String[] args) {
String result=reverse("abc");
System.out.println(result);
}
public static String reverse(String str){
StringBuilder result=new StringBuilder("");
char[] chArra=str.toCharArray();
for(int i=chArra.length-1;i>=0;i--){
char ch=chArra[i];
result.append(ch);
}
return result.toString();
}
}
185.编(Bian)写(Xie)java,(?)将(Jiang)“(?)I follow Bill Gate.Tom Gate.John Gate”(?)中(Zhong)的(De)“(?)Gate”(?)全(Quan)部(Bu)替(Ti)换(Huan)为(Wei)“(?)Gates”(?)
public classDemo1 {
publicstaticvoid main(String[] args) {
String s="I follow Bill Gate.Tom Gate.John Gate";
System.out.println(s);
s=s.replaceAll("Gate","Gates");
System.out.println(s);
}
}
186.String 是(Shi)最(Zui)基(Ji)本(Ben)的(De)数(Shu)据(Ju)类(Lei)型(Xing)吗(Ma)?

答(Da):(?) 不(Bu)是(Shi) 。(?)Java中(Zhong)的(De)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)只(Zhi)有(You)8个(Ge):(?)byte、(?)short、(?)int、(?)long、(?)float、(?)double、(?)char、(?)boolean;(?)除(Chu)了(Liao)基(Ji)本(Ben)类(Lei)型(Xing)((?)primitive type)(?)和(He)枚(Mei)举(Ju)类(Lei)型(Xing)((?)enumeration type)(?),(?)剩(Sheng)下(Xia)的(De)都(Du)是(Shi)引(Yin)用(Yong)类(Lei)型(Xing)((?)reference type)(?)。(?)

187.String 和(He)StringBuilder、(?)StringBuffer 的(De)区(Qu)别(Bie)?

答(Da):(?) Java 平(Ping)台(Tai)提(Ti)供(Gong)了(Liao)两(Liang)种(Zhong)类(Lei)型(Xing)的(De)字(Zi)符(Fu)串(Chuan):(?)String和(He)StringBuffer / StringBuilder

相(Xiang)同(Tong)点(Dian):(?)

它(Ta)们(Men)都(Du)可(Ke)以(Yi)储(Chu)存(Cun)和(He)操(Cao)作(Zuo)字(Zi)符(Fu)串(Chuan),(?)同(Tong)时(Shi)三(San)者(Zhe)都(Du)使(Shi)用(Yong)final修(Xiu)饰(Shi),(?)都(Du)属(Shu)于(Yu)终(Zhong)结(Jie)类(Lei)不(Bu)能(Neng)派(Pai)生(Sheng)子(Zi)类(Lei),(?)操(Cao)作(Zuo)的(De)相(Xiang)关(Guan)方(Fang)法(Fa)也(Ye)类(Lei)似(Si)例(Li)如(Ru)获(Huo)取(Qu)字(Zi)符(Fu)串(Chuan)长(Chang)度(Du)等(Deng);(?)

不(Bu)同(Tong)点(Dian):(?)

其(Qi)中(Zhong)String是(Shi)只(Zhi)读(Du)字(Zi)符(Fu)串(Chuan),(?)也(Ye)就(Jiu)意(Yi)味(Wei)着(Zhuo)String引(Yin)用(Yong)的(De)字(Zi)符(Fu)串(Chuan)内(Nei)容(Rong)是(Shi)不(Bu)能(Neng)被(Bei)改(Gai)变(Bian)的(De),(?)而(?)StringBuffer和(He)StringBuilder类(Lei)表(Biao)示(Shi)的(De)字(Zi)符(Fu)串(Chuan)对(Dui)象(Xiang)可(Ke)以(Yi)直(Zhi)接(Jie)进(Jin)行(Xing)修(Xiu)改(Gai),(?)在(Zai)修(Xiu)改(Gai)的(De)同(Tong)时(Shi)地(Di)址(Zhi)值(Zhi)不(Bu)会(Hui)发(Fa)生(Sheng)改(Gai)变(Bian)。(?)StringBuilder是(Shi)JDK 1.5中(Zhong)引(Yin)入(Ru)的(De),(?)它(Ta)和(He)StringBuffer的(De)方(Fang)法(Fa)完(Wan)全(Quan)相(Xiang)同(Tong),(?)区(Qu)别(Bie)在(Zai)于(Yu)它(Ta)是(Shi)在(Zai)单(Dan)线(Xian)程(Cheng)环(Huan)境(Jing)下(Xia)使(Shi)用(Yong)的(De),(?)因(Yin)为(Wei)它(Ta)的(De)所(Suo)有(You)方(Fang)面(Mian)都(Du)没(Mei)有(You)被(Bei)synchronized修(Xiu)饰(Shi),(?)因(Yin)此(Ci)它(Ta)的(De)效(Xiao)率(Lu)也(Ye)比(Bi)StringBuffer略(Lue)高(Gao)。(?)在(Zai)此(Ci)重(Zhong)点(Dian)说(Shuo)明(Ming)一(Yi)下(Xia),(?)String、(?)StringBuffer、(?)StringBuilder三(San)者(Zhe)类(Lei)型(Xing)不(Bu)一(Yi)样(Yang),(?)无(Wu)法(Fa)使(Shi)用(Yong)equals()方(Fang)法(Fa)比(Bi)较(Jiao)其(Qi)字(Zi)符(Fu)串(Chuan)内(Nei)容(Rong)是(Shi)否(Fou)一(Yi)样(Yang)!(?)

补(Bu)充(Chong)1:(?)有(You)一(Yi)个(Ge)面(Mian)试(Shi)题(Ti)问(Wen):(?)有(You)没(Mei)有(You)哪(Na)种(Zhong)情(Qing)况(Kuang)用(Yong)+做(Zuo)字(Zi)符(Fu)串(Chuan)连(Lian)接(Jie)比(Bi)调(Diao)用(Yong)StringBuffer / StringBuilder对(Dui)象(Xiang)的(De)append方(Fang)法(Fa)性(Xing)能(Neng)更(Geng)好(Hao)?(?)如(Ru)果(Guo)连(Lian)接(Jie)后(Hou)得(De)到(Dao)的(De)字(Zi)符(Fu)串(Chuan)在(Zai)静(Jing)态(Tai)存(Cun)储(Chu)区(Qu)中(Zhong)是(Shi)早(Zao)已(Yi)存(Cun)在(Zai)的(De),(?)那(Na)么(Me)用(Yong)+做(Zuo)字(Zi)符(Fu)串(Chuan)连(Lian)接(Jie)是(Shi)优(You)于(Yu)StringBuffer / StringBuilder的(De)append方(Fang)法(Fa)的(De)。(?)

补(Bu)充(Chong)2:(?)下(Xia)面(Mian)也(Ye)是(Shi)一(Yi)个(Ge)面(Mian)试(Shi)题(Ti),(?)问(Wen)程(Cheng)序(Xu)的(De)输(Shu)出(Chu),(?)看(Kan)看(Kan)自(Zi)己(Ji)能(Neng)不(Bu)能(Neng)说(Shuo)出(Chu)正(Zheng)确(Que)答(Da)案(An)。(?)

package com.bjsxt;
public class smallT {
public static void main(String[] args) {
        String a = "Programming";
        String b = new String("Programming");
        String c = "Program" + "ming";
              System.out.println(a == b);
              System.out.println(a == c);
               System.out.println(a.equals(b));
               System.out.println(a.equals(c));
               System.out.println(a.intern() == b.intern());
}
}

解(Jie)析(Xi):(?)

String类(Lei)存(Cun)在(Zai)intern()方(Fang)法(Fa),(?)含(Han)义(Yi)如(Ru)下(Xia):(?)返(Fan)回(Hui)字(Zi)符(Fu)串(Chuan)对(Dui)象(Xiang)的(De)规(Gui)范(Fan)化(Hua)表(Biao)示(Shi)形(Xing)式(Shi)。(?)它(Ta)遵(Zun)循(Xun)以(Yi)下(Xia)规(Gui)则(Ze):(?)对(Dui)于(Yu)任(Ren)意(Yi)两(Liang)个(Ge)字(Zi)符(Fu)串(Chuan) s 和(He) t,(?)当(Dang)且(Qie)仅(Jin)当(Dang) s.equals(t) 为(Wei) true 时(Shi),(?)s.intern()==t.intern() 才(Cai)为(Wei) true。(?)

字(Zi)符(Fu)串(Chuan)比(Bi)较(Jiao)分(Fen)为(Wei)两(Liang)种(Zhong)形(Xing)式(Shi),(?)一(Yi)种(Zhong)使(Shi)用(Yong)比(Bi)较(Jiao)运(Yun)算(Suan)符(Fu)”(?)==”(?)比(Bi)较(Jiao),(?)他(Ta)们(Men)比(Bi)较(Jiao)的(De)是(Shi)各(Ge)自(Zi)的(De)字(Zi)符(Fu)串(Chuan)在(Zai)内(Nei)存(Cun)当(Dang)中(Zhong)的(De)地(Di)址(Zhi)值(Zhi)是(Shi)否(Fou)相(Xiang)同(Tong);(?)一(Yi)种(Zhong)是(Shi)使(Shi)用(Yong)equals()方(Fang)法(Fa)进(Jin)行(Xing)比(Bi)较(Jiao),(?)比(Bi)较(Jiao)的(De)是(Shi)两(Liang)个(Ge)字(Zi)符(Fu)串(Chuan)的(De)内(Nei)容(Rong)是(Shi)否(Fou)相(Xiang)同(Tong)!(?)

结(Jie)果(Guo)如(Ru)下(Xia):(?)

a == b-->false

a == c-->true

a.equals(b)-->true

a.equals(c)-->true

a.intern() == b.intern()-->true

188.String类(Lei)为(Wei)什(Shi)么(Me)是(Shi)final的(De)

答(Da):(?)1)(?) 为(Wei)了(Liao)效(Xiao)率(Lu)。(?)若(Ruo)允(Yun)许(Xu)被(Bei)继(Ji)承(Cheng),(?)则(Ze)其(Qi)高(Gao)度(Du)的(De)被(Bei)使(Shi)用(Yong)率(Lu)可(Ke)能(Neng)会(Hui)降(Jiang)低(Di)程(Cheng)序(Xu)的(De)性(Xing)能(Neng)。(?)

2)(?)为(Wei)了(Liao)安(An)全(Quan)。(?)JDK中(Zhong)提(Ti)供(Gong)的(De)好(Hao)多(Duo)核(He)心(Xin)类(Lei)比(Bi)如(Ru)String,(?)这(Zhe)类(Lei)的(De)类(Lei)的(De)内(Nei)部(Bu)好(Hao)多(Duo)方(Fang)法(Fa)的(De)实(Shi)现(Xian)都(Du)不(Bu)是(Shi)java编(Bian)程(Cheng)语(Yu)言(Yan)本(Ben)身(Shen)编(Bian)写(Xie)的(De),(?)好(Hao)多(Duo)方(Fang)法(Fa)都(Du)是(Shi)调(Diao)用(Yong)的(De)操(Cao)作(Zuo)系(Xi)统(Tong)本(Ben)地(Di)的(De)API,(?)这(Zhe)就(Jiu)是(Shi)著(Zhu)名(Ming)的(De)“(?)本(Ben)地(Di)方(Fang)法(Fa)调(Diao)用(Yong)”(?),(?)也(Ye)只(Zhi)有(You)这(Zhe)样(Yang)才(Cai)能(Neng)做(Zuo)事(Shi),(?)这(Zhe)种(Zhong)类(Lei)是(Shi)非(Fei)常(Chang)底(Di)层(Ceng)的(De),(?)和(He)操(Cao)作(Zuo)系(Xi)统(Tong)交(Jiao)流(Liu)频(Pin)繁(Fan)的(De),(?)那(Na)么(Me)如(Ru)果(Guo)这(Zhe)种(Zhong)类(Lei)可(Ke)以(Yi)被(Bei)继(Ji)承(Cheng)的(De)话(Hua),(?)如(Ru)果(Guo)我(Wo)们(Men)再(Zai)把(Ba)它(Ta)的(De)方(Fang)法(Fa)重(Zhong)写(Xie)了(Liao),(?)往(Wang)操(Cao)作(Zuo)系(Xi)统(Tong)内(Nei)部(Bu)写(Xie)入(Ru)一(Yi)段(Duan)具(Ju)有(You)恶(E)意(Yi)攻(Gong)击(Ji)性(Xing)质(Zhi)的(De)代(Dai)码(Ma)什(Shi)么(Me)的(De),(?)这(Zhe)不(Bu)就(Jiu)成(Cheng)了(Liao)核(He)心(Xin)病(Bing)毒(Du)了(Liao)么(Me)?(?)不(Bu)希(Xi)望(Wang)别(Bie)人(Ren)改(Gai),(?)这(Zhe)个(Ge)类(Lei)就(Jiu)像(Xiang)一(Yi)个(Ge)工(Gong)具(Ju)一(Yi)样(Yang),(?)类(Lei)的(De)提(Ti)供(Gong)者(Zhe)给(Gei)我(Wo)们(Men)提(Ti)供(Gong)了(Liao),(?) 就(Jiu)希(Xi)望(Wang)我(Wo)们(Men)直(Zhi)接(Jie)用(Yong)就(Jiu)完(Wan)了(Liao),(?)不(Bu)想(Xiang)让(Rang)我(Wo)们(Men)随(Sui)便(Bian)能(Neng)改(Gai),(?)其(Qi)实(Shi)说(Shuo)白(Bai)了(Liao)还(Huan)是(Shi)安(An)全(Quan)性(Xing),(?)如(Ru)果(Guo)随(Sui)便(Bian)能(Neng)改(Gai)了(Liao),(?)那(Na)么(Me)java编(Bian)写(Xie)的(De)程(Cheng)序(Xu)肯(Ken)定(Ding)就(Jiu)很(Hen)不(Bu)稳(Wen)定(Ding),(?)你(Ni)可(Ke)以(Yi)保(Bao)证(Zheng)自(Zi)己(Ji)不(Bu)乱(Luan)改(Gai),(?) 但(Dan)是(Shi)将(Jiang)来(Lai)一(Yi)个(Ge)项(Xiang)目(Mu)好(Hao)多(Duo)人(Ren)来(Lai)做(Zuo),(?)管(Guan)不(Bu)了(Liao)别(Bie)人(Ren),(?)再(Zai)说(Shuo)有(You)时(Shi)候(Hou)万(Wan)一(Yi)疏(Shu)忽(Hu)了(Liao)呢(Ne)?(?)他(Ta)也(Ye)不(Bu)是(Shi)估(Gu)计(Ji)的(De),(?) 所(Suo)以(Yi)这(Zhe)个(Ge)安(An)全(Quan)性(Xing)是(Shi)很(Hen)重(Zhong)要(Yao)的(De),(?)java和(He)C++相(Xiang)比(Bi),(?)优(You)点(Dian)之(Zhi)一(Yi)就(Jiu)包(Bao)括(Kuo)这(Zhe)一(Yi)点(Dian)。(?)

189.String类(Lei)型(Xing)是(Shi)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)吗(Ma)?(?)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)有(You)哪(Na)些(Xie)

1)(?) 基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)包(Bao)括(Kuo)byte、(?)short/char、(?)int、(?)long、(?)float、(?)double、(?)boolean

2 ) java.lang.String类(Lei)是(Shi)引(Yin)用(Yong)数(Shu)据(Ju)类(Lei)型(Xing),(?)并(Bing)且(Qie)是(Shi)final类(Lei)型(Xing)的(De),(?)因(Yin)此(Ci)不(Bu)可(Ke)以(Yi)继(Ji)承(Cheng)这(Zhe)个(Ge)类(Lei)、(?)不(Bu)能(Neng)修(Xiu)改(Gai)这(Zhe)个(Ge)类(Lei)。(?)为(Wei)了(Liao)提(Ti)高(Gao)效(Xiao)率(Lu)节(Jie)省(Sheng)空(Kong)间(Jian),(?)我(Wo)们(Men)应(Ying)该(Gai)用(Yong)StringBuffer类(Lei)

190.Strings="Hello";s=s+"world!";执(Zhi)行(Xing)后(Hou),(?)是(Shi)否(Fou)是(Shi)对(Dui)前(Qian)面(Mian)s指(Zhi)向(Xiang)空(Kong)间(Jian)内(Nei)容(Rong)的(De)修(Xiu)改(Gai)?(?)

答(Da):(?)不(Bu)是(Shi)对(Dui)前(Qian)面(Mian)s指(Zhi)向(Xiang)空(Kong)间(Jian)内(Nei)容(Rong)的(De)直(Zhi)接(Jie)修(Xiu)改(Gai)。(?)

因(Yin)为(Wei)String被(Bei)设(She)计(Ji)成(Cheng)不(Bu)可(Ke)变(Bian)(immutable)类(Lei),(?)所(Suo)以(Yi)它(Ta)的(De)所(Suo)有(You)对(Dui)象(Xiang)都(Du)是(Shi)不(Bu)可(Ke)变(Bian)对(Dui)象(Xiang)。(?)在(Zai)这(Zhe)段(Duan)代(Dai)码(Ma)中(Zhong),(?)s原(Yuan)先(Xian)指(Zhi)向(Xiang)一(Yi)个(Ge)String对(Dui)象(Xiang),(?)内(Nei)容(Rong)是(Shi) "Hello",(?)然(Ran)后(Hou)我(Wo)们(Men)对(Dui)s进(Jin)行(Xing)了(Liao)+操(Cao)作(Zuo),(?)那(Na)么(Me)s所(Suo)指(Zhi)向(Xiang)的(De)那(Na)个(Ge)对(Dui)象(Xiang)是(Shi)否(Fou)发(Fa)生(Sheng)了(Liao)改(Gai)变(Bian)呢(Ne)?(?)答(Da)案(An)是(Shi)没(Mei)有(You)。(?)这(Zhe)时(Shi),(?)s不(Bu)指(Zhi)向(Xiang)原(Yuan)来(Lai)那(Na)个(Ge)对(Dui)象(Xiang)了(Liao),(?)而(?)指(Zhi)向(Xiang)了(Liao)另(Ling)一(Yi)个(Ge) String对(Dui)象(Xiang),(?)内(Nei)容(Rong)为(Wei)"Helloworld!",(?)原(Yuan)来(Lai)那(Na)个(Ge)对(Dui)象(Xiang)还(Huan)存(Cun)在(Zai)于(Yu)内(Nei)存(Cun)之(Zhi)中(Zhong),(?)只(Zhi)是(Shi)s这(Zhe)个(Ge)引(Yin)用(Yong)变(Bian)量(Liang)不(Bu)再(Zai)指(Zhi)向(Xiang)它(Ta)了(Liao)。(?)

通(Tong)过(Guo)上(Shang)面(Mian)的(De)说(Shuo)明(Ming),(?)我(Wo)们(Men)很(Hen)容(Rong)易(Yi)导(Dao)出(Chu)另(Ling)一(Yi)个(Ge)结(Jie)论(Lun),(?)如(Ru)果(Guo)经(Jing)常(Chang)对(Dui)字(Zi)符(Fu)串(Chuan)进(Jin)行(Xing)各(Ge)种(Zhong)各(Ge)样(Yang)的(De)修(Xiu)改(Gai),(?)或(Huo)者(Zhe)说(Shuo),(?)不(Bu)可(Ke)预(Yu)见(Jian)的(De)修(Xiu)改(Gai),(?)那(Na)么(Me)使(Shi)用(Yong)String来(Lai)代(Dai)表(Biao)字(Zi)符(Fu)串(Chuan)的(De)话(Hua)会(Hui)引(Yin)起(Qi)很(Hen)大(Da)的(De)内(Nei)存(Cun)开(Kai)销(Xiao)。(?)因(Yin)为(Wei) String对(Dui)象(Xiang)建(Jian)立(Li)之(Zhi)后(Hou)不(Bu)能(Neng)再(Zai)改(Gai)变(Bian),(?)所(Suo)以(Yi)对(Dui)于(Yu)每(Mei)一(Yi)个(Ge)不(Bu)同(Tong)的(De)字(Zi)符(Fu)串(Chuan),(?)都(Du)需(Xu)要(Yao)一(Yi)个(Ge)String对(Dui)象(Xiang)来(Lai)表(Biao)示(Shi)。(?)这(Zhe)时(Shi),(?)应(Ying)该(Gai)考(Kao)虑(Lu)使(Shi)用(Yong)StringBuffer类(Lei),(?)它(Ta)允(Yun)许(Xu)修(Xiu)改(Gai),(?)而(?)不(Bu)是(Shi)每(Mei)个(Ge)不(Bu)同(Tong)的(De)字(Zi)符(Fu)串(Chuan)都(Du)要(Yao)生(Sheng)成(Cheng)一(Yi)个(Ge)新(Xin)的(De)对(Dui)象(Xiang)。(?)并(Bing)且(Qie),(?)这(Zhe)两(Liang)种(Zhong)类(Lei)的(De)对(Dui)象(Xiang)转(Zhuan)换(Huan)十(Shi)分(Fen)容(Rong)易(Yi)。(?)

同(Tong)时(Shi),(?)我(Wo)们(Men)还(Huan)可(Ke)以(Yi)知(Zhi)道(Dao),(?)如(Ru)果(Guo)要(Yao)使(Shi)用(Yong)内(Nei)容(Rong)相(Xiang)同(Tong)的(De)字(Zi)符(Fu)串(Chuan),(?)不(Bu)必(Bi)每(Mei)次(Ci)都(Du)new一(Yi)个(Ge)String。(?)例(Li)如(Ru)我(Wo)们(Men)要(Yao)在(Zai)构(Gou)造(Zao)器(Qi)中(Zhong)对(Dui)一(Yi)个(Ge)名(Ming)叫(Jiao)s的(De)String引(Yin)用(Yong)变(Bian)量(Liang)进(Jin)行(Xing)初(Chu)始(Shi)化(Hua),(?)把(Ba)它(Ta)设(She)置(Zhi)为(Wei)初(Chu)始(Shi)值(Zhi),(?)应(Ying)当(Dang)这(Zhe)样(Yang)做(Zuo):(?)

public class Demo {
private String s;
...
public Demo {
s = "Initial Value";
}
...
}

而(?)非(Fei)

s=newString("InitialValue");

后(Hou)者(Zhe)每(Mei)次(Ci)都(Du)会(Hui)调(Diao)用(Yong)构(Gou)造(Zao)器(Qi),(?)生(Sheng)成(Cheng)新(Xin)对(Dui)象(Xiang),(?)性(Xing)能(Neng)低(Di)下(Xia)且(Qie)内(Nei)存(Cun)开(Kai)销(Xiao)大(Da),(?)并(Bing)且(Qie)没(Mei)有(You)意(Yi)义(Yi),(?)因(Yin)为(Wei)String对(Dui)象(Xiang)不(Bu)可(Ke)改(Gai)变(Bian),(?)所(Suo)以(Yi)对(Dui)于(Yu)内(Nei)容(Rong)相(Xiang)同(Tong)的(De)字(Zi)符(Fu)串(Chuan),(?)只(Zhi)要(Yao)一(Yi)个(Ge)String对(Dui)象(Xiang)来(Lai)表(Biao)示(Shi)就(Jiu)可(Ke)以(Yi)了(Liao)。(?)也(Ye)就(Jiu)说(Shuo),(?)多(Duo)次(Ci)调(Diao)用(Yong)上(Shang)面(Mian)的(De)构(Gou)造(Zao)器(Qi)创(Chuang)建(Jian)多(Duo)个(Ge)对(Dui)象(Xiang),(?)他(Ta)们(Men)的(De)String类(Lei)型(Xing)属(Shu)性(Xing)s都(Du)指(Zhi)向(Xiang)同(Tong)一(Yi)个(Ge)对(Dui)象(Xiang)。(?)

上(Shang)面(Mian)的(De)结(Jie)论(Lun)还(Huan)基(Ji)于(Yu)这(Zhe)样(Yang)一(Yi)个(Ge)事(Shi)实(Shi):(?)对(Dui)于(Yu)字(Zi)符(Fu)串(Chuan)常(Chang)量(Liang),(?)如(Ru)果(Guo)内(Nei)容(Rong)相(Xiang)同(Tong),(?)Java认(Ren)为(Wei)它(Ta)们(Men)代(Dai)表(Biao)同(Tong)一(Yi)个(Ge)String对(Dui)象(Xiang)。(?)而(?)用(Yong)关(Guan)键(Jian)字(Zi)new调(Diao)用(Yong)构(Gou)造(Zao)器(Qi),(?)总(Zong)是(Shi)会(Hui)创(Chuang)建(Jian)一(Yi)个(Ge)新(Xin)的(De)对(Dui)象(Xiang),(?)无(Wu)论(Lun)内(Nei)容(Rong)是(Shi)否(Fou)相(Xiang)同(Tong)。(?)

至(Zhi)于(Yu)为(Wei)什(Shi)么(Me)要(Yao)把(Ba)String类(Lei)设(She)计(Ji)成(Cheng)不(Bu)可(Ke)变(Bian)类(Lei),(?)是(Shi)它(Ta)的(De)用(Yong)途(Tu)决(Jue)定(Ding)的(De)。(?)其(Qi)实(Shi)不(Bu)只(Zhi)String,(?)很(Hen)多(Duo)Java标(Biao)准(Zhun)类(Lei)库(Ku)中(Zhong)的(De)类(Lei)都(Du)是(Shi)不(Bu)可(Ke)变(Bian)的(De)。(?)在(Zai)开(Kai)发(Fa)一(Yi)个(Ge)系(Xi)统(Tong)的(De)时(Shi)候(Hou),(?)我(Wo)们(Men)有(You)时(Shi)候(Hou)也(Ye)需(Xu)要(Yao)设(She)计(Ji)不(Bu)可(Ke)变(Bian)类(Lei),(?)来(Lai)传(Chuan)递(Di)一(Yi)组(Zu)相(Xiang)关(Guan)的(De)值(Zhi),(?)这(Zhe)也(Ye)是(Shi)面(Mian)向(Xiang)对(Dui)象(Xiang)思(Si)想(Xiang)的(De)体(Ti)现(Xian)。(?)不(Bu)可(Ke)变(Bian)类(Lei)有(You)一(Yi)些(Xie)优(You)点(Dian),(?)比(Bi)如(Ru)因(Yin)为(Wei)它(Ta)的(De)对(Dui)象(Xiang)是(Shi)只(Zhi)读(Du)的(De),(?)所(Suo)以(Yi)多(Duo)线(Xian)程(Cheng)并(Bing)发(Fa)访(Fang)问(Wen)也(Ye)不(Bu)会(Hui)有(You)任(Ren)何(He)问(Wen)题(Ti)。(?)当(Dang)然(Ran)也(Ye)有(You)一(Yi)些(Xie)缺(Que)点(Dian),(?)比(Bi)如(Ru)每(Mei)个(Ge)不(Bu)同(Tong)的(De)状(Zhuang)态(Tai)都(Du)要(Yao)一(Yi)个(Ge)对(Dui)象(Xiang)来(Lai)代(Dai)表(Biao),(?)可(Ke)能(Neng)会(Hui)造(Zao)成(Cheng)性(Xing)能(Neng)上(Shang)的(De)问(Wen)题(Ti)。(?)所(Suo)以(Yi)Java标(Biao)准(Zhun)类(Lei)库(Ku)还(Huan)提(Ti)供(Gong)了(Liao)一(Yi)个(Ge)可(Ke)变(Bian)版(Ban)本(Ben),(?)即(Ji) StringBuffer。(?)

191.String s = new String("xyz");创(Chuang)建(Jian)几(Ji)个(Ge)String Object?

答(Da):(?)两(Liang)个(Ge)或(Huo)一(Yi)个(Ge),(?)”(?)xyz”(?)对(Dui)应(Ying)一(Yi)个(Ge)对(Dui)象(Xiang),(?)这(Zhe)个(Ge)对(Dui)象(Xiang)放(Fang)在(Zai)字(Zi)符(Fu)串(Chuan)常(Chang)量(Liang)缓(Huan)冲(Chong)区(Qu),(?)常(Chang)量(Liang)”(?)xyz”(?)不(Bu)管(Guan)出(Chu)现(Xian)多(Duo)少(Shao)遍(Bian),(?)都(Du)是(Shi)缓(Huan)冲(Chong)区(Qu)中(Zhong)的(De)那(Na)一(Yi)个(Ge)。(?)New String每(Mei)写(Xie)一(Yi)遍(Bian),(?)就(Jiu)创(Chuang)建(Jian)一(Yi)个(Ge)新(Xin)的(De)对(Dui)象(Xiang),(?)它(Ta)一(Yi)句(Ju)那(Na)个(Ge)常(Chang)量(Liang)”(?)xyz”(?)对(Dui)象(Xiang)的(De)内(Nei)容(Rong)来(Lai)创(Chuang)建(Jian)出(Chu)一(Yi)个(Ge)新(Xin)String对(Dui)象(Xiang)。(?)如(Ru)果(Guo)以(Yi)前(Qian)就(Jiu)用(Yong)过(Guo)’(?)xyz’(?),(?)这(Zhe)句(Ju)代(Dai)表(Biao)就(Jiu)不(Bu)会(Hui)创(Chuang)建(Jian)”(?)xyz”(?)自(Zi)己(Ji)了(Liao),(?)直(Zhi)接(Jie)从(Cong)缓(Huan)冲(Chong)区(Qu)拿(Na)。(?)

192.下(Xia)面(Mian)这(Zhe)条(Tiao)语(Yu)句(Ju)一(Yi)共(Gong)创(Chuang)建(Jian)了(Liao)多(Duo)少(Shao)个(Ge)对(Dui)象(Xiang):(?)String s="a"+"b"+"c"+"d";

答(Da):(?)对(Dui)于(Yu)如(Ru)下(Xia)代(Dai)码(Ma):(?)

String s1 = "a";

String s2 = s1 + "b";

String s3 = "a" + "b";

System.out.println(s2 == "ab");

System.out.println(s3 == "ab");

第(Di)一(Yi)条(Tiao)语(Yu)句(Ju)打(Da)印(Yin)的(De)结(Jie)果(Guo)为(Wei)false,(?)第(Di)二(?)条(Tiao)语(Yu)句(Ju)打(Da)印(Yin)的(De)结(Jie)果(Guo)为(Wei)true,(?)这(Zhe)说(Shuo)明(Ming)javac编(Bian)译(Yi)可(Ke)以(Yi)对(Dui)字(Zi)符(Fu)串(Chuan)常(Chang)量(Liang)直(Zhi)接(Jie)相(Xiang)加(Jia)的(De)表(Biao)达(Da)式(Shi)进(Jin)行(Xing)优(You)化(Hua),(?)不(Bu)必(Bi)要(Yao)等(Deng)到(Dao)运(Yun)行(Xing)期(Qi)去(Qu)进(Jin)行(Xing)加(Jia)法(Fa)运(Yun)算(Suan)处(Chu)理(Li),(?)而(?)是(Shi)在(Zai)编(Bian)译(Yi)时(Shi)去(Qu)掉(Diao)其(Qi)中(Zhong)的(De)加(Jia)号(Hao),(?)直(Zhi)接(Jie)将(Jiang)其(Qi)编(Bian)译(Yi)成(Cheng)一(Yi)个(Ge)这(Zhe)些(Xie)常(Chang)量(Liang)相(Xiang)连(Lian)的(De)结(Jie)果(Guo)。(?)

题(Ti)目(Mu)中(Zhong)的(De)第(Di)一(Yi)行(Xing)代(Dai)码(Ma)被(Bei)编(Bian)译(Yi)器(Qi)在(Zai)编(Bian)译(Yi)时(Shi)优(You)化(Hua)后(Hou),(?)相(Xiang)当(Dang)于(Yu)直(Zhi)接(Jie)定(Ding)义(Yi)一(Yi)个(Ge)”(?)abcd”(?)的(De)字(Zi)符(Fu)串(Chuan),(?)所(Suo)以(Yi),(?)上(Shang)面(Mian)的(De)代(Dai)码(Ma)应(Ying)该(Gai)只(Zhi)创(Chuang)建(Jian)了(Liao)一(Yi)个(Ge)String对(Dui)象(Xiang)。(?)

写(Xie)如(Ru)下(Xia)两(Liang)行(Xing)代(Dai)码(Ma),(?)

String s = "a" + "b" + "c" + "d";

System.out.println(s == "abcd");

最(Zui)终(Zhong)打(Da)印(Yin)的(De)结(Jie)果(Guo)应(Ying)该(Gai)为(Wei)true。(?)

集(Ji)合(He):(?)

193.Java集(Ji)合(He)体(Ti)系(Xi)结(Jie)构(Gou)((?)List、(?)Set、(?)Collection、(?)Map的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi))(?)

1、(?)Collection 接(Jie)口(Kou)存(Cun)储(Chu)一(Yi)组(Zu)不(Bu)唯(Wei)一(Yi),(?)无(Wu)序(Xu)的(De)对(Dui)象(Xiang)

2、(?)List 接(Jie)口(Kou)存(Cun)储(Chu)一(Yi)组(Zu)不(Bu)唯(Wei)一(Yi),(?)有(You)序(Xu)((?)插(Cha)入(Ru)顺(Shun)序(Xu))(?)的(De)对(Dui)象(Xiang)

3、(?)Set 接(Jie)口(Kou)存(Cun)储(Chu)一(Yi)组(Zu)唯(Wei)一(Yi),(?)无(Wu)序(Xu)的(De)对(Dui)象(Xiang)

4、(?)Map接(Jie)口(Kou)存(Cun)储(Chu)一(Yi)组(Zu)键(Jian)值(Zhi)对(Dui)象(Xiang),(?)提(Ti)供(Gong)key到(Dao)value的(De)映(Ying)射(She)。(?)Key无(Wu)序(Xu),(?)唯(Wei)一(Yi)。(?)value不(Bu)要(Yao)求(Qiu)有(You)序(Xu),(?)允(Yun)许(Xu)重(Zhong)复(Fu)。(?)((?)如(Ru)果(Guo)只(Zhi)使(Shi)用(Yong)key存(Cun)储(Chu),(?)而(?)不(Bu)使(Shi)用(Yong)value,(?)那(Na)就(Jiu)是(Shi)Set)(?)

194.Vector和(He)ArrayList的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi)

相(Xiang)同(Tong)点(Dian):(?)

1)(?)实(Shi)现(Xian)原(Yuan)理(Li)相(Xiang)同(Tong)---底(Di)层(Ceng)都(Du)使(Shi)用(Yong)数(Shu)组(Zu)

2)(?)功(Gong)能(Neng)相(Xiang)同(Tong)---实(Shi)现(Xian)增(Zeng)删(Shan)改(Gai)查(Cha)等(Deng)操(Cao)作(Zuo)的(De)方(Fang)法(Fa)相(Xiang)似(Si)

3)(?)都(Du)是(Shi)长(Chang)度(Du)可(Ke)变(Bian)的(De)数(Shu)组(Zu)结(Jie)构(Gou),(?)很(Hen)多(Duo)情(Qing)况(Kuang)下(Xia)可(Ke)以(Yi)互(Hu)用(Yong)

不(Bu)同(Tong)点(Dian):(?)

1)(?)Vector是(Shi)早(Zao)期(Qi)JDK版(Ban)本(Ben)提(Ti)供(Gong),(?)ArrayList是(Shi)新(Xin)版(Ban)本(Ben)替(Ti)代(Dai)Vector的(De)

2)(?)Vector线(Xian)程(Cheng)安(An)全(Quan),(?)ArrayList重(Zhong)速(Su)度(Du)轻(Qing)安(An)全(Quan),(?)线(Xian)程(Cheng)非(Fei)安(An)全(Quan)长(Chang)度(Du)需(Xu)增(Zeng)长(Chang)时(Shi),(?)Vector默(Mo)认(Ren)增(Zeng)长(Chang)一(Yi)倍(Bei),(?)ArrayList增(Zeng)长(Chang)50%

195.ArrayList和(He)LinkedList的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi)

相(Xiang)同(Tong)点(Dian):(?)

两(Liang)者(Zhe)都(Du)实(Shi)现(Xian)了(Liao)List接(Jie)口(Kou),(?)都(Du)具(Ju)有(You)List中(Zhong)元(Yuan)素(Su)有(You)序(Xu)、(?)不(Bu)唯(Wei)一(Yi)的(De)特(Te)点(Dian)。(?)

不(Bu)同(Tong)点(Dian):(?)

ArrayList实(Shi)现(Xian)了(Liao)长(Chang)度(Du)可(Ke)变(Bian)的(De)数(Shu)组(Zu),(?)在(Zai)内(Nei)存(Cun)中(Zhong)分(Fen)配(Pei)连(Lian)续(Xu)空(Kong)间(Jian)。(?)遍(Bian)历(Li)元(Yuan)素(Su)和(He)随(Sui)机(Ji)访(Fang)问(Wen)元(Yuan)素(Su)的(De)效(Xiao)率(Lu)比(Bi)较(Jiao)高(Gao);(?)

LinkedList采(Cai)用(Yong)链(Lian)表(Biao)存(Cun)储(Chu)方(Fang)式(Shi)。(?)插(Cha)入(Ru)、(?)删(Shan)除(Chu)元(Yuan)素(Su)时(Shi)效(Xiao)率(Lu)比(Bi)较(Jiao)高(Gao)

196.HashMap和(He)Hashtable的(De)区(Qu)别(Bie)和(He)联(Lian)系(Xi)

相(Xiang)同(Tong)点(Dian):(?)

实(Shi)现(Xian)原(Yuan)理(Li)相(Xiang)同(Tong),(?)功(Gong)能(Neng)相(Xiang)同(Tong),(?)底(Di)层(Ceng)都(Du)是(Shi)哈(Ha)希(Xi)表(Biao)结(Jie)构(Gou),(?)查(Cha)询(Xun)速(Su)度(Du)快(Kuai),(?)在(Zai)很(Hen)多(Duo)情(Qing)况(Kuang)下(Xia)可(Ke)以(Yi)互(Hu)用(Yong)

不(Bu)同(Tong)点(Dian):(?)

1、(?)Hashtable是(Shi)早(Zao)期(Qi)提(Ti)供(Gong)的(De)接(Jie)口(Kou),(?)HashMap是(Shi)新(Xin)版(Ban)JDK提(Ti)供(Gong)的(De)接(Jie)口(Kou)

2、(?)Hashtable继(Ji)承(Cheng)Dictionary类(Lei),(?)HashMap实(Shi)现(Xian)Map接(Jie)口(Kou)

3、(?)Hashtable线(Xian)程(Cheng)安(An)全(Quan),(?)HashMap线(Xian)程(Cheng)非(Fei)安(An)全(Quan)

4、(?)Hashtable不(Bu)允(Yun)许(Xu)null值(Zhi),(?)HashMap允(Yun)许(Xu)null值(Zhi)

197.HashSet的(De)使(Shi)用(Yong)和(He)原(Yuan)理(Li)((?)hashCode()和(He)equals())(?)

1)(?)哈(Ha)希(Xi)表(Biao)的(De)查(Cha)询(Xun)速(Su)度(Du)特(Te)别(Bie)快(Kuai),(?)时(Shi)间(Jian)复(Fu)杂(Za)度(Du)为(Wei)O((?)1)(?)。(?)

2)(?)HashMap、(?)Hashtable、(?)HashSet这(Zhe)些(Xie)集(Ji)合(He)采(Cai)用(Yong)的(De)是(Shi)哈(Ha)希(Xi)表(Biao)结(Jie)构(Gou),(?)需(Xu)要(Yao)用(Yong)到(Dao)hashCode哈(Ha)希(Xi)码(Ma),(?)hashCode是(Shi)一(Yi)个(Ge)整(Zheng)数(Shu)值(Zhi)。(?)

3)(?)系(Xi)统(Tong)类(Lei)已(Yi)经(Jing)覆(Fu)盖(Gai)了(Liao)hashCode方(Fang)法(Fa) 自(Zi)定(Ding)义(Yi)类(Lei)如(Ru)果(Guo)要(Yao)放(Fang)入(Ru)hash类(Lei)集(Ji)合(He),(?)必(Bi)须(Xu)重(Zhong)写(Xie)hashcode。(?)如(Ru)果(Guo)不(Bu)重(Zhong)写(Xie),(?)调(Diao)用(Yong)的(De)是(Shi)Object的(De)hashcode,(?)而(?)Object的(De)hashCode实(Shi)际(Ji)上(Shang)是(Shi)地(Di)址(Zhi)。(?)

4)(?)向(Xiang)哈(Ha)希(Xi)表(Biao)中(Zhong)添(Tian)加(Jia)数(Shu)据(Ju)的(De)原(Yuan)理(Li):(?)当(Dang)向(Xiang)集(Ji)合(He)Set中(Zhong)增(Zeng)加(Jia)对(Dui)象(Xiang)时(Shi),(?)首(Shou)先(Xian)集(Ji)合(He)计(Ji)算(Suan)要(Yao)增(Zeng)加(Jia)对(Dui)象(Xiang)的(De)hashCode码(Ma),(?)根(Gen)据(Ju)该(Gai)值(Zhi)来(Lai)得(De)到(Dao)一(Yi)个(Ge)位(Wei)置(Zhi)用(Yong)来(Lai)存(Cun)放(Fang)当(Dang)前(Qian)对(Dui)象(Xiang),(?)如(Ru)在(Zai)该(Gai)位(Wei)置(Zhi)没(Mei)有(You)一(Yi)个(Ge)对(Dui)象(Xiang)存(Cun)在(Zai)的(De)话(Hua),(?)那(Na)么(Me)集(Ji)合(He)Set认(Ren)为(Wei)该(Gai)对(Dui)象(Xiang)在(Zai)集(Ji)合(He)中(Zhong)不(Bu)存(Cun)在(Zai),(?)直(Zhi)接(Jie)增(Zeng)加(Jia)进(Jin)去(Qu)。(?)如(Ru)果(Guo)在(Zai)该(Gai)位(Wei)置(Zhi)有(You)一(Yi)个(Ge)对(Dui)象(Xiang)存(Cun)在(Zai)的(De)话(Hua),(?)接(Jie)着(Zhuo)将(Jiang)准(Zhun)备(Bei)增(Zeng)加(Jia)到(Dao)集(Ji)合(He)中(Zhong)的(De)对(Dui)象(Xiang)与(Yu)该(Gai)位(Wei)置(Zhi)上(Shang)的(De)对(Dui)象(Xiang)进(Jin)行(Xing)equals方(Fang)法(Fa)比(Bi)较(Jiao),(?)如(Ru)果(Guo)该(Gai)equals方(Fang)法(Fa)返(Fan)回(Hui)false,那(Na)么(Me)集(Ji)合(He)认(Ren)为(Wei)集(Ji)合(He)中(Zhong)不(Bu)存(Cun)在(Zai)该(Gai)对(Dui)象(Xiang),(?)在(Zai)进(Jin)行(Xing)一(Yi)次(Ci)散(San)列(Lie),(?)将(Jiang)该(Gai)对(Dui)象(Xiang)放(Fang)到(Dao)散(San)列(Lie)后(Hou)计(Ji)算(Suan)出(Chu)的(De)新(Xin)地(Di)址(Zhi)里(Li)。(?)如(Ru)果(Guo)equals方(Fang)法(Fa)返(Fan)回(Hui)true,(?)那(Na)么(Me)集(Ji)合(He)认(Ren)为(Wei)集(Ji)合(He)中(Zhong)已(Yi)经(Jing)存(Cun)在(Zai)该(Gai)对(Dui)象(Xiang)了(Liao),(?)不(Bu)会(Hui)再(Zai)将(Jiang)该(Gai)对(Dui)象(Xiang)增(Zeng)加(Jia)到(Dao)集(Ji)合(He)中(Zhong)了(Liao)。(?)

5)(?)在(Zai)哈(Ha)希(Xi)表(Biao)中(Zhong)判(Pan)断(Duan)两(Liang)个(Ge)元(Yuan)素(Su)是(Shi)否(Fou)重(Zhong)复(Fu)要(Yao)使(Shi)用(Yong)到(Dao)hashCode()和(He)equals()。(?)hashCode决(Jue)定(Ding)数(Shu)据(Ju)在(Zai)表(Biao)中(Zhong)的(De)存(Cun)储(Chu)位(Wei)置(Zhi),(?)而(?)equals判(Pan)断(Duan)是(Shi)否(Fou)存(Cun)在(Zai)相(Xiang)同(Tong)数(Shu)据(Ju)。(?)

6)(?) Y=K(X) :(?)K是(Shi)函(Han)数(Shu),(?)X是(Shi)哈(Ha)希(Xi)码(Ma),(?)Y是(Shi)地(Di)址(Zhi)

198.TreeSet的(De)原(Yuan)理(Li)和(He)使(Shi)用(Yong)((?)Comparable和(He)comparator)(?)

1)(?)TreeSet集(Ji)合(He),(?)元(Yuan)素(Su)不(Bu)允(Yun)许(Xu)重(Zhong)复(Fu)且(Qie)有(You)序(Xu)(自(Zi)然(Ran)顺(Shun)序(Xu))

2)(?)TreeSet采(Cai)用(Yong)树(Shu)结(Jie)构(Gou)存(Cun)储(Chu)数(Shu)据(Ju),(?)存(Cun)入(Ru)元(Yuan)素(Su)时(Shi)需(Xu)要(Yao)和(He)树(Shu)中(Zhong)元(Yuan)素(Su)进(Jin)行(Xing)对(Dui)比(Bi),(?)需(Xu)要(Yao)指(Zhi)定(Ding)比(Bi)较(Jiao)策(Ce)略(Lue)。(?)

3)(?)可(Ke)以(Yi)通(Tong)过(Guo)Comparable(外(Wai)部(Bu)比(Bi)较(Jiao)器(Qi))和(He)Comparator(内(Nei)部(Bu)比(Bi)较(Jiao)器(Qi))来(Lai)指(Zhi)定(Ding)比(Bi)较(Jiao)策(Ce)略(Lue),(?)实(Shi)现(Xian)了(Liao)Comparable的(De)系(Xi)统(Tong)类(Lei)可(Ke)以(Yi)顺(Shun)利(Li)存(Cun)入(Ru)TreeSet。(?)自(Zi)定(Ding)义(Yi)类(Lei)可(Ke)以(Yi)实(Shi)现(Xian)Comparable接(Jie)口(Kou)来(Lai)指(Zhi)定(Ding)比(Bi)较(Jiao)策(Ce)略(Lue)。(?)

4)(?)可(Ke)创(Chuang)建(Jian)Comparator接(Jie)口(Kou)实(Shi)现(Xian)类(Lei)来(Lai)指(Zhi)定(Ding)比(Bi)较(Jiao)策(Ce)略(Lue),(?)并(Bing)通(Tong)过(Guo)TreeSet构(Gou)造(Zao)方(Fang)法(Fa)参(Can)数(Shu)传(Chuan)入(Ru)。(?)这(Zhe)种(Zhong)方(Fang)式(Shi)尤(You)其(Qi)对(Dui)系(Xi)统(Tong)类(Lei)非(Fei)常(Chang)适(Shi)用(Yong)。(?)

199.集(Ji)合(He)和(He)数(Shu)组(Zu)的(De)比(Bi)较(Jiao)((?)为(Wei)什(Shi)么(Me)引(Yin)入(Ru)集(Ji)合(He))(?)

数(Shu)组(Zu)不(Bu)是(Shi)面(Mian)向(Xiang)对(Dui)象(Xiang)的(De),(?)存(Cun)在(Zai)明(Ming)显(Xian)的(De)缺(Que)陷(Xian),(?)集(Ji)合(He)完(Wan)全(Quan)弥(Mi)补(Bu)了(Liao)数(Shu)组(Zu)的(De)一(Yi)些(Xie)缺(Que)点(Dian),(?)比(Bi)数(Shu)组(Zu)更(Geng)灵(Ling)活(Huo)更(Geng)实(Shi)用(Yong),(?)可(Ke)大(Da)大(Da)提(Ti)高(Gao)软(Ruan)件(Jian)的(De)开(Kai)发(Fa)效(Xiao)率(Lu)而(?)且(Qie)不(Bu)同(Tong)的(De)集(Ji)合(He)框(Kuang)架(Jia)类(Lei)可(Ke)适(Shi)用(Yong)于(Yu)不(Bu)同(Tong)场(Chang)合(He)。(?)具(Ju)体(Ti)如(Ru)下(Xia):(?)

1)(?)数(Shu)组(Zu)的(De)效(Xiao)率(Lu)高(Gao)于(Yu)集(Ji)合(He)类(Lei).

2)(?)数(Shu)组(Zu)能(Neng)存(Cun)放(Fang)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)和(He)对(Dui)象(Xiang),(?)而(?)集(Ji)合(He)类(Lei)中(Zhong)只(Zhi)能(Neng)放(Fang)对(Dui)象(Xiang)。(?)

3)(?)数(Shu)组(Zu)容(Rong)量(Liang)固(Gu)定(Ding)且(Qie)无(Wu)法(Fa)动(Dong)态(Tai)改(Gai)变(Bian),(?)集(Ji)合(He)类(Lei)容(Rong)量(Liang)动(Dong)态(Tai)改(Gai)变(Bian)。(?)

4)(?)数(Shu)组(Zu)无(Wu)法(Fa)判(Pan)断(Duan)其(Qi)中(Zhong)实(Shi)际(Ji)存(Cun)有(You)多(Duo)少(Shao)元(Yuan)素(Su),(?)length只(Zhi)告(Gao)诉(Su)了(Liao)array的(De)容(Rong)量(Liang)。(?)

5)(?)集(Ji)合(He)有(You)多(Duo)种(Zhong)实(Shi)现(Xian)方(Fang)式(Shi)和(He)不(Bu)同(Tong)的(De)适(Shi)用(Yong)场(Chang)合(He),(?)而(?)不(Bu)像(Xiang)数(Shu)组(Zu)仅(Jin)采(Cai)用(Yong)顺(Shun)序(Xu)表(Biao)方(Fang)式(Shi)。(?)

6)(?)集(Ji)合(He)以(Yi)类(Lei)的(De)形(Xing)式(Shi)存(Cun)在(Zai),(?)具(Ju)有(You)封(Feng)装(Zhuang)、(?)继(Ji)承(Cheng)、(?)多(Duo)态(Tai)等(Deng)类(Lei)的(De)特(Te)性(Xing),(?)通(Tong)过(Guo)简(Jian)单(Dan)的(De)方(Fang)法(Fa)和(He)属(Shu)性(Xing)调(Diao)用(Yong)即(Ji)可(Ke)实(Shi)现(Xian)各(Ge)种(Zhong)复(Fu)杂(Za)操(Cao)作(Zuo),(?)大(Da)大(Da)提(Ti)高(Gao)软(Ruan)件(Jian)的(De)开(Kai)发(Fa)效(Xiao)率(Lu)。(?)

200.Collection和(He)Collections的(De)区(Qu)别(Bie)

1)(?)Collection是(Shi)Java提(Ti)供(Gong)的(De)集(Ji)合(He)接(Jie)口(Kou),(?)存(Cun)储(Chu)一(Yi)组(Zu)不(Bu)唯(Wei)一(Yi),(?)无(Wu)序(Xu)的(De)对(Dui)象(Xiang)。(?)它(Ta)有(You)两(Liang)个(Ge)子(Zi)接(Jie)口(Kou)List和(He)Set。(?)

2)(?)Java中(Zhong)还(Huan)有(You)一(Yi)个(Ge)Collections类(Lei),(?)专(Zhuan)门(Men)用(Yong)来(Lai)操(Cao)作(Zuo)集(Ji)合(He)类(Lei) ,(?)它(Ta)提(Ti)供(Gong)一(Yi)系(Xi)列(Lie)静(Jing)态(Tai)方(Fang)法(Fa)实(Shi)现(Xian)对(Dui)各(Ge)种(Zhong)集(Ji)合(He)的(De)搜(Sou)索(Suo)、(?)排(Pai)序(Xu)、(?)线(Xian)程(Cheng)安(An)全(Quan)化(Hua)等(Deng)操(Cao)作(Zuo)。(?)

201.下(Xia)列(Lie)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)有(You)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?)
A. LinkedList继(Ji)承(Cheng)自(Zi)List
B. AbstractSet继(Ji)承(Cheng)自(Zi)Set
C. HashSet继(Ji)承(Cheng)自(Zi)AbstractSet
D. TreeMap继(Ji)承(Cheng)自(Zi)HashMap
答(Da)案(An):(?) C
分(Fen)析(Xi):(?)A:(?)LinkedList实(Shi)现(Xian)List接(Jie)口(Kou)
B:(?)AbstractSet实(Shi)现(Xian)Set接(Jie)口(Kou)
D:(?)TreeMap继(Ji)承(Cheng)AbstractMap
202.Java的(De)HashMap和(He)Hashtable有(You)什(Shi)么(Me)区(Qu)别(Bie)HashSet和(He)HashMap有(You)什(Shi)么(Me)区(Qu)别(Bie)?(?)使(Shi)用(Yong)这(Zhe)些(Xie)结(Jie)构(Gou)保(Bao)存(Cun)的(De)数(Shu)需(Xu)要(Yao)重(Zhong)载(Zai)的(De)方(Fang)法(Fa)是(Shi)哪(Na)些(Xie)?(?)

答(Da):(?)HashMap与(Yu)Hashtable实(Shi)现(Xian)原(Yuan)理(Li)相(Xiang)同(Tong),(?)功(Gong)能(Neng)相(Xiang)同(Tong),(?)底(Di)层(Ceng)都(Du)是(Shi)哈(Ha)希(Xi)表(Biao)结(Jie)构(Gou),(?)查(Cha)询(Xun)速(Su)度(Du)快(Kuai),(?)在(Zai)很(Hen)多(Duo)情(Qing)况(Kuang)下(Xia)可(Ke)以(Yi)互(Hu)用(Yong)

两(Liang)者(Zhe)的(De)主(Zhu)要(Yao)区(Qu)别(Bie)如(Ru)下(Xia)

1、(?)Hashtable是(Shi)早(Zao)期(Qi)JDK提(Ti)供(Gong)的(De)接(Jie)口(Kou),(?)HashMap是(Shi)新(Xin)版(Ban)JDK提(Ti)供(Gong)的(De)接(Jie)口(Kou)

2、(?)Hashtable继(Ji)承(Cheng)Dictionary类(Lei),(?)HashMap实(Shi)现(Xian)Map接(Jie)口(Kou)

3、(?)Hashtable线(Xian)程(Cheng)安(An)全(Quan),(?)HashMap线(Xian)程(Cheng)非(Fei)安(An)全(Quan)

4、(?)Hashtable不(Bu)允(Yun)许(Xu)null值(Zhi),(?)HashMap允(Yun)许(Xu)null值(Zhi)

HashSet与(Yu)HashMap的(De)区(Qu)别(Bie)

1、(?)HashSet底(Di)层(Ceng)是(Shi)采(Cai)用(Yong)HashMap实(Shi)现(Xian)的(De)。(?)HashSet 的(De)实(Shi)现(Xian)比(Bi)较(Jiao)简(Jian)单(Dan),(?)HashSet 的(De)绝(Jue)大(Da)部(Bu)分(Fen)方(Fang)法(Fa)都(Du)是(Shi)通(Tong)过(Guo)调(Diao)用(Yong) HashMap 的(De)方(Fang)法(Fa)来(Lai)实(Shi)现(Xian)的(De),(?)因(Yin)此(Ci) HashSet 和(He) HashMap 两(Liang)个(Ge)集(Ji)合(He)在(Zai)实(Shi)现(Xian)本(Ben)质(Zhi)上(Shang)是(Shi)相(Xiang)同(Tong)的(De)。(?)

2、(?)HashMap的(De)key就(Jiu)是(Shi)放(Fang)进(Jin)HashSet中(Zhong)对(Dui)象(Xiang),(?)value是(Shi)Object类(Lei)型(Xing)的(De)。(?)

3、(?)当(Dang)调(Diao)用(Yong)HashSet的(De)add方(Fang)法(Fa)时(Shi),(?)实(Shi)际(Ji)上(Shang)是(Shi)向(Xiang)HashMap中(Zhong)增(Zeng)加(Jia)了(Liao)一(Yi)行(Xing)(key-value对(Dui)),(?)该(Gai)行(Xing)的(De)key就(Jiu)是(Shi)向(Xiang)HashSet增(Zeng)加(Jia)的(De)那(Na)个(Ge)对(Dui)象(Xiang),(?)该(Gai)行(Xing)的(De)value就(Jiu)是(Shi)一(Yi)个(Ge)Object类(Lei)型(Xing)的(De)常(Chang)量(Liang)

203.列(Lie)出(Chu)Java中(Zhong)的(De)集(Ji)合(He)类(Lei)层(Ceng)次(Ci)结(Jie)构(Gou)?(?)

答(Da):Java中(Zhong)集(Ji)合(He)主(Zhu)要(Yao)分(Fen)为(Wei)两(Liang)种(Zhong):(?)Collection和(He)Map。(?)Collection是(Shi)List和(He)Set接(Jie)口(Kou)的(De)父(Fu)接(Jie)口(Kou);(?)ArrayList和(He)LinkedList是(Shi)List的(De)实(Shi)现(Xian)类(Lei);(?)HashSet和(He)TreeSet是(Shi)Set的(De)实(Shi)现(Xian)类(Lei);(?)LinkedHashSet是(Shi)HashSet的(De)子(Zi)类(Lei)。(?)HashMap和(He)TreeMap是(Shi)Map的(De)实(Shi)现(Xian)类(Lei);(?)LinkedHashMap是(Shi)HashMap的(De)子(Zi)类(Lei)。(?)

图(Tu)中(Zhong):(?)虚(Xu)线(Xian)框(Kuang)中(Zhong)为(Wei)接(Jie)口(Kou),(?)实(Shi)线(Xian)框(Kuang)中(Zhong)为(Wei)类(Lei)。(?)

204.List,(?)Set,(?)Map各(Ge)有(You)什(Shi)么(Me)特(Te)点(Dian)

答(Da):List 接(Jie)口(Kou)存(Cun)储(Chu)一(Yi)组(Zu)不(Bu)唯(Wei)一(Yi),(?)有(You)序(Xu)((?)插(Cha)入(Ru)顺(Shun)序(Xu))(?)的(De)对(Dui)象(Xiang)。(?)

Set 接(Jie)口(Kou)存(Cun)储(Chu)一(Yi)组(Zu)唯(Wei)一(Yi),(?)无(Wu)序(Xu)的(De)对(Dui)象(Xiang)。(?)

Map接(Jie)口(Kou)存(Cun)储(Chu)一(Yi)组(Zu)键(Jian)值(Zhi)对(Dui)象(Xiang),(?)提(Ti)供(Gong)key到(Dao)value的(De)映(Ying)射(She)。(?)key无(Wu)序(Xu),(?)唯(Wei)一(Yi)。(?)value不(Bu)要(Yao)求(Qiu)有(You)序(Xu),(?)允(Yun)许(Xu)重(Zhong)复(Fu)。(?)((?)如(Ru)果(Guo)只(Zhi)使(Shi)用(Yong)key存(Cun)储(Chu),(?)而(?)不(Bu)使(Shi)用(Yong)value,(?)那(Na)就(Jiu)是(Shi)Set)(?)。(?)

205.ArrayList list=new ArrayList(20);中(Zhong)的(De)list扩(Kuo)充(Chong)几(Ji)次(Ci)((?))(?)
A. 0
B. 1
C. 2
D. 3
答(Da)案(An):(?)A
分(Fen)析(Xi):(?)已(Yi)经(Jing)指(Zhi)定(Ding)了(Liao)长(Chang)度(Du), 所(Suo)以(Yi)不(Bu)扩(Kuo)容(Rong)
206.List、(?)Set、(?)Map哪(Na)个(Ge)继(Ji)承(Cheng)自(Zi)Collection接(Jie)口(Kou),(?)一(Yi)下(Xia)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)是(Shi)((?))(?)
A. List Map
B. Set Map
C. List Set
D. List Map Set
答(Da)案(An):(?)C
分(Fen)析(Xi):(?)Map接(Jie)口(Kou)继(Ji)承(Cheng)了(Liao)java.lang.Object类(Lei),但(Dan)没(Mei)有(You)实(Shi)现(Xian)任(Ren)何(He)接(Jie)口(Kou).
207.合(He)并(Bing)两(Liang)个(Ge)有(You)序(Xu)的(De)链(Lian)表(Biao)
public class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if (l1 == null || l2 == null) {
            return l1 != null ? l1 : l2;
        }
        ListNode head = l1.val < l2.val ? l1 : l2;
        ListNode other = l1.val >= l2.val ? l1 : l2;
        ListNode prevHead = head;
        ListNode prevOther = other;
        while (prevHead != null) {
            ListNode next = prevHead.next;
            if (next != null && next.val > prevOther.val) {
                prevHead.next = prevOther;
                prevOther = next;
            }
            if(prevHead.next==null){
                prevHead.next=prevOther;
                break;
            }
            prevHead=prevHead.next;
        }
        return head;
}
}
208.用(Yong)递(Di)归(Gui)方(Fang)式(Shi)实(Shi)现(Xian)链(Lian)表(Biao)的(De)转(Zhuan)置(Zhi)。(?)
/**
Definition for singly-linked list.
public class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode reverseList(ListNode head) {
if(head==null||head.next ==null)
            return head;
        ListNode prev = reverseList(head.next);
        head.next.next = head;
        head.next = null;
        return prev;
}
}
209.给(Gei)定(Ding)一(Yi)个(Ge)不(Bu)包(Bao)含(Han)相(Xiang)同(Tong)元(Yuan)素(Su)的(De)整(Zheng)数(Shu)集(Ji)合(He),(?)nums,(?)返(Fan)回(Hui)所(Suo)有(You)可(Ke)能(Neng)的(De)子(Zi)集(Ji)集(Ji)合(He)。(?)解(Jie)答(Da)中(Zhong)集(Ji)合(He)不(Bu)能(Neng)包(Bao)含(Han)重(Zhong)复(Fu)的(De)子(Zi)集(Ji)。(?)
public class Solution {
    public List<List<Integer>> subsets (int[] nums) {
        List<List<Integer>> res = new ArrayList<ArrayList<Integer>>();
        List<Integer> item = new ArrayList<Integer>();
        if(nums.length == 0 || nums == null)
            return res;
        Arrays.sort(nums); //排(Pai)序(Xu)
        dfs(nums, 0, item, res);  //递(Di)归(Gui)调(Diao)用(Yong)
        res.add(new ArrayList<Integer>());  //最(Zui)后(Hou)加(Jia)上(Shang)一(Yi)个(Ge)空(Kong)集(Ji)
        return res;
    }
    public static void dfs(int[] nums, int start, List<Integer> item, List<List<Integer>> res){
        for(int i = start; i < nums.length; i ++){
            item.add(nums[i]);
            //item是(Shi)以(Yi)整(Zheng)数(Shu)为(Wei)元(Yuan)素(Su)的(De)动(Dong)态(Tai)数(Shu)组(Zu),(?)而(?)res是(Shi)以(Yi)数(Shu)组(Zu)为(Wei)元(Yuan)素(Su)的(De)数(Shu)组(Zu),(?)在(Zai)这(Zhe)一(Yi)步(Bu),(?)当(Dang)item增(Zeng)加(Jia)完(Wan)元(Yuan)素(Su)后(Hou),(?)item所(Suo)有(You)元(Yuan)素(Su)构(Gou)成(Cheng)一(Yi)个(Ge)完(Wan)整(Zheng)的(De)子(Zi)串(Chuan),(?)再(Zai)由(You)res纳(Na)入(Ru)
            res.add(new ArrayList<Integer>(item));
            dfs(nums, i + 1, item, res);
            item.remove(item.size() - 1);
        }
    }
}
210.以(Yi)下(Xia)结(Jie)构(Gou)中(Zhong),(?)哪(Na)个(Ge)具(Ju)有(You)同(Tong)步(Bu)功(Gong)能(Neng)((?))(?)
A. HashMap
B. ConcurrentHashMap
C. WeakHashMap
D. TreeMap
答(Da)案(An):(?)B
分(Fen)析(Xi):(?)
A,(?)C,(?)D都(Du)线(Xian)程(Cheng)不(Bu)安(An)全(Quan),(?)B线(Xian)程(Cheng)安(An)全(Quan),(?)具(Ju)有(You)同(Tong)步(Bu)功(Gong)能(Neng)
211.以(Yi)下(Xia)结(Jie)构(Gou)中(Zhong),(?)插(Cha)入(Ru)性(Xing)能(Neng)最(Zui)高(Gao)的(De)是(Shi)((?))(?)
A. ArrayList
B. Linkedlist
C. tor
D. Collection
答(Da)案(An):(?)B
分(Fen)析(Xi):(?)
数(Shu)组(Zu)插(Cha)入(Ru)、(?)删(Shan)除(Chu)效(Xiao)率(Lu)差(Cha),(?)排(Pai)除(Chu)A
tor不(Bu)是(Shi)java里(Li)面(Mian)的(De)数(Shu)据(Ju)结(Jie)构(Gou),(?)是(Shi)一(Yi)种(Zhong)网(Wang)络(Luo)路(Lu)由(You)技(Ji)术(Shu);(?)因(Yin)此(Ci)排(Pai)除(Chu)C
Collection 是(Shi)集(Ji)合(He)的(De)接(Jie)口(Kou),(?)不(Bu)是(Shi)某(Mou)种(Zhong)数(Shu)据(Ju)结(Jie)构(Gou);(?)因(Yin)此(Ci)排(Pai)除(Chu)D
212.以(Yi)下(Xia)结(Jie)构(Gou)中(Zhong),(?)哪(Na)个(Ge)最(Zui)适(Shi)合(He)当(Dang)作(Zuo)stack使(Shi)用(Yong)((?))(?)
A. LinkedHashMap
B. LinkedHashSet
C. LinkedList
LinkedList
分(Fen)析(Xi):(?)
Stack是(Shi)先(Xian)进(Jin)后(Hou)出(Chu)的(De)线(Xian)性(Xing)结(Jie)构(Gou);(?)所(Suo)以(Yi)链(Lian)表(Biao)比(Bi)较(Jiao)合(He)适(Shi);(?)不(Bu)需(Xu)要(Yao)散(San)列(Lie)表(Biao)的(De)数(Shu)据(Ju)结(Jie)构(Gou)
213.Map的(De)实(Shi)现(Xian)类(Lei)中(Zhong),(?)哪(Na)些(Xie)是(Shi)有(You)序(Xu)的(De),(?)哪(Na)些(Xie)是(Shi)无(Wu)序(Xu)的(De),(?)有(You)序(Xu)的(De)是(Shi)如(Ru)何(He)保(Bao)证(Zheng)其(Qi)有(You)序(Xu)性(Xing),(?)你(Ni)觉(Jue)得(De)哪(Na)个(Ge)有(You)序(Xu)性(Xing)性(Xing)能(Neng)更(Geng)高(Gao),(?)你(Ni)有(You)没(Mei)有(You)更(Geng)好(Hao)或(Huo)者(Zhe)更(Geng)高(Gao)效(Xiao)的(De)实(Shi)现(Xian)方(Fang)式(Shi)?(?)

答(Da):(?)1. Map的(De)实(Shi)现(Xian)类(Lei)有(You)HashMap,LinkedHashMap,TreeMap

2. HashMap是(Shi)有(You)无(Wu)序(Xu)的(De),(?)LinkedHashMap和(He)TreeMap都(Du)是(Shi)有(You)序(Xu)的(De)((?)LinkedHashMap记(Ji)录(Lu)了(Liao)添(Tian)加(Jia)数(Shu)据(Ju)的(De)顺(Shun)序(Xu);(?)TreeMap默(Mo)认(Ren)是(Shi)自(Zi)然(Ran)升(Sheng)序(Xu))(?)

3. LinkedHashMap底(Di)层(Ceng)存(Cun)储(Chu)结(Jie)构(Gou)是(Shi)哈(Ha)希(Xi)表(Biao)+链(Lian)表(Biao),(?)链(Lian)表(Biao)记(Ji)录(Lu)了(Liao)添(Tian)加(Jia)数(Shu)据(Ju)的(De)顺(Shun)序(Xu)

4. TreeMap底(Di)层(Ceng)存(Cun)储(Chu)结(Jie)构(Gou)是(Shi)二(?)叉(Cha)树(Shu),(?)二(?)叉(Cha)树(Shu)的(De)中(Zhong)序(Xu)遍(Bian)历(Li)保(Bao)证(Zheng)了(Liao)数(Shu)据(Ju)的(De)有(You)序(Xu)性(Xing)

5. LinkedHashMap有(You)序(Xu)性(Xing)能(Neng)比(Bi)较(Jiao)高(Gao),(?)因(Yin)为(Wei)底(Di)层(Ceng)数(Shu)据(Ju)存(Cun)储(Chu)结(Jie)构(Gou)采(Cai)用(Yong)的(De)哈(Ha)希(Xi)表(Biao)

214.下(Xia)面(Mian)的(De)代(Dai)码(Ma)在(Zai)绝(Jue)大(Da)部(Bu)分(Fen)时(Shi)间(Jian)内(Nei)都(Du)运(Yun)行(Xing)得(De)很(Hen)正(Zheng)常(Chang),(?)请(Qing)问(Wen)什(Shi)么(Me)情(Qing)况(Kuang)下(Xia)会(Hui)出(Chu)现(Xian)问(Wen)题(Ti)?(?)根(Gen)源(Yuan)在(Zai)哪(Na)里(Li)?(?)
package com.bjsxt;
import java.util.LinkedList;
public class Stack {
LinkedList list = new LinkedList();
public synchronized void push(Object x) {
synchronized (list) {
list.addLast(x);
notify();
}
}
public  synchronized Object pop() throws  Exception{
synchronized(list){
if(list.size()<=0){
wait();
}
return list.removeLast( );
}
}
}

答(Da):(?)将(Jiang)if( list.size() <= 0 )改(Gai)成(Cheng):(?)while( list.size() <= 0 )

215.TreeMap和(He)TreeSet在(Zai)排(Pai)序(Xu)时(Shi)如(Ru)何(He)比(Bi)较(Jiao)元(Yuan)素(Su)?(?)Collections工(Gong)具(Ju)类(Lei)中(Zhong)的(De)sort((?))(?)方(Fang)法(Fa)如(Ru)何(He)比(Bi)较(Jiao)元(Yuan)素(Su)?(?)

答(Da):(?)TreeSet要(Yao)求(Qiu)存(Cun)放(Fang)的(De)对(Dui)象(Xiang)所(Suo)属(Shu)的(De)类(Lei)必(Bi)须(Xu)实(Shi)现(Xian)Comparable接(Jie)口(Kou),(?)该(Gai)接(Jie)口(Kou)提(Ti)供(Gong)了(Liao)比(Bi)较(Jiao)元(Yuan)素(Su)的(De)compareTo()方(Fang)法(Fa),(?)当(Dang)插(Cha)入(Ru)元(Yuan)素(Su)时(Shi)会(Hui) 回(Hui)调(Diao)该(Gai)方(Fang)法(Fa)比(Bi)较(Jiao)元(Yuan)素(Su)的(De)大(Da)小(Xiao)。(?)TreeMap要(Yao)求(Qiu)存(Cun)放(Fang)的(De)键(Jian)值(Zhi)对(Dui)映(Ying)射(She)的(De)键(Jian)必(Bi)须(Xu)实(Shi)现(Xian)Comparable接(Jie)口(Kou)从(Cong)而(?)根(Gen)据(Ju)键(Jian)对(Dui)元(Yuan)素(Su)进(Jin)行(Xing)排(Pai)序(Xu)。(?)Collections 工(Gong)具(Ju)类(Lei)的(De)sort方(Fang)法(Fa)有(You)两(Liang)种(Zhong)重(Zhong)载(Zai)的(De)形(Xing)式(Shi),(?)第(Di)一(Yi)种(Zhong)要(Yao)求(Qiu)传(Chuan)入(Ru)的(De)待(Dai)排(Pai)序(Xu)容(Rong)器(Qi)中(Zhong)存(Cun)放(Fang)的(De)对(Dui)象(Xiang)比(Bi)较(Jiao)实(Shi)现(Xian)Comparable接(Jie)口(Kou)以(Yi)实(Shi)现(Xian)元(Yuan)素(Su)的(De)比(Bi)较(Jiao);(?)第(Di)二(?)种(Zhong)不(Bu)强(Qiang)制(Zhi)性(Xing)的(De)要(Yao)求(Qiu)容(Rong)器(Qi)中(Zhong)的(De)元(Yuan)素(Su)必(Bi)须(Xu)可(Ke)比(Bi)较(Jiao),(?)但(Dan)是(Shi)要(Yao)求(Qiu)传(Chuan)入(Ru)第(Di)二(?)个(Ge)参(Can)数(Shu),(?)参(Can)数(Shu)是(Shi)Comparator接(Jie)口(Kou)的(De)子(Zi)类(Lei)型(Xing)((?)需(Xu)要(Yao)重(Zhong)写(Xie)compare方(Fang)法(Fa)实(Shi)现(Xian)元(Yuan)素(Su)的(De)比(Bi)较(Jiao))(?),(?)相(Xiang)当(Dang)于(Yu)一(Yi)个(Ge)临(Lin)时(Shi)定(Ding)义(Yi)的(De)排(Pai)序(Xu)规(Gui)则(Ze),(?)其(Qi)实(Shi)就(Jiu)是(Shi)是(Shi)通(Tong)过(Guo)接(Jie)口(Kou)注(Zhu)入(Ru)比(Bi)较(Jiao)元(Yuan)素(Su)大(Da)小(Xiao)的(De)算(Suan)法(Fa),(?)也(Ye)是(Shi)对(Dui)回(Hui)调(Diao)模(Mo)式(Shi)的(De)应(Ying)用(Yong)。(?)

216.List里(Li)面(Mian)如(Ru)何(He)剔(Ti)除(Chu)相(Xiang)同(Tong)的(De)对(Dui)象(Xiang)?(?)请(Qing)简(Jian)单(Dan)用(Yong)代(Dai)码(Ma)实(Shi)现(Xian)一(Yi)种(Zhong)方(Fang)法(Fa)
public class Test {
public static void main(String[] args) {
  List<String> li1 = new ArrayList<String>();
  li1.add("8");
  li1.add("8");
  li1.add("9");
  li1.add("9");
  li1.add("0");
  System.out.println(li1);
  //方(Fang)法(Fa):将(Jiang)List中(Zhong)数(Shu)据(Ju)取(Qu)出(Chu)来(Lai)来(Lai)存(Cun)到(Dao)Set中(Zhong)
  HashSet<String> set = new HashSet<String>();
  for(int i=0;i<li1.size();i++){
  set.add(li1.get(i));
  }
  System.out.println(set);
}
}
217.Java.util.Map的(De)实(Shi)现(Xian)类(Lei)有(You)

分(Fen)析(Xi):(?)Java中(Zhong)的(De)java.util.Map的(De)实(Shi)现(Xian)类(Lei)

1、(?)HashMap

2、(?)Hashtable

3、(?)LinkedHashMap

4、(?)TreeMap

218.下(Xia)列(Lie)叙(Xu)述(Shu)中(Zhong)正(Zheng)确(Que)的(De)是(Shi)((?))(?)
A. 循(Xun)环(Huan)队(Dui)列(Lie)有(You)队(Dui)头(Tou)和(He)队(Dui)尾(Wei)两(Liang)个(Ge)指(Zhi)针(Zhen),(?)因(Yin)此(Ci),(?)循(Xun)环(Huan)队(Dui)列(Lie)是(Shi)非(Fei)线(Xian)性(Xing)结(Jie)构(Gou)
B. 在(Zai)循(Xun)环(Huan)队(Dui)列(Lie)中(Zhong),(?)只(Zhi)需(Xu)要(Yao)队(Dui)头(Tou)指(Zhi)针(Zhen)就(Jiu)能(Neng)反(Fan)映(Ying)队(Dui)列(Lie)中(Zhong)元(Yuan)素(Su)的(De)动(Dong)态(Tai)变(Bian)化(Hua)情(Qing)况(Kuang)
C. 在(Zai)循(Xun)环(Huan)队(Dui)列(Lie)中(Zhong),(?)只(Zhi)需(Xu)要(Yao)队(Dui)尾(Wei)指(Zhi)针(Zhen)就(Jiu)能(Neng)反(Fan)映(Ying)队(Dui)列(Lie)中(Zhong)元(Yuan)素(Su)的(De)动(Dong)态(Tai)变(Bian)化(Hua)情(Qing)况(Kuang)
D. 在(Zai)循(Xun)环(Huan)队(Dui)列(Lie)中(Zhong)元(Yuan)素(Su)的(De)个(Ge)数(Shu)是(Shi)由(You)队(Dui)头(Tou)指(Zhi)针(Zhen)和(He)队(Dui)尾(Wei)指(Zhi)针(Zhen)共(Gong)同(Tong)决(Jue)定(Ding)的(De)
答(Da)案(An):(?)D
分(Fen)析(Xi):(?)循(Xun)环(Huan)队(Dui)列(Lie)中(Zhong)元(Yuan)素(Su)的(De)个(Ge)数(Shu)是(Shi)由(You)队(Dui)首(Shou)指(Zhi)针(Zhen)和(He)队(Dui)尾(Wei)指(Zhi)针(Zhen)共(Gong)同(Tong)决(Jue)定(Ding)的(De),(?)元(Yuan)素(Su)的(De)动(Dong)态(Tai)变(Bian)化(Hua)也(Ye)是(Shi)通(Tong)过(Guo)队(Dui)首(Shou)指(Zhi)针(Zhen)和(He)队(Dui)尾(Wei)指(Zhi)针(Zhen)来(Lai)反(Fan)映(Ying)的(De),(?)当(Dang)队(Dui)首(Shou)等(Deng)于(Yu)队(Dui)尾(Wei)时(Shi),(?)队(Dui)列(Lie)为(Wei)空(Kong)。(?)
219.List、(?)Set、(?)Map 是(Shi)否(Fou)继(Ji)承(Cheng)自(Zi)Collection 接(Jie)口(Kou)?(?)

答(Da):(?)List、(?)Set 的(De)父(Fu)接(Jie)口(Kou)是(Shi)Collection,(?)Map 不(Bu)是(Shi)其(Qi)子(Zi)接(Jie)口(Kou),(?)而(?)是(Shi)与(Yu)Collection接(Jie)口(Kou)是(Shi)平(Ping)行(Xing)关(Guan)系(Xi),(?)互(Hu)不(Bu)包(Bao)含(Han)。(?)

Map是(Shi)键(Jian)值(Zhi)对(Dui)映(Ying)射(She)容(Rong)器(Qi),(?)与(Yu)List和(He)Set有(You)明(Ming)显(Xian)的(De)区(Qu)别(Bie),(?)而(?)Set存(Cun)储(Chu)的(De)零(Ling)散(San)的(De)元(Yuan)素(Su)且(Qie)不(Bu)允(Yun)许(Xu)有(You)重(Zhong)复(Fu)元(Yuan)素(Su)((?)数(Shu)学(Xue)中(Zhong)的(De)集(Ji)合(He)也(Ye)是(Shi)如(Ru)此(Ci))(?),(?)List是(Shi)线(Xian)性(Xing)结(Jie)构(Gou)的(De)容(Rong)器(Qi),(?)适(Shi)用(Yong)于(Yu)按(An)数(Shu)值(Zhi)索(Suo)引(Yin)访(Fang)问(Wen)元(Yuan)素(Su)的(De)情(Qing)形(Xing)。(?)

220.说(Shuo)出(Chu)ArrayList、(?)Vector、(?)LinkedList 的(De)存(Cun)储(Chu)性(Xing)能(Neng)和(He)特(Te)性(Xing)?(?)

答(Da):(?)ArrayList 和(He)Vector都(Du)是(Shi)使(Shi)用(Yong)数(Shu)组(Zu)方(Fang)式(Shi)存(Cun)储(Chu)数(Shu)据(Ju),(?)此(Ci)数(Shu)组(Zu)元(Yuan)素(Su)数(Shu)大(Da)于(Yu)实(Shi)际(Ji)存(Cun)储(Chu)的(De)数(Shu)据(Ju)以(Yi)便(Bian)增(Zeng)加(Jia)和(He)插(Cha)入(Ru)元(Yuan)素(Su),(?)它(Ta)们(Men)都(Du)允(Yun)许(Xu)直(Zhi)接(Jie)按(An)序(Xu)号(Hao)索(Suo)引(Yin)元(Yuan)素(Su),(?)但(Dan)是(Shi)插(Cha)入(Ru)元(Yuan)素(Su)要(Yao)涉(She)及(Ji)数(Shu)组(Zu)元(Yuan)素(Su)移(Yi)动(Dong)等(Deng)内(Nei)存(Cun)操(Cao)作(Zuo),(?)所(Suo)以(Yi)索(Suo)引(Yin)数(Shu)据(Ju)快(Kuai)而(?)插(Cha)入(Ru)数(Shu)据(Ju)慢(Man),(?)Vector由(You)于(Yu)使(Shi)用(Yong)了(Liao)synchronized 方(Fang)法(Fa)((?)线(Xian)程(Cheng)安(An)全(Quan))(?),(?)通(Tong)常(Chang)性(Xing)能(Neng)上(Shang)较(Jiao)ArrayList 差(Cha),(?)而(?)LinkedList 使(Shi)用(Yong)双(Shuang)向(Xiang)链(Lian)表(Biao)实(Shi)现(Xian)存(Cun)储(Chu)((?)将(Jiang)内(Nei)存(Cun)中(Zhong)零(Ling)散(San)的(De)内(Nei)存(Cun)单(Dan)元(Yuan)通(Tong)过(Guo)附(Fu)加(Jia)的(De)引(Yin)用(Yong)关(Guan)联(Lian)起(Qi)来(Lai),(?)形(Xing)成(Cheng)一(Yi)个(Ge)可(Ke)以(Yi)按(An)序(Xu)号(Hao)索(Suo)引(Yin)的(De)线(Xian)性(Xing)结(Jie)构(Gou),(?)这(Zhe)种(Zhong)链(Lian)式(Shi)存(Cun)储(Chu)方(Fang)式(Shi)与(Yu)数(Shu)组(Zu)的(De)连(Lian)续(Xu)存(Cun)储(Chu)方(Fang)式(Shi)相(Xiang)比(Bi),(?)其(Qi)实(Shi)对(Dui)内(Nei)存(Cun)的(De)利(Li)用(Yong)率(Lu)更(Geng)高(Gao))(?),(?)按(An)序(Xu)号(Hao)索(Suo)引(Yin)数(Shu)据(Ju)需(Xu)要(Yao)进(Jin)行(Xing)前(Qian)向(Xiang)或(Huo)后(Hou)向(Xiang)遍(Bian)历(Li),(?)但(Dan)是(Shi)插(Cha)入(Ru)数(Shu)据(Ju)时(Shi)只(Zhi)需(Xu)要(Yao)记(Ji)录(Lu)本(Ben)项(Xiang)的(De)前(Qian)后(Hou)项(Xiang)即(Ji)可(Ke),(?)所(Suo)以(Yi)插(Cha)入(Ru)速(Su)度(Du)较(Jiao)快(Kuai)。(?)Vector属(Shu)于(Yu)遗(Yi)留(Liu)容(Rong)器(Qi)((?)早(Zao)期(Qi)的(De)JDK中(Zhong)使(Shi)用(Yong)的(De)容(Rong)器(Qi),(?)除(Chu)此(Ci)之(Zhi)外(Wai)Hashtable、(?)Dictionary、(?)BitSet、(?)Stack、(?)Properties都(Du)是(Shi)遗(Yi)留(Liu)容(Rong)器(Qi))(?),(?)现(Xian)在(Zai)已(Yi)经(Jing)不(Bu)推(Tui)荐(Jian)使(Shi)用(Yong),(?)但(Dan)是(Shi)由(You)于(Yu)ArrayList和(He)LinkedListed都(Du)是(Shi)非(Fei)线(Xian)程(Cheng)安(An)全(Quan)的(De),(?)如(Ru)果(Guo)需(Xu)要(Yao)多(Duo)个(Ge)线(Xian)程(Cheng)操(Cao)作(Zuo)同(Tong)一(Yi)个(Ge)容(Rong)器(Qi),(?)那(Na)么(Me)可(Ke)以(Yi)通(Tong)过(Guo)工(Gong)具(Ju)类(Lei)Collections中(Zhong)的(De)synchronizedList方(Fang)法(Fa)将(Jiang)其(Qi)转(Zhuan)换(Huan)成(Cheng)线(Xian)程(Cheng)安(An)全(Quan)的(De)容(Rong)器(Qi)后(Hou)再(Zai)使(Shi)用(Yong)((?)这(Zhe)其(Qi)实(Shi)是(Shi)装(Zhuang)潢(Huang)模(Mo)式(Shi)最(Zui)好(Hao)的(De)例(Li)子(Zi),(?)将(Jiang)已(Yi)有(You)对(Dui)象(Xiang)传(Chuan)入(Ru)另(Ling)一(Yi)个(Ge)类(Lei)的(De)构(Gou)造(Zao)器(Qi)中(Zhong)创(Chuang)建(Jian)新(Xin)的(De)对(Dui)象(Xiang)来(Lai)增(Zeng)加(Jia)新(Xin)功(Gong)能(Neng))(?)。(?)

补(Bu)充(Chong):(?)遗(Yi)留(Liu)容(Rong)器(Qi)中(Zhong)的(De)Properties类(Lei)和(He)Stack类(Lei)在(Zai)设(She)计(Ji)上(Shang)有(You)严(Yan)重(Zhong)的(De)问(Wen)题(Ti),(?)Properties是(Shi)一(Yi)个(Ge)键(Jian)和(He)值(Zhi)都(Du)是(Shi)字(Zi)符(Fu)串(Chuan)的(De)特(Te)殊(Shu)的(De)键(Jian)值(Zhi)对(Dui)映(Ying)射(She),(?)在(Zai)设(She)计(Ji)上(Shang)应(Ying)该(Gai)是(Shi)关(Guan)联(Lian)一(Yi)个(Ge)Hashtable并(Bing)将(Jiang)其(Qi)两(Liang)个(Ge)泛(Fan)型(Xing)参(Can)数(Shu)设(She)置(Zhi)为(Wei)String类(Lei)型(Xing),(?)但(Dan)是(Shi)Java API中(Zhong)的(De)Properties直(Zhi)接(Jie)继(Ji)承(Cheng)了(Liao)Hashtable,(?)这(Zhe)很(Hen)明(Ming)显(Xian)是(Shi)对(Dui)继(Ji)承(Cheng)的(De)滥(Lan)用(Yong)。(?)这(Zhe)里(Li)复(Fu)用(Yong)代(Dai)码(Ma)的(De)方(Fang)式(Shi)应(Ying)该(Gai)是(Shi)HAS-A关(Guan)系(Xi)而(?)不(Bu)是(Shi)IS-A关(Guan)系(Xi),(?)另(Ling)一(Yi)方(Fang)面(Mian)容(Rong)器(Qi)都(Du)属(Shu)于(Yu)工(Gong)具(Ju)类(Lei),(?)继(Ji)承(Cheng)工(Gong)具(Ju)类(Lei)本(Ben)身(Shen)就(Jiu)是(Shi)一(Yi)个(Ge)错(Cuo)误(Wu)的(De)做(Zuo)法(Fa),(?)使(Shi)用(Yong)工(Gong)具(Ju)类(Lei)最(Zui)好(Hao)的(De)方(Fang)式(Shi)是(Shi)HAS-A关(Guan)系(Xi)((?)关(Guan)联(Lian))(?)或(Huo)USE-A关(Guan)系(Xi)((?)依(Yi)赖(Lai))(?) 。(?)同(Tong)理(Li),(?)Stack类(Lei)继(Ji)承(Cheng)Vector也(Ye)是(Shi)不(Bu)正(Zheng)确(Que)的(De)。(?)

221.List、(?)Map、(?)Set 三(San)个(Ge)接(Jie)口(Kou),(?)存(Cun)取(Qu)元(Yuan)素(Su)时(Shi),(?)各(Ge)有(You)什(Shi)么(Me)特(Te)点(Dian)?(?)

答(Da):(?)List以(Yi)特(Te)定(Ding)索(Suo)引(Yin)来(Lai)存(Cun)取(Qu)元(Yuan)素(Su),(?)可(Ke)有(You)重(Zhong)复(Fu)元(Yuan)素(Su)。(?)

Set不(Bu)能(Neng)存(Cun)放(Fang)重(Zhong)复(Fu)元(Yuan)素(Su)((?)用(Yong)对(Dui)象(Xiang)的(De)equals()方(Fang)法(Fa)来(Lai)区(Qu)分(Fen)元(Yuan)素(Su)是(Shi)否(Fou)重(Zhong)复(Fu))(?) 。(?)Map保(Bao)存(Cun)键(Jian)值(Zhi)对(Dui)((?)key-value pair)(?)映(Ying)射(She),(?)映(Ying)射(She)关(Guan)系(Xi)可(Ke)以(Yi)是(Shi)一(Yi)对(Dui)一(Yi)或(Huo)多(Duo)对(Dui)一(Yi)。(?)Set和(He)Map容(Rong)器(Qi)都(Du)有(You)基(Ji)于(Yu)哈(Ha)希(Xi)存(Cun)储(Chu)和(He)排(Pai)序(Xu)树(Shu)((?)红(Hong)黑(Hei)树(Shu))(?)的(De)两(Liang)种(Zhong)实(Shi)现(Xian)版(Ban)本(Ben),(?)基(Ji)于(Yu)哈(Ha)希(Xi)存(Cun)储(Chu)的(De)版(Ban)本(Ben)理(Li)论(Lun)存(Cun)取(Qu)时(Shi)间(Jian)复(Fu)杂(Za)度(Du)为(Wei)O(1),(?)而(?)基(Ji)于(Yu)排(Pai)序(Xu)树(Shu)版(Ban)本(Ben)的(De)实(Shi)现(Xian)在(Zai)插(Cha)入(Ru)或(Huo)删(Shan)除(Chu)元(Yuan)素(Su)时(Shi)会(Hui)按(An)照(Zhao)元(Yuan)素(Su)或(Huo)元(Yuan)素(Su)的(De)键(Jian)((?)key)(?)构(Gou)成(Cheng)排(Pai)序(Xu)树(Shu)从(Cong)而(?)达(Da)到(Dao)排(Pai)序(Xu)和(He)去(Qu)重(Zhong)的(De)效(Xiao)果(Guo)。(?)

222.TreeMap和(He)TreeSet在(Zai)排(Pai)序(Xu)时(Shi)如(Ru)何(He)比(Bi)较(Jiao)元(Yuan)素(Su)?(?)Collections工(Gong)具(Ju)类(Lei)中(Zhong)的(De)sort()方(Fang)法(Fa)如(Ru)何(He)比(Bi)较(Jiao)元(Yuan)素(Su)?(?)

答(Da):(?)TreeSet要(Yao)求(Qiu)存(Cun)放(Fang)的(De)对(Dui)象(Xiang)所(Suo)属(Shu)的(De)类(Lei)必(Bi)须(Xu)实(Shi)现(Xian)Comparable接(Jie)口(Kou),(?)该(Gai)接(Jie)口(Kou)提(Ti)供(Gong)了(Liao)比(Bi)较(Jiao)元(Yuan)素(Su)的(De)compareTo()方(Fang)法(Fa),(?)当(Dang)插(Cha)入(Ru)元(Yuan)素(Su)时(Shi)会(Hui)回(Hui)调(Diao)该(Gai)方(Fang)法(Fa)比(Bi)较(Jiao)元(Yuan)素(Su)的(De)大(Da)小(Xiao)。(?)

TreeMap要(Yao)求(Qiu)存(Cun)放(Fang)的(De)键(Jian)值(Zhi)对(Dui)映(Ying)射(She)的(De)键(Jian)必(Bi)须(Xu)实(Shi)现(Xian)Comparable接(Jie)口(Kou)从(Cong)而(?)根(Gen)据(Ju)键(Jian)对(Dui)元(Yuan)素(Su)进(Jin)行(Xing)排(Pai)序(Xu)。(?)

Collections工(Gong)具(Ju)类(Lei)的(De)sort方(Fang)法(Fa)有(You)两(Liang)种(Zhong)重(Zhong)载(Zai)的(De)形(Xing)式(Shi),(?)第(Di)一(Yi)种(Zhong)要(Yao)求(Qiu)传(Chuan)入(Ru)的(De)待(Dai)排(Pai)序(Xu)容(Rong)器(Qi)中(Zhong)存(Cun)放(Fang)的(De)对(Dui)象(Xiang)比(Bi)较(Jiao)实(Shi)现(Xian)Comparable接(Jie)口(Kou)以(Yi)实(Shi)现(Xian)元(Yuan)素(Su)的(De)比(Bi)较(Jiao);(?)第(Di)二(?)种(Zhong)不(Bu)强(Qiang)制(Zhi)性(Xing)的(De)要(Yao)求(Qiu)容(Rong)器(Qi)中(Zhong)的(De)元(Yuan)素(Su)必(Bi)须(Xu)可(Ke)比(Bi)较(Jiao),(?)但(Dan)是(Shi)要(Yao)求(Qiu)传(Chuan)入(Ru)第(Di)二(?)个(Ge)参(Can)数(Shu),(?)参(Can)数(Shu)是(Shi)Comparator接(Jie)口(Kou)的(De)子(Zi)类(Lei)型(Xing) ((?)需(Xu)要(Yao)重(Zhong)写(Xie)compare方(Fang)法(Fa)实(Shi)现(Xian)元(Yuan)素(Su)的(De)比(Bi)较(Jiao))(?),(?)相(Xiang)当(Dang)于(Yu)一(Yi)个(Ge)临(Lin)时(Shi)定(Ding)义(Yi)的(De)排(Pai)序(Xu)规(Gui)则(Ze),(?)其(Qi)实(Shi)就(Jiu)是(Shi)是(Shi)通(Tong)过(Guo)接(Jie)口(Kou)注(Zhu)入(Ru)比(Bi)较(Jiao)元(Yuan)素(Su)大(Da)小(Xiao)的(De)算(Suan)法(Fa),(?)也(Ye)是(Shi)对(Dui)回(Hui)调(Diao)模(Mo)式(Shi)的(De)应(Ying)用(Yong)。(?)

例(Li)子(Zi)1:(?)

Student.java

package com.bjsxt;

public class Student implements Comparable<Student> {
    private String name;        // 姓(Xing)名(Ming)
    private int age;            // 年(Nian)龄(Ling)
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }
    @Override
    public int compareTo(Student o) {
        return this.age - o.age; // 比(Bi)较(Jiao)年(Nian)龄(Ling)(年(Nian)龄(Ling)的(De)升(Sheng)序(Xu))
    }
  }

Test01.java

package com.bjsxt;
import java.util.Set;
import java.util.TreeSet;

class Test01 {
  public static void main(String[] args) {
        Set<Student> set = new TreeSet<>();     // Java 7的(De)钻(Zuan)石(Shi)语(Yu)法(Fa)(构(Gou)造(Zao)器(Qi)后(Hou)面(Mian)的(De)尖(Jian)括(Kuo)号(Hao)中(Zhong)不(Bu)需(Xu)要(Yao)写(Xie)类(Lei)型(Xing))
        set.add(new Student("Hao LUO", 33));
        set.add(new Student("XJ WANG", 32));
        set.add(new Student("Bruce LEE", 60));
        set.add(new Student("Bob YANG", 22));
          for(Student stu : set) {
            System.out.println(stu);
        }
//      输(Shu)出(Chu)结(Jie)果(Guo):
//      Student [name=Bob YANG, age=22]
//      Student [name=XJ WANG, age=32]
//      Student [name=Hao LUO, age=33]
//      Student [name=Bruce LEE, age=60]
    }
}

例(Li)子(Zi)2:(?)

Student.java

package com.bjsxt;

public class Student {
    private String name;    // 姓(Xing)名(Ming)
    private int age;        // 年(Nian)龄(Ling)
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
    /**
     * 获(Huo)取(Qu)学(Xue)生(Sheng)姓(Xing)名(Ming)
     */
    public String getName() {
        return name;
    }
    /**
     * 获(Huo)取(Qu)学(Xue)生(Sheng)年(Nian)龄(Ling)
     */
    public int getAge() {
        return age;
    }
    @Override
    public String toString() {
        return "Student [name=" + name + ", age=" + age + "]";
    }
  }

Test02.java

package com.bjsxt;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

  class Test02 {
   public static void main(String[] args) {
        List<Student> list = new ArrayList<>();     // Java 7的(De)钻(Zuan)石(Shi)语(Yu)法(Fa)(构(Gou)造(Zao)器(Qi)后(Hou)面(Mian)的(De)尖(Jian)括(Kuo)号(Hao)中(Zhong)不(Bu)需(Xu)要(Yao)写(Xie)类(Lei)型(Xing))
        list.add(new Student("Hao LUO", 33));
        list.add(new Student("XJ WANG", 32));
        list.add(new Student("Bruce LEE", 60));
        list.add(new Student("Bob YANG", 22));

        // 通(Tong)过(Guo)sort方(Fang)法(Fa)的(De)第(Di)二(?)个(Ge)参(Can)数(Shu)传(Chuan)入(Ru)一(Yi)个(Ge)Comparator接(Jie)口(Kou)对(Dui)象(Xiang)
        // 相(Xiang)当(Dang)于(Yu)是(Shi)传(Chuan)入(Ru)一(Yi)个(Ge)比(Bi)较(Jiao)对(Dui)象(Xiang)大(Da)小(Xiao)的(De)算(Suan)法(Fa)到(Dao)sort方(Fang)法(Fa)中(Zhong)
        // 由(You)于(Yu)Java中(Zhong)没(Mei)有(You)函(Han)数(Shu)指(Zhi)针(Zhen)、(?)仿(Fang)函(Han)数(Shu)、(?)委(Wei)托(Tuo)这(Zhe)样(Yang)的(De)概(Gai)念(Nian)
        // 因(Yin)此(Ci)要(Yao)将(Jiang)一(Yi)个(Ge)算(Suan)法(Fa)传(Chuan)入(Ru)一(Yi)个(Ge)方(Fang)法(Fa)中(Zhong)唯(Wei)一(Yi)的(De)选(Xuan)择(Ze)就(Jiu)是(Shi)通(Tong)过(Guo)接(Jie)口(Kou)回(Hui)调(Diao)
        Collections.sort(list, new Comparator<Student> () {
         @Override
            public int compare(Student o1, Student o2) {
                return o1.getName().compareTo(o2.getName());    // 比(Bi)较(Jiao)学(Xue)生(Sheng)姓(Xing)名(Ming)
            }
        });

        for(Student stu : list) {
            System.out.println(stu);
        }
//      输(Shu)出(Chu)结(Jie)果(Guo):
//      Student [name=Bob YANG, age=22]
//      Student [name=Bruce LEE, age=60]
//      Student [name=Hao LUO, age=33]
//      Student [name=XJ WANG, age=32]
    }
}

多(Duo)线(Xian)程(Cheng):(?)

223.下(Xia)面(Mian)程(Cheng)序(Xu)的(De)运(Yun)行(Xing)结(Jie)果(Guo)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?)
public static void main(String[] args) {
Thread t=new Thread(){
public void run(){
pong();
}
};
t.run();
System.out.println("ping");
}
static void pong(){
System.out.println("pong");
}
A. pingpong
B. pongping
C. pingpong和(He)pongping都(Du)有(You)可(Ke)能(Neng)
D. 都(Du)不(Bu)输(Shu)出(Chu)
答(Da)案(An):(?)B
分(Fen)析(Xi):(?)启(Qi)动(Dong)线(Xian)程(Cheng)需(Xu)要(Yao)调(Diao)用(Yong)start()方(Fang)法(Fa),(?)而(?)t.run()方(Fang)法(Fa),(?)则(Ze)是(Shi)使(Shi)用(Yong)对(Dui)象(Xiang)名(Ming).分(Fen)析(Xi):(?)启(Qi)动(Dong)线(Xian)程(Cheng)需(Xu)要(Yao)调(Diao)用(Yong)start()方(Fang)法(Fa),(?)而(?)t.run()方(Fang)法(Fa),(?)则(Ze)是(Shi)使(Shi)用(Yong)对(Dui)象(Xiang)名(Ming).
224.下(Xia)列(Lie)哪(Na)个(Ge)方(Fang)法(Fa)可(Ke)用(Yong)于(Yu)创(Chuang)建(Jian)一(Yi)个(Ge)可(Ke)运(Yun)行(Xing)的(De)类(Lei)((?))(?)
A. public class X implements Runnable{public void run() {…(?)…(?)}}
B. public class X extends Thread{public void run() {…(?)…(?)}}
C. public class X extends Thread{public int run() {…(?)…(?)}}
D. public class X implements Runnable{protected void run() {…(?)…(?)}}
答(Da)案(An):(?)AB
分(Fen)析(Xi):(?) 继(Ji)承(Cheng)Thread和(He)实(Shi)现(Xian)Runable接(Jie)口(Kou)
225.说(Shuo)明(Ming)类(Lei)java.lang.ThreadLocal的(De)作(Zuo)用(Yong)和(He)原(Yuan)理(Li)。(?)列(Lie)举(Ju)在(Zai)哪(Na)些(Xie)程(Cheng)序(Xu)中(Zhong)见(Jian)过(Guo)ThreadLocal的(De)使(Shi)用(Yong)?(?)

作(Zuo)用(Yong):(?)

要(Yao)编(Bian)写(Xie)一(Yi)个(Ge)多(Duo)线(Xian)程(Cheng)安(An)全(Quan)(Thread-safe)的(De)程(Cheng)序(Xu)是(Shi)困(Kun)难(Nan)的(De),(?)为(Wei)了(Liao)让(Rang)线(Xian)程(Cheng)共(Gong)享(Xiang)资(Zi)源(Yuan),(?)必(Bi)须(Xu)小(Xiao)心(Xin)地(Di)对(Dui)共(Gong)享(Xiang)资(Zi)源(Yuan)进(Jin)行(Xing)同(Tong)步(Bu),(?)同(Tong)步(Bu)带(Dai)来(Lai)一(Yi)定(Ding)的(De)效(Xiao)能(Neng)延(Yan)迟(Chi),(?)而(?)另(Ling)一(Yi)方(Fang)面(Mian),(?)在(Zai)处(Chu)理(Li)同(Tong)步(Bu)的(De)时(Shi)候(Hou),(?)又(You)要(Yao)注(Zhu)意(Yi)对(Dui)象(Xiang)的(De)锁(Suo)定(Ding)与(Yu)释(Shi)放(Fang),(?)避(Bi)免(Mian)产(Chan)生(Sheng)死(Si)结(Jie),(?)种(Zhong)种(Zhong)因(Yin)素(Su)都(Du)使(Shi)得(De)编(Bian)写(Xie)多(Duo)线(Xian)程(Cheng)程(Cheng)序(Xu)变(Bian)得(De)困(Kun)难(Nan)。(?)

尝(Chang)试(Shi)从(Cong)另(Ling)一(Yi)个(Ge)角(Jiao)度(Du)来(Lai)思(Si)考(Kao)多(Duo)线(Xian)程(Cheng)共(Gong)享(Xiang)资(Zi)源(Yuan)的(De)问(Wen)题(Ti),(?)既(Ji)然(Ran)共(Gong)享(Xiang)资(Zi)源(Yuan)这(Zhe)么(Me)困(Kun)难(Nan),(?)那(Na)么(Me)就(Jiu)干(Gan)脆(Cui)不(Bu)要(Yao)共(Gong)享(Xiang),(?)何(He)不(Bu)为(Wei)每(Mei)个(Ge)线(Xian)程(Cheng)创(Chuang)造(Zao)一(Yi)个(Ge)资(Zi)源(Yuan)的(De)复(Fu)本(Ben)。(?)将(Jiang)每(Mei)一(Yi)个(Ge)线(Xian)程(Cheng)存(Cun)取(Qu)数(Shu)据(Ju)的(De)行(Xing)为(Wei)加(Jia)以(Yi)隔(Ge)离(Li),(?)实(Shi)现(Xian)的(De)方(Fang)法(Fa)就(Jiu)是(Shi)给(Gei)予(Yu)每(Mei)个(Ge)线(Xian)程(Cheng)一(Yi)个(Ge)特(Te)定(Ding)空(Kong)间(Jian)来(Lai)保(Bao)管(Guan)该(Gai)线(Xian)程(Cheng)所(Suo)独(Du)享(Xiang)的(De)资(Zi)源(Yuan)。(?)

比(Bi)如(Ru):(?)在(Zai)Hibernate中(Zhong)的(De)Session就(Jiu)有(You)使(Shi)用(Yong)。(?)

ThreadLocal的(De)原(Yuan)理(Li)

ThreadLocal是(Shi)如(Ru)何(He)做(Zuo)到(Dao)为(Wei)每(Mei)一(Yi)个(Ge)线(Xian)程(Cheng)维(Wei)护(Hu)变(Bian)量(Liang)的(De)副(Fu)本(Ben)的(De)呢(Ne)?(?)其(Qi)实(Shi)实(Shi)现(Xian)的(De)思(Si)路(Lu)很(Hen)简(Jian)单(Dan),(?)在(Zai)ThreadLocal类(Lei)中(Zhong)有(You)一(Yi)个(Ge)Map,(?)用(Yong)于(Yu)存(Cun)储(Chu)每(Mei)一(Yi)个(Ge)线(Xian)程(Cheng)的(De)变(Bian)量(Liang)的(De)副(Fu)本(Ben)。(?)

226.说(Shuo)说(Shuo)乐(Le)观(Guan)锁(Suo)与(Yu)悲(Bei)观(Guan)锁(Suo)

答(Da):(?)悲(Bei)观(Guan)锁(Suo)(Pessimistic Lock), 顾(Gu)名(Ming)思(Si)义(Yi),(?)就(Jiu)是(Shi)很(Hen)悲(Bei)观(Guan),(?)每(Mei)次(Ci)去(Qu)拿(Na)数(Shu)据(Ju)的(De)时(Shi)候(Hou)都(Du)认(Ren)为(Wei)别(Bie)人(Ren)会(Hui)修(Xiu)改(Gai),(?)所(Suo)以(Yi)每(Mei)次(Ci)在(Zai)拿(Na)数(Shu)据(Ju)的(De)时(Shi)候(Hou)都(Du)会(Hui)上(Shang)锁(Suo),(?)这(Zhe)样(Yang)别(Bie)人(Ren)想(Xiang)拿(Na)这(Zhe)个(Ge)数(Shu)据(Ju)就(Jiu)会(Hui)block直(Zhi)到(Dao)它(Ta)拿(Na)到(Dao)锁(Suo)。(?)传(Chuan)统(Tong)的(De)关(Guan)系(Xi)型(Xing)数(Shu)据(Ju)库(Ku)里(Li)边(Bian)就(Jiu)用(Yong)到(Dao)了(Liao)很(Hen)多(Duo)这(Zhe)种(Zhong)锁(Suo)机(Ji)制(Zhi),(?)比(Bi)如(Ru)行(Xing)锁(Suo),(?)表(Biao)锁(Suo)等(Deng),(?)读(Du)锁(Suo),(?)写(Xie)锁(Suo)等(Deng),(?)都(Du)是(Shi)在(Zai)做(Zuo)操(Cao)作(Zuo)之(Zhi)前(Qian)先(Xian)上(Shang)锁(Suo)。(?)

乐(Le)观(Guan)锁(Suo)(Optimistic Lock), 顾(Gu)名(Ming)思(Si)义(Yi),(?)就(Jiu)是(Shi)很(Hen)乐(Le)观(Guan),(?)每(Mei)次(Ci)去(Qu)拿(Na)数(Shu)据(Ju)的(De)时(Shi)候(Hou)都(Du)认(Ren)为(Wei)别(Bie)人(Ren)不(Bu)会(Hui)修(Xiu)改(Gai),(?)所(Suo)以(Yi)不(Bu)会(Hui)上(Shang)锁(Suo),(?)但(Dan)是(Shi)在(Zai)更(Geng)新(Xin)的(De)时(Shi)候(Hou)会(Hui)判(Pan)断(Duan)一(Yi)下(Xia)在(Zai)此(Ci)期(Qi)间(Jian)别(Bie)人(Ren)有(You)没(Mei)有(You)去(Qu)更(Geng)新(Xin)这(Zhe)个(Ge)数(Shu)据(Ju),(?)可(Ke)以(Yi)使(Shi)用(Yong)版(Ban)本(Ben)号(Hao)等(Deng)机(Ji)制(Zhi)。(?)乐(Le)观(Guan)锁(Suo)适(Shi)用(Yong)于(Yu)多(Duo)读(Du)的(De)应(Ying)用(Yong)类(Lei)型(Xing),(?)这(Zhe)样(Yang)可(Ke)以(Yi)提(Ti)高(Gao)吞(Tun)吐(Tu)量(Liang),(?)像(Xiang)数(Shu)据(Ju)库(Ku)如(Ru)果(Guo)提(Ti)供(Gong)类(Lei)似(Si)于(Yu)write_condition机(Ji)制(Zhi)的(De)其(Qi)实(Shi)都(Du)是(Shi)提(Ti)供(Gong)的(De)乐(Le)观(Guan)锁(Suo)。(?)

两(Liang)种(Zhong)锁(Suo)各(Ge)有(You)优(You)缺(Que)点(Dian),(?)不(Bu)可(Ke)认(Ren)为(Wei)一(Yi)种(Zhong)好(Hao)于(Yu)另(Ling)一(Yi)种(Zhong),(?)像(Xiang)乐(Le)观(Guan)锁(Suo)适(Shi)用(Yong)于(Yu)写(Xie)比(Bi)较(Jiao)少(Shao)的(De)情(Qing)况(Kuang)下(Xia),(?)即(Ji)冲(Chong)突(Tu)真(Zhen)的(De)很(Hen)少(Shao)发(Fa)生(Sheng)的(De)时(Shi)候(Hou),(?)这(Zhe)样(Yang)可(Ke)以(Yi)省(Sheng)去(Qu)了(Liao)锁(Suo)的(De)开(Kai)销(Xiao),(?)加(Jia)大(Da)了(Liao)系(Xi)统(Tong)的(De)整(Zheng)个(Ge)吞(Tun)吐(Tu)量(Liang)。(?)但(Dan)如(Ru)果(Guo)经(Jing)常(Chang)产(Chan)生(Sheng)冲(Chong)突(Tu),(?)上(Shang)层(Ceng)应(Ying)用(Yong)会(Hui)不(Bu)断(Duan)的(De)进(Jin)行(Xing)retry,(?)这(Zhe)样(Yang)反(Fan)倒(Dao)是(Shi)降(Jiang)低(Di)了(Liao)性(Xing)能(Neng),(?)所(Suo)以(Yi)这(Zhe)种(Zhong)情(Qing)况(Kuang)下(Xia)用(Yong)悲(Bei)观(Guan)锁(Suo)就(Jiu)比(Bi)较(Jiao)合(He)适(Shi)。(?)

227.在(Zai)Java中(Zhong)怎(Zen)么(Me)实(Shi)现(Xian)多(Duo)线(Xian)程(Cheng)?描(Miao)述(Shu)线(Xian)程(Cheng)状(Zhuang)态(Tai)的(De)变(Bian)化(Hua)过(Guo)程(Cheng)。(?)

答(Da):(?)当(Dang)多(Duo)个(Ge)线(Xian)程(Cheng)访(Fang)问(Wen)同(Tong)一(Yi)个(Ge)数(Shu)据(Ju)时(Shi),(?)容(Rong)易(Yi)出(Chu)现(Xian)线(Xian)程(Cheng)安(An)全(Quan)问(Wen)题(Ti),(?)需(Xu)要(Yao)某(Mou)种(Zhong)方(Fang)式(Shi)来(Lai)确(Que)保(Bao)资(Zi)源(Yuan)在(Zai)某(Mou)一(Yi)时(Shi)刻(Ke)只(Zhi)被(Bei)一(Yi)个(Ge)线(Xian)程(Cheng)使(Shi)用(Yong)。(?)需(Xu)要(Yao)让(Rang)线(Xian)程(Cheng)同(Tong)步(Bu),(?)保(Bao)证(Zheng)数(Shu)据(Ju)安(An)全(Quan)线(Xian)程(Cheng)同(Tong)步(Bu)的(De)实(Shi)现(Xian)方(Fang)案(An):(?) 同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai)和(He)同(Tong)步(Bu)方(Fang)法(Fa),(?)均(Jun)需(Xu)要(Yao)使(Shi)用(Yong)synchronized关(Guan)键(Jian)字(Zi)

同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai):(?)public void makeWithdrawal(int amt) {

synchronized (acct) { }

}

同(Tong)步(Bu)方(Fang)法(Fa):(?)public synchronized void makeWithdrawal(int amt) { }

线(Xian)程(Cheng)同(Tong)步(Bu)的(De)好(Hao)处(Chu):(?)解(Jie)决(Jue)了(Liao)线(Xian)程(Cheng)安(An)全(Quan)问(Wen)题(Ti)

线(Xian)程(Cheng)同(Tong)步(Bu)的(De)缺(Que)点(Dian):(?)性(Xing)能(Neng)下(Xia)降(Jiang),(?)可(Ke)能(Neng)会(Hui)带(Dai)来(Lai)死(Si)锁(Suo)

228.请(Qing)写(Xie)出(Chu)多(Duo)线(Xian)程(Cheng)代(Dai)码(Ma)使(Shi)用(Yong)Thread或(Huo)者(Zhe)Runnable,(?)并(Bing)说(Shuo)出(Chu)两(Liang)种(Zhong)的(De)区(Qu)别(Bie)。(?)

方(Fang)式(Shi)1:(?)继(Ji)承(Cheng)Java.lang.Thread类(Lei),(?)并(Bing)覆(Fu)盖(Gai)run() 方(Fang)法(Fa)。(?)优(You)势(Shi):(?)编(Bian)写(Xie)简(Jian)单(Dan);(?)劣(Lie)势(Shi):(?)无(Wu)法(Fa)继(Ji)承(Cheng)其(Qi)它(Ta)父(Fu)类(Lei)

public class ThreadDemo1 {
public static void main(String args[]) {
MyThread1 t = new MyThread1();
t.start();
while (true) {
System.out.println("兔(Tu)子(Zi)领(Ling)先(Xian)了(Liao),(?)别(Bie)骄(Jiao)傲(Ao)");
}
}
}
class MyThread1 extends Thread {
public void run() {
while (true) {
System.out.println("乌(Wu)龟(Gui)领(Ling)先(Xian)了(Liao),(?)加(Jia)油(You)");
}
}
}

方(Fang)式(Shi)2:(?)实(Shi)现(Xian)Java.lang.Runnable接(Jie)口(Kou),(?)并(Bing)实(Shi)现(Xian)run()方(Fang)法(Fa)。(?)优(You)势(Shi):(?)可(Ke)继(Ji)承(Cheng)其(Qi)它(Ta)类(Lei),(?)多(Duo)线(Xian)程(Cheng)可(Ke)共(Gong)享(Xiang)同(Tong)一(Yi)个(Ge)Thread对(Dui)象(Xiang);(?)劣(Lie)势(Shi):(?)编(Bian)程(Cheng)方(Fang)式(Shi)稍(Shao)微(Wei)复(Fu)杂(Za),(?)如(Ru)需(Xu)访(Fang)问(Wen)当(Dang)前(Qian)线(Xian)程(Cheng),(?)需(Xu)调(Diao)用(Yong)Thread.currentThread()方(Fang)法(Fa)

public class ThreadDemo2 {
public static void main(String args[]) {
MyThread2 mt = new MyThread2();
Thread t = new Thread(mt);
t.start();
while (true) {
System.out.println("兔(Tu)子(Zi)领(Ling)先(Xian)了(Liao),(?)加(Jia)油(You)");
}
}
}
class MyThread2 implements Runnable {
public void run() {
while (true) {
System.out.println("乌(Wu)龟(Gui)超(Chao)过(Guo)了(Liao),(?)再(Zai)接(Jie)再(Zai)厉(Li)");
}
}
}
229.在(Zai)多(Duo)线(Xian)程(Cheng)编(Bian)程(Cheng)里(Li),(?)wait方(Fang)法(Fa)的(De)调(Diao)用(Yong)方(Fang)式(Shi)是(Shi)怎(Zen)样(Yang)的(De)?(?)

答(Da):wait方(Fang)法(Fa)是(Shi)线(Xian)程(Cheng)通(Tong)信(Xin)的(De)方(Fang)法(Fa)之(Zhi)一(Yi),(?)必(Bi)须(Xu)用(Yong)在(Zai) synchronized方(Fang)法(Fa)或(Huo)者(Zhe)synchronized代(Dai)码(Ma)块(Kuai)中(Zhong),(?)否(Fou)则(Ze)会(Hui)抛(Pao)出(Chu)异(Yi)常(Chang),(?)这(Zhe)就(Jiu)涉(She)及(Ji)到(Dao)一(Yi)个(Ge)“(?)锁(Suo)”(?)的(De)概(Gai)念(Nian),(?)而(?)wait方(Fang)法(Fa)必(Bi)须(Xu)使(Shi)用(Yong)上(Shang)锁(Suo)的(De)对(Dui)象(Xiang)来(Lai)调(Diao)用(Yong),(?)从(Cong)而(?)持(Chi)有(You)该(Gai)对(Dui)象(Xiang)的(De)锁(Suo)进(Jin)入(Ru)线(Xian)程(Cheng)等(Deng)待(Dai)状(Zhuang)态(Tai),(?)直(Zhi)到(Dao)使(Shi)用(Yong)该(Gai)上(Shang)锁(Suo)的(De)对(Dui)象(Xiang)调(Diao)用(Yong)notify或(Huo)者(Zhe)notifyAll方(Fang)法(Fa)来(Lai)唤(Huan)醒(Xing)之(Zhi)前(Qian)进(Jin)入(Ru)等(Deng)待(Dai)的(De)线(Xian)程(Cheng),(?)以(Yi)释(Shi)放(Fang)持(Chi)有(You)的(De)锁(Suo)。(?)

230.Java线(Xian)程(Cheng)的(De)几(Ji)种(Zhong)状(Zhuang)态(Tai)

答(Da):线(Xian)程(Cheng)是(Shi)一(Yi)个(Ge)动(Dong)态(Tai)执(Zhi)行(Xing)的(De)过(Guo)程(Cheng),(?)它(Ta)有(You)一(Yi)个(Ge)从(Cong)产(Chan)生(Sheng)到(Dao)死(Si)亡(Wang)的(De)过(Guo)程(Cheng),(?)共(Gong)五(Wu)种(Zhong)状(Zhuang)态(Tai):(?)

新(Xin)建(Jian)((?)new Thread)(?)

当(Dang)创(Chuang)建(Jian)Thread类(Lei)的(De)一(Yi)个(Ge)实(Shi)例(Li)((?)对(Dui)象(Xiang))(?)时(Shi),(?)此(Ci)线(Xian)程(Cheng)进(Jin)入(Ru)新(Xin)建(Jian)状(Zhuang)态(Tai)((?)未(Wei)被(Bei)启(Qi)动(Dong))(?)

例(Li)如(Ru):(?)Thread t1=new Thread();

就(Jiu)绪(Xu)((?)runnable)(?)

线(Xian)程(Cheng)已(Yi)经(Jing)被(Bei)启(Qi)动(Dong),(?)正(Zheng)在(Zai)等(Deng)待(Dai)被(Bei)分(Fen)配(Pei)给(Gei)CPU时(Shi)间(Jian)片(Pian),(?)也(Ye)就(Jiu)是(Shi)说(Shuo)此(Ci)时(Shi)线(Xian)程(Cheng)正(Zheng)在(Zai)就(Jiu)绪(Xu)队(Dui)列(Lie)中(Zhong)排(Pai)队(Dui)等(Deng)候(Hou)得(De)到(Dao)CPU资(Zi)源(Yuan)。(?)例(Li)如(Ru):(?)t1.start();

运(Yun)行(Xing)((?)running)(?)

线(Xian)程(Cheng)获(Huo)得(De)CPU资(Zi)源(Yuan)正(Zheng)在(Zai)执(Zhi)行(Xing)任(Ren)务(Wu)((?)run()方(Fang)法(Fa))(?),(?)此(Ci)时(Shi)除(Chu)非(Fei)此(Ci)线(Xian)程(Cheng)自(Zi)动(Dong)放(Fang)弃(Qi)CPU资(Zi)源(Yuan)或(Huo)者(Zhe)有(You)优(You)先(Xian)级(Ji)更(Geng)高(Gao)的(De)线(Xian)程(Cheng)进(Jin)入(Ru),(?)线(Xian)程(Cheng)将(Jiang)一(Yi)直(Zhi)运(Yun)行(Xing)到(Dao)结(Jie)束(Shu)。(?)

死(Si)亡(Wang)((?)dead)(?)

当(Dang)线(Xian)程(Cheng)执(Zhi)行(Xing)完(Wan)毕(Bi)或(Huo)被(Bei)其(Qi)它(Ta)线(Xian)程(Cheng)杀(Sha)死(Si),(?)线(Xian)程(Cheng)就(Jiu)进(Jin)入(Ru)死(Si)亡(Wang)状(Zhuang)态(Tai),(?)这(Zhe)时(Shi)线(Xian)程(Cheng)不(Bu)可(Ke)能(Neng)再(Zai)进(Jin)入(Ru)就(Jiu)绪(Xu)状(Zhuang)态(Tai)等(Deng)待(Dai)执(Zhi)行(Xing)。(?)

自(Zi)然(Ran)终(Zhong)止(Zhi):(?)正(Zheng)常(Chang)运(Yun)行(Xing)run()方(Fang)法(Fa)后(Hou)终(Zhong)止(Zhi)

异(Yi)常(Chang)终(Zhong)止(Zhi):(?)调(Diao)用(Yong)stop()方(Fang)法(Fa)让(Rang)一(Yi)个(Ge)线(Xian)程(Cheng)终(Zhong)止(Zhi)运(Yun)行(Xing)

堵(Du)塞(Sai)((?)blocked)(?)

由(You)于(Yu)某(Mou)种(Zhong)原(Yuan)因(Yin)导(Dao)致(Zhi)正(Zheng)在(Zai)运(Yun)行(Xing)的(De)线(Xian)程(Cheng)让(Rang)出(Chu)CPU并(Bing)暂(Zan)停(Ting)自(Zi)己(Ji)的(De)执(Zhi)行(Xing),(?)即(Ji)进(Jin)入(Ru)堵(Du)塞(Sai)状(Zhuang)态(Tai)。(?)

正(Zheng)在(Zai)睡(Shui)眠(Mian):(?)用(Yong)sleep(long t) 方(Fang)法(Fa)可(Ke)使(Shi)线(Xian)程(Cheng)进(Jin)入(Ru)睡(Shui)眠(Mian)方(Fang)式(Shi)。(?)一(Yi)个(Ge)睡(Shui)眠(Mian)着(Zhuo)的(De)线(Xian)程(Cheng)在(Zai)指(Zhi)定(Ding)的(De)时(Shi)间(Jian)过(Guo)去(Qu)可(Ke)进(Jin)入(Ru)就(Jiu)绪(Xu)状(Zhuang)态(Tai)。(?)

正(Zheng)在(Zai)等(Deng)待(Dai):(?)调(Diao)用(Yong)wait()方(Fang)法(Fa)。(?)((?)调(Diao)用(Yong)motify()方(Fang)法(Fa)回(Hui)到(Dao)就(Jiu)绪(Xu)状(Zhuang)态(Tai))(?)

被(Bei)另(Ling)一(Yi)个(Ge)线(Xian)程(Cheng)所(Suo)阻(Zu)塞(Sai):(?)调(Diao)用(Yong)suspend()方(Fang)法(Fa)。(?)((?)调(Diao)用(Yong)resume()方(Fang)法(Fa)恢(Hui)复(Fu))(?)

231.在(Zai)Java多(Duo)线(Xian)程(Cheng)中(Zhong),(?)请(Qing)用(Yong)下(Xia)面(Mian)哪(Na)种(Zhong)方(Fang)式(Shi)不(Bu)会(Hui)使(Shi)线(Xian)程(Cheng)进(Jin)入(Ru)阻(Zu)塞(Sai)状(Zhuang)态(Tai)((?))(?)
A. sleep()
B. Suspend()
C. wait()
D. yield()
答(Da)案(An):(?)D
分(Fen)析(Xi):(?)yield会(Hui)是(Shi)线(Xian)程(Cheng)进(Jin)入(Ru)就(Jiu)绪(Xu)状(Zhuang)态(Tai)
232.volatile关(Guan)键(Jian)字(Zi)是(Shi)否(Fou)能(Neng)保(Bao)证(Zheng)线(Xian)程(Cheng)安(An)全(Quan)?(?)

答(Da):不(Bu)能(Neng)。(?)虽(Sui)然(Ran)volatile提(Ti)供(Gong)了(Liao)同(Tong)步(Bu)的(De)机(Ji)制(Zhi),(?)但(Dan)是(Shi)知(Zhi)识(Shi)一(Yi)种(Zhong)弱(Ruo)的(De)同(Tong)步(Bu)机(Ji)制(Zhi),(?)如(Ru)需(Xu)要(Yao)强(Qiang)线(Xian)程(Cheng)安(An)全(Quan),(?)还(Huan)需(Xu)要(Yao)使(Shi)用(Yong)synchronized。(?)

Java语(Yu)言(Yan)提(Ti)供(Gong)了(Liao)一(Yi)种(Zhong)稍(Shao)弱(Ruo)的(De)同(Tong)步(Bu)机(Ji)制(Zhi),(?)即(Ji)volatile变(Bian)量(Liang),(?)用(Yong)来(Lai)确(Que)保(Bao)将(Jiang)变(Bian)量(Liang)的(De)更(Geng)新(Xin)操(Cao)作(Zuo)通(Tong)知(Zhi)到(Dao)其(Qi)他(Ta)线(Xian)程(Cheng)。(?)当(Dang)把(Ba)变(Bian)量(Liang)声(Sheng)明(Ming)为(Wei)volatile类(Lei)型(Xing)后(Hou),(?)编(Bian)译(Yi)器(Qi)与(Yu)运(Yun)行(Xing)时(Shi)都(Du)会(Hui)注(Zhu)意(Yi)到(Dao)这(Zhe)个(Ge)变(Bian)量(Liang)是(Shi)共(Gong)享(Xiang)的(De),(?)因(Yin)此(Ci)不(Bu)会(Hui)将(Jiang)该(Gai)变(Bian)量(Liang)上(Shang)的(De)操(Cao)作(Zuo)与(Yu)其(Qi)他(Ta)内(Nei)存(Cun)操(Cao)作(Zuo)一(Yi)起(Qi)重(Zhong)排(Pai)序(Xu)。(?)volatile变(Bian)量(Liang)不(Bu)会(Hui)被(Bei)缓(Huan)存(Cun)在(Zai)寄(Ji)存(Cun)器(Qi)或(Huo)者(Zhe)对(Dui)其(Qi)他(Ta)处(Chu)理(Li)器(Qi)不(Bu)可(Ke)见(Jian)的(De)地(Di)方(Fang),(?)因(Yin)此(Ci)在(Zai)读(Du)取(Qu)volatile类(Lei)型(Xing)的(De)变(Bian)量(Liang)时(Shi)总(Zong)会(Hui)返(Fan)回(Hui)最(Zui)新(Xin)写(Xie)入(Ru)的(De)值(Zhi)。(?)

一(Yi)、(?)volatile的(De)内(Nei)存(Cun)语(Yu)义(Yi)是(Shi):(?)

当(Dang)写(Xie)一(Yi)个(Ge)volatile变(Bian)量(Liang)时(Shi),(?)JMM会(Hui)把(Ba)该(Gai)线(Xian)程(Cheng)对(Dui)应(Ying)的(De)本(Ben)地(Di)内(Nei)存(Cun)中(Zhong)的(De)共(Gong)享(Xiang)变(Bian)量(Liang)值(Zhi)立(Li)即(Ji)刷(Shua)新(Xin)到(Dao)主(Zhu)内(Nei)存(Cun)中(Zhong)。(?)

当(Dang)读(Du)一(Yi)个(Ge)volatile变(Bian)量(Liang)时(Shi),(?)JMM会(Hui)把(Ba)该(Gai)线(Xian)程(Cheng)对(Dui)应(Ying)的(De)本(Ben)地(Di)内(Nei)存(Cun)设(She)置(Zhi)为(Wei)无(Wu)效(Xiao),(?)直(Zhi)接(Jie)从(Cong)主(Zhu)内(Nei)存(Cun)中(Zhong)读(Du)取(Qu)共(Gong)享(Xiang)变(Bian)量(Liang)。(?)

二(?)、(?)volatile底(Di)层(Ceng)的(De)实(Shi)现(Xian)机(Ji)制(Zhi)

如(Ru)果(Guo)把(Ba)加(Jia)入(Ru)volatile关(Guan)键(Jian)字(Zi)的(De)代(Dai)码(Ma)和(He)未(Wei)加(Jia)入(Ru)volatile关(Guan)键(Jian)字(Zi)的(De)代(Dai)码(Ma)都(Du)生(Sheng)成(Cheng)汇(Hui)编(Bian)代(Dai)码(Ma),(?)会(Hui)发(Fa)现(Xian)加(Jia)入(Ru)volatile关(Guan)键(Jian)字(Zi)的(De)代(Dai)码(Ma)会(Hui)多(Duo)出(Chu)一(Yi)个(Ge)lock前(Qian)缀(Zhui)指(Zhi)令(Ling)。(?)

1 、(?)重(Zhong)排(Pai)序(Xu)时(Shi)不(Bu)能(Neng)把(Ba)后(Hou)面(Mian)的(De)指(Zhi)令(Ling)重(Zhong)排(Pai)序(Xu)到(Dao)内(Nei)存(Cun)屏(Ping)障(Zhang)之(Zhi)前(Qian)的(De)位(Wei)置(Zhi)

2、(?)使(Shi)得(De)本(Ben)CPU的(De)Cache写(Xie)入(Ru)内(Nei)存(Cun)

3、(?)写(Xie)入(Ru)动(Dong)作(Zuo)也(Ye)会(Hui)引(Yin)起(Qi)别(Bie)的(De)CPU或(Huo)者(Zhe)别(Bie)的(De)内(Nei)核(He)无(Wu)效(Xiao)化(Hua)其(Qi)Cache,(?)相(Xiang)当(Dang)于(Yu)让(Rang)新(Xin)写(Xie)入(Ru)的(De)值(Zhi)对(Dui)别(Bie)的(De)线(Xian)程(Cheng)可(Ke)见(Jian)。(?)

233.请(Qing)写(Xie)出(Chu)常(Chang)用(Yong)的(De)Java多(Duo)线(Xian)程(Cheng)启(Qi)动(Dong)方(Fang)式(Shi),(?)Executors线(Xian)程(Cheng)池(Chi)有(You)几(Ji)种(Zhong)常(Chang)用(Yong)类(Lei)型(Xing)?(?)

(1) 继(Ji)承(Cheng)Thread类(Lei)

public class java_thread extends Thread{
    public static void main(String args[]) {
        new java_thread().run();
        System.out.println("main thread run ");
    }
    public synchronized  void run() {
        System.out.println("sub thread run ");
    }
}

(2) 实(Shi)现(Xian)Runnable接(Jie)口(Kou)

public class java_thread implements Runnable{
    public static void main(String args[]) {
        new Thread(new java_thread()).start();
        System.out.println("main thread run ");
    }
    public void run() {
        System.out.println("sub thread run ");
    }
}

在(Zai)Executor框(Kuang)架(Jia)下(Xia),(?)利(Li)用(Yong)Executors的(De)静(Jing)态(Tai)方(Fang)法(Fa)可(Ke)以(Yi)创(Chuang)建(Jian)三(San)种(Zhong)类(Lei)型(Xing)的(De)常(Chang)用(Yong)线(Xian)程(Cheng)池(Chi):(?)

1)(?)FixedThreadPool这(Zhe)个(Ge)线(Xian)程(Cheng)池(Chi)可(Ke)以(Yi)创(Chuang)建(Jian)固(Gu)定(Ding)线(Xian)程(Cheng)数(Shu)的(De)线(Xian)程(Cheng)池(Chi)。(?)

2)(?)SingleThreadExecutor是(Shi)使(Shi)用(Yong)单(Dan)个(Ge)worker线(Xian)程(Cheng)的(De)Executor。(?)

3)(?)CachedThreadPool是(Shi)一(Yi)个(Ge)”(?)无(Wu)限(Xian)“(?)容(Rong)量(Liang)的(De)线(Xian)程(Cheng)池(Chi),(?)它(Ta)会(Hui)根(Gen)据(Ju)需(Xu)要(Yao)创(Chuang)建(Jian)新(Xin)线(Xian)程(Cheng)。(?)

234.关(Guan)于(Yu)sleep()和(He)wait(),(?)以(Yi)下(Xia)描(Miao)述(Shu)错(Cuo)误(Wu)的(De)一(Yi)项(Xiang)是(Shi)((?))(?)
A. sleep是(Shi)线(Xian)程(Cheng)类(Lei)((?)Thread)(?)的(De)方(Fang)法(Fa),(?)wait是(Shi)Object类(Lei)的(De)方(Fang)法(Fa)
B. Sleep不(Bu)释(Shi)放(Fang)对(Dui)象(Xiang)锁(Suo),(?)wait放(Fang)弃(Qi)对(Dui)象(Xiang)锁(Suo)
C. Sleep暂(Zan)停(Ting)线(Xian)程(Cheng)、(?)但(Dan)监(Jian)控(Kong)状(Zhuang)态(Tai)任(Ren)然(Ran)保(Bao)持(Chi),(?)结(Jie)束(Shu)后(Hou)会(Hui)自(Zi)动(Dong)恢(Hui)复(Fu)
D. Wait后(Hou)进(Jin)入(Ru)等(Deng)待(Dai)锁(Suo)定(Ding)池(Chi),(?)只(Zhi)针(Zhen)对(Dui)此(Ci)对(Dui)象(Xiang)发(Fa)出(Chu)notify方(Fang)法(Fa)后(Hou)获(Huo)取(Qu)对(Dui)象(Xiang)锁(Suo)进(Jin)入(Ru)运(Yun)行(Xing)状(Zhuang)态(Tai)。(?)
答(Da)案(An):(?)D
分(Fen)析(Xi):(?)针(Zhen)对(Dui)此(Ci)对(Dui)象(Xiang)的(De)notify方(Fang)法(Fa)后(Hou)获(Huo)取(Qu)对(Dui)象(Xiang)锁(Suo)并(Bing)进(Jin)入(Ru)就(Jiu)绪(Xu)状(Zhuang)态(Tai),(?)而(?)不(Bu)是(Shi)运(Yun)行(Xing)状(Zhuang)态(Tai)。(?)另(Ling)外(Wai)针(Zhen)对(Dui)此(Ci)对(Dui)象(Xiang)的(De)notifyAll方(Fang)法(Fa)后(Hou)也(Ye)可(Ke)能(Neng)获(Huo)取(Qu)对(Dui)象(Xiang)锁(Suo)并(Bing)进(Jin)入(Ru)就(Jiu)绪(Xu)状(Zhuang)态(Tai),(?)而(?)不(Bu)是(Shi)运(Yun)行(Xing)状(Zhuang)态(Tai)
235.进(Jin)程(Cheng)和(He)线(Xian)程(Cheng)的(De)区(Qu)别(Bie)是(Shi)什(Shi)么(Me)?(?)

进(Jin)程(Cheng)是(Shi)具(Ju)有(You)一(Yi)定(Ding)独(Du)立(Li)功(Gong)能(Neng)的(De)程(Cheng)序(Xu)关(Guan)于(Yu)某(Mou)个(Ge)数(Shu)据(Ju)集(Ji)合(He)上(Shang)的(De)一(Yi)次(Ci)运(Yun)行(Xing)活(Huo)动(Dong),进(Jin)程(Cheng)是(Shi)系(Xi)统(Tong)进(Jin)行(Xing)资(Zi)源(Yuan)分(Fen)配(Pei)和(He)调(Diao)度(Du)的(De)一(Yi)个(Ge)独(Du)立(Li)单(Dan)位(Wei).

线(Xian)程(Cheng)是(Shi)进(Jin)程(Cheng)的(De)一(Yi)个(Ge)实(Shi)体(Ti),是(Shi)CPU调(Diao)度(Du)和(He)分(Fen)派(Pai)的(De)基(Ji)本(Ben)单(Dan)位(Wei),它(Ta)是(Shi)比(Bi)进(Jin)程(Cheng)更(Geng)小(Xiao)的(De)能(Neng)独(Du)立(Li)运(Yun)行(Xing)的(De)基(Ji)本(Ben)单(Dan)位(Wei).线(Xian)程(Cheng)自(Zi)己(Ji)基(Ji)本(Ben)上(Shang)不(Bu)拥(Yong)有(You)系(Xi)统(Tong)资(Zi)源(Yuan),只(Zhi)拥(Yong)有(You)一(Yi)点(Dian)在(Zai)运(Yun)行(Xing)中(Zhong)必(Bi)不(Bu)可(Ke)少(Shao)的(De)资(Zi)源(Yuan)(如(Ru)程(Cheng)序(Xu)计(Ji)数(Shu)器(Qi),一(Yi)组(Zu)寄(Ji)存(Cun)器(Qi)和(He)栈(Zhan)),但(Dan)是(Shi)它(Ta)可(Ke)与(Yu)同(Tong)属(Shu)一(Yi)个(Ge)进(Jin)程(Cheng)的(De)其(Qi)他(Ta)的(De)线(Xian)程(Cheng)共(Gong)享(Xiang)进(Jin)程(Cheng)所(Suo)拥(Yong)有(You)的(De)全(Quan)部(Bu)资(Zi)源(Yuan).

区(Qu)别(Bie) 进(Jin)程(Cheng) 线(Xian)程(Cheng)
根(Gen)本(Ben)区(Qu)别(Bie) 作(Zuo)为(Wei)资(Zi)源(Yuan)分(Fen)配(Pei)的(De)单(Dan)位(Wei) 调(Diao)度(Du)和(He)执(Zhi)行(Xing)的(De)单(Dan)位(Wei)
开(Kai)销(Xiao) 每(Mei)个(Ge)进(Jin)程(Cheng)都(Du)有(You)独(Du)立(Li)的(De)代(Dai)码(Ma)和(He)数(Shu)据(Ju)空(Kong)间(Jian)(进(Jin)程(Cheng)上(Shang)下(Xia)文(Wen)),(?)进(Jin)程(Cheng)间(Jian)的(De)切(Qie)换(Huan)会(Hui)有(You)较(Jiao)大(Da)的(De)开(Kai)销(Xiao)。(?) 线(Xian)程(Cheng)可(Ke)以(Yi)看(Kan)成(Cheng)时(Shi)轻(Qing)量(Liang)级(Ji)的(De)进(Jin)程(Cheng),(?)同(Tong)一(Yi)类(Lei)线(Xian)程(Cheng)共(Gong)享(Xiang)代(Dai)码(Ma)和(He)数(Shu)据(Ju)空(Kong)间(Jian),(?)每(Mei)个(Ge)线(Xian)程(Cheng)有(You)独(Du)立(Li)的(De)运(Yun)行(Xing)栈(Zhan)和(He)程(Cheng)序(Xu)计(Ji)数(Shu)器(Qi)(PC),(?)线(Xian)程(Cheng)切(Qie)换(Huan)的(De)开(Kai)销(Xiao)小(Xiao)。(?)
所(Suo)处(Chu)环(Huan)境(Jing) 系(Xi)统(Tong)在(Zai)运(Yun)行(Xing)的(De)时(Shi)候(Hou)会(Hui)为(Wei)每(Mei)个(Ge)进(Jin)程(Cheng)分(Fen)配(Pei)不(Bu)同(Tong)的(De)内(Nei)存(Cun)区(Qu)域(Yu) 除(Chu)了(Liao)CPU之(Zhi)外(Wai),(?)不(Bu)会(Hui)为(Wei)线(Xian)程(Cheng)分(Fen)配(Pei)内(Nei)存(Cun)((?)线(Xian)程(Cheng)所(Suo)使(Shi)用(Yong)的(De)资(Zi)源(Yuan)是(Shi)它(Ta)所(Suo)属(Shu)的(De)进(Jin)程(Cheng)的(De)资(Zi)源(Yuan))(?),(?)线(Xian)程(Cheng)组(Zu)只(Zhi)能(Neng)共(Gong)享(Xiang)资(Zi)源(Yuan)
分(Fen)配(Pei)内(Nei)存(Cun) 系(Xi)统(Tong)在(Zai)运(Yun)行(Xing)的(De)时(Shi)候(Hou)会(Hui)为(Wei)每(Mei)个(Ge)进(Jin)程(Cheng)分(Fen)配(Pei)不(Bu)同(Tong)的(De)内(Nei)存(Cun)区(Qu)域(Yu) 除(Chu)了(Liao)CPU之(Zhi)外(Wai),(?)不(Bu)会(Hui)为(Wei)线(Xian)程(Cheng)分(Fen)配(Pei)内(Nei)存(Cun)((?)线(Xian)程(Cheng)所(Suo)使(Shi)用(Yong)的(De)资(Zi)源(Yuan)是(Shi)它(Ta)所(Suo)属(Shu)的(De)进(Jin)程(Cheng)的(De)资(Zi)源(Yuan))(?),(?)线(Xian)程(Cheng)组(Zu)只(Zhi)能(Neng)共(Gong)享(Xiang)资(Zi)源(Yuan)
包(Bao)含(Han)关(Guan)系(Xi) 没(Mei)有(You)线(Xian)程(Cheng)的(De)进(Jin)程(Cheng)是(Shi)可(Ke)以(Yi)被(Bei)看(Kan)作(Zuo)单(Dan)线(Xian)程(Cheng)的(De),(?)如(Ru)果(Guo)一(Yi)个(Ge)进(Jin)程(Cheng)内(Nei)拥(Yong)有(You)多(Duo)个(Ge)线(Xian)程(Cheng),(?)则(Ze)执(Zhi)行(Xing)过(Guo)程(Cheng)不(Bu)是(Shi)一(Yi)条(Tiao)线(Xian)的(De),(?)而(?)是(Shi)多(Duo)条(Tiao)线(Xian)((?)线(Xian)程(Cheng))(?)共(Gong)同(Tong)完(Wan)成(Cheng)的(De)。(?) 线(Xian)程(Cheng)是(Shi)进(Jin)程(Cheng)的(De)一(Yi)部(Bu)分(Fen),(?)所(Suo)以(Yi)线(Xian)程(Cheng)有(You)的(De)时(Shi)候(Hou)被(Bei)称(Cheng)为(Wei)是(Shi)轻(Qing)权(Quan)进(Jin)程(Cheng)或(Huo)者(Zhe)轻(Qing)量(Liang)级(Ji)进(Jin)程(Cheng)。(?)
236.以(Yi)下(Xia)锁(Suo)机(Ji)机(Ji)制(Zhi)中(Zhong),(?)不(Bu)能(Neng)保(Bao)证(Zheng)线(Xian)程(Cheng)安(An)全(Quan)的(De)是(Shi)((?))(?)
A. Lock
B. Synchronized
C. Volatile
答(Da)案(An):(?)C
237.创(Chuang)建(Jian)n多(Duo)个(Ge)线(Xian)程(Cheng),(?)如(Ru)何(He)保(Bao)证(Zheng)这(Zhe)些(Xie)线(Xian)程(Cheng)同(Tong)时(Shi)启(Qi)动(Dong)?(?)看(Kan)清(Qing),(?)是(Shi)“(?)同(Tong)时(Shi)”(?)。(?)

答(Da):(?)用(Yong)一(Yi)个(Ge)for循(Xun)环(Huan)创(Chuang)建(Jian)线(Xian)程(Cheng)对(Dui)象(Xiang),(?)同(Tong)时(Shi)调(Diao)用(Yong)wait()方(Fang)法(Fa),(?)让(Rang)所(Suo)有(You)线(Xian)程(Cheng)等(Deng)待(Dai);(?)直(Zhi)到(Dao)最(Zui)后(Hou)一(Yi)个(Ge)线(Xian)程(Cheng)也(Ye)准(Zhun)备(Bei)就(Jiu)绪(Xu)后(Hou),(?)调(Diao)用(Yong)notifyAll(), 同(Tong)时(Shi)启(Qi)动(Dong)所(Suo)有(You)线(Xian)程(Cheng)。(?)

比(Bi)如(Ru):(?)给(Gei)你(Ni)n个(Ge)赛(Sai)车(Che),(?)让(Rang)他(Ta)们(Men)都(Du)在(Zai)起(Qi)跑(Pao)线(Xian)上(Shang)就(Jiu)绪(Xu)后(Hou),(?)同(Tong)时(Shi)出(Chu)发(Fa),(?)Java多(Duo)线(Xian)程(Cheng)如(Ru)何(He)写(Xie)代(Dai)码(Ma)?(?)

思(Si)路(Lu)是(Shi),(?)来(Lai)一(Yi)辆(Liang)赛(Sai)车(Che)就(Jiu)加(Jia)上(Shang)一(Yi)把(Ba)锁(Suo),(?)并(Bing)修(Xiu)改(Gai)对(Dui)应(Ying)的(De)操(Cao)作(Zuo)数(Shu),(?)如(Ru)果(Guo)没(Mei)有(You)全(Quan)部(Bu)就(Jiu)绪(Xu)就(Jiu)等(Deng)待(Dai),(?)并(Bing)释(Shi)放(Fang)锁(Suo),(?)直(Zhi)到(Dao)最(Zui)后(Hou)一(Yi)辆(Liang)赛(Sai)车(Che)到(Dao)场(Chang)后(Hou)唤(Huan)醒(Xing)所(Suo)有(You)的(De)赛(Sai)车(Che)线(Xian)程(Cheng)。(?)代(Dai)码(Ma)参(Can)考(Kao)如(Ru)下(Xia):(?)

public class CarCompetion {
    // 参(Can)赛(Sai)赛(Sai)车(Che)的(De)数(Shu)量(Liang)
    protected final int totalCarNum = 10;
    // 当(Dang)前(Qian)在(Zai)起(Qi)跑(Pao)线(Xian)的(De)赛(Sai)车(Che)数(Shu)量(Liang)
    protected int nowCarNum = 0;
}
public class Car implements Runnable{
    private int carNum;
    private CarCompetion competion = null;
    public Car(int carNum, CarCompetion competion) {
        this.carNum = carNum;
        this.competion = competion;
    }
    @Override
    public void run() {
        synchronized (competion) {
            competion.nowCarNum++;
            while (competion.nowCarNum < competion.totalCarNum) {
                try {
                    competion.wait();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
            competion.notifyAll();
        }
        startCar();
    }
    private void startCar() {
        System.out.println("Car num " + this.carNum + " start to run.");
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("Car num " + this.carNum + " get to the finish line.");
    }
}
public static void main(String[] args) {
    CarCompetion carCompetion = new CarCompetion();
    final ExecutorService carPool =
        Executors.newFixedThreadPool(carCompetion.totalCarNum);
    for (int i = 0; i < carCompetion.totalCarNum; i++) {
        carPool.execute(new Car(i, carCompetion));

}
238.同(Tong)步(Bu)和(He)异(Yi)步(Bu)有(You)何(He)异(Yi)同(Tong),(?)在(Zai)什(Shi)么(Me)情(Qing)况(Kuang)下(Xia)分(Fen)别(Bie)使(Shi)用(Yong)它(Ta)们(Men)?(?)

答(Da):(?)1.如(Ru)果(Guo)数(Shu)据(Ju)将(Jiang)在(Zai)线(Xian)程(Cheng)间(Jian)共(Gong)享(Xiang)。(?)例(Li)如(Ru)正(Zheng)在(Zai)写(Xie)的(De)数(Shu)据(Ju)以(Yi)后(Hou)可(Ke)能(Neng)被(Bei)另(Ling)一(Yi)个(Ge)线(Xian)程(Cheng)读(Du)到(Dao),(?)或(Huo)者(Zhe)正(Zheng)在(Zai)读(Du)的(De)数(Shu)据(Ju)可(Ke)能(Neng)已(Yi)经(Jing)被(Bei)另(Ling)一(Yi)个(Ge)线(Xian)程(Cheng)写(Xie)过(Guo)了(Liao),(?)那(Na)么(Me)这(Zhe)些(Xie)数(Shu)据(Ju)就(Jiu)是(Shi)共(Gong)享(Xiang)数(Shu)据(Ju),(?)必(Bi)须(Xu)进(Jin)行(Xing)同(Tong)步(Bu)存(Cun)取(Qu)。(?)

2.当(Dang)应(Ying)用(Yong)程(Cheng)序(Xu)在(Zai)对(Dui)象(Xiang)上(Shang)调(Diao)用(Yong)了(Liao)一(Yi)个(Ge)需(Xu)要(Yao)花(Hua)费(Fei)很(Hen)长(Chang)时(Shi)间(Jian)来(Lai)执(Zhi)行(Xing)的(De)方(Fang)法(Fa),(?)并(Bing)且(Qie)不(Bu)希(Xi)望(Wang)让(Rang)程(Cheng)序(Xu)等(Deng)待(Dai)方(Fang)法(Fa)的(De)返(Fan)回(Hui)时(Shi),(?)就(Jiu)应(Ying)该(Gai)使(Shi)用(Yong)异(Yi)步(Bu)编(Bian)程(Cheng),(?)在(Zai)很(Hen)多(Duo)情(Qing)况(Kuang)下(Xia)采(Cai)用(Yong)异(Yi)步(Bu)途(Tu)径(Jing)往(Wang)往(Wang)更(Geng)有(You)效(Xiao)率(Lu)。(?)

3.举(Ju)个(Ge)例(Li)子(Zi): 打(Da)电(Dian)话(Hua)是(Shi)同(Tong)步(Bu) 发(Fa)消(Xiao)息(Xi)是(Shi)异(Yi)步(Bu)

239.Java线(Xian)程(Cheng)中(Zhong),(?)sleep()和(He)wait()区(Qu)别(Bie)

答(Da):(?)sleep是(Shi)线(Xian)程(Cheng)类(Lei)(Thread)的(De)方(Fang)法(Fa);(?)作(Zuo)用(Yong)是(Shi)导(Dao)致(Zhi)此(Ci)线(Xian)程(Cheng)暂(Zan)停(Ting)执(Zhi)行(Xing)指(Zhi)定(Ding)时(Shi)间(Jian),(?)给(Gei)执(Zhi)行(Xing)机(Ji)会(Hui)给(Gei)其(Qi)他(Ta)线(Xian)程(Cheng),(?)但(Dan)是(Shi)监(Jian)控(Kong)状(Zhuang)态(Tai)依(Yi)然(Ran)保(Bao)持(Chi),(?)到(Dao)时(Shi)后(Hou)会(Hui)自(Zi)动(Dong)恢(Hui)复(Fu);(?)调(Diao)用(Yong)sleep()不(Bu)会(Hui)释(Shi)放(Fang)对(Dui)象(Xiang)锁(Suo)。(?)

wait是(Shi)Object类(Lei)的(De)方(Fang)法(Fa);(?)对(Dui)此(Ci)对(Dui)象(Xiang)调(Diao)用(Yong)wait方(Fang)法(Fa)导(Dao)致(Zhi)本(Ben)线(Xian)程(Cheng)放(Fang)弃(Qi)对(Dui)象(Xiang)锁(Suo),(?)进(Jin)入(Ru)等(Deng) 待(Dai)此(Ci)对(Dui)象(Xiang)的(De)等(Deng)待(Dai)锁(Suo)定(Ding)池(Chi)。(?)只(Zhi)有(You)针(Zhen)对(Dui)此(Ci)对(Dui)象(Xiang)发(Fa)出(Chu)notify方(Fang)法(Fa)(或(Huo)notifyAll)后(Hou)本(Ben)线(Xian)程(Cheng)才(Cai)进(Jin)入(Ru)对(Dui)象(Xiang)锁(Suo)定(Ding)池(Chi),(?)准(Zhun)备(Bei)获(Huo)得(De)对(Dui)象(Xiang)锁(Suo)进(Jin)行(Xing)运(Yun)行(Xing)状(Zhuang)态(Tai)。(?)

240.下(Xia)面(Mian)所(Suo)述(Shu)步(Bu)骤(Zhou)中(Zhong),(?)是(Shi)创(Chuang)建(Jian)进(Jin)程(Cheng)做(Zuo)必(Bi)须(Xu)的(De)步(Bu)骤(Zhou)是(Shi)((?))(?)
A. 由(You)调(Diao)度(Du)程(Cheng)序(Xu)为(Wei)进(Jin)程(Cheng)分(Fen)配(Pei)CPU
B. 建(Jian)立(Li)一(Yi)个(Ge)进(Jin)程(Cheng)控(Kong)制(Zhi)块(Kuai)
C. 为(Wei)进(Jin)程(Cheng)分(Fen)配(Pei)内(Nei)存(Cun)
D. 为(Wei)进(Jin)程(Cheng)分(Fen)配(Pei)文(Wen)件(Jian)描(Miao)述(Shu)符(Fu)
答(Da)案(An):(?)BC
241.无(Wu)锁(Suo)化(Hua)编(Bian)程(Cheng)有(You)哪(Na)些(Xie)常(Chang)见(Jian)方(Fang)法(Fa)?(?)((?))(?)
A. 针(Zhen)对(Dui)计(Ji)数(Shu)器(Qi),(?)可(Ke)以(Yi)使(Shi)用(Yong)原(Yuan)子(Zi)加(Jia)
B. 只(Zhi)有(You)一(Yi)个(Ge)生(Sheng)产(Chan)者(Zhe)和(He)一(Yi)个(Ge)消(Xiao)费(Fei)者(Zhe),(?)那(Na)么(Me)就(Jiu)可(Ke)以(Yi)做(Zuo)到(Dao)免(Mian)锁(Suo)访(Fang)问(Wen)环(Huan)形(Xing)缓(Huan)冲(Chong)区(Qu)((?)Ring Buffer)(?)
C. RCU((?)Read-Copy-Update)(?),(?)新(Xin)旧(Jiu)副(Fu)本(Ben)切(Qie)换(Huan)机(Ji)制(Zhi),(?)对(Dui)于(Yu)旧(Jiu)副(Fu)本(Ben)可(Ke)以(Yi)采(Cai)用(Yong)延(Yan)迟(Chi)释(Shi)放(Fang)的(De)做(Zuo)法(Fa)
D. CAS((?)Compare-and-Swap)(?),(?)如(Ru)无(Wu)锁(Suo)栈(Zhan),(?)无(Wu)锁(Suo)队(Dui)列(Lie)等(Deng)待(Dai)
答(Da)案(An):(?)D
分(Fen)析(Xi):(?)A 这(Zhe)方(Fang)法(Fa)虽(Sui)然(Ran)不(Bu)太(Tai)好(Hao),(?)但(Dan)是(Shi)常(Chang)见(Jian)
B ProducerConsumerQueue就(Jiu)是(Shi)这(Zhe)个(Ge),(?)到(Dao)处(Chu)都(Du)是(Shi)
C linux kernel里(Li)面(Mian)大(Da)量(Liang)使(Shi)用(Yong)
D 本(Ben)质(Zhi)上(Shang)其(Qi)实(Shi)就(Jiu)是(Shi)乐(Le)观(Guan)锁(Suo),(?)操(Cao)作(Zuo)起(Qi)来(Lai)很(Hen)困(Kun)难(Nan)。(?)。(?)单(Dan)生(Sheng)产(Chan)者(Zhe)多(Duo)消(Xiao)费(Fei)者(Zhe)或(Huo)者(Zhe)多(Duo)生(Sheng)产(Chan)者(Zhe)单(Dan)消(Xiao)费(Fei)者(Zhe)的(De)情(Qing)况(Kuang)下(Xia)比(Bi)较(Jiao)常(Chang)见(Jian),(?)也(Ye)不(Bu)容(Rong)易(Yi)遇(Yu)到(Dao)ABA问(Wen)题(Ti)。(?)
242.sleep()和(He)yield()有(You)什(Shi)么(Me)区(Qu)别(Bie)?

答(Da):(?)①(?) sleep()方(Fang)法(Fa)给(Gei)其(Qi)他(Ta)线(Xian)程(Cheng)运(Yun)行(Xing)机(Ji)会(Hui)时(Shi)不(Bu)考(Kao)虑(Lu)线(Xian)程(Cheng)的(De)优(You)先(Xian)级(Ji),(?)因(Yin)此(Ci)会(Hui)给(Gei)低(Di)优(You)先(Xian)级(Ji)的(De)线(Xian)程(Cheng)以(Yi)运(Yun)行(Xing)的(De)机(Ji)会(Hui);(?)yield()方(Fang)法(Fa)只(Zhi)会(Hui)给(Gei)相(Xiang)同(Tong)优(You)先(Xian)级(Ji)或(Huo)更(Geng)高(Gao)优(You)先(Xian)级(Ji)的(De)线(Xian)程(Cheng)以(Yi)运(Yun)行(Xing)的(De)机(Ji)会(Hui);(?)

②(?) 线(Xian)程(Cheng)执(Zhi)行(Xing)sleep()方(Fang)法(Fa)后(Hou)转(Zhuan)入(Ru)阻(Zu)塞(Sai)((?)blocked)(?)状(Zhuang)态(Tai),(?)而(?)执(Zhi)行(Xing)yield()方(Fang)法(Fa)后(Hou)转(Zhuan)入(Ru)就(Jiu)绪(Xu)((?)ready)(?)状(Zhuang)态(Tai);(?)

③(?) sleep()方(Fang)法(Fa)声(Sheng)明(Ming)抛(Pao)出(Chu)InterruptedException,(?)而(?)yield()方(Fang)法(Fa)没(Mei)有(You)声(Sheng)明(Ming)任(Ren)何(He)异(Yi)常(Chang);(?)

④(?) sleep()方(Fang)法(Fa)比(Bi)yield()方(Fang)法(Fa)((?)跟(Gen)操(Cao)作(Zuo)系(Xi)统(Tong)相(Xiang)关(Guan))(?)具(Ju)有(You)更(Geng)好(Hao)的(De)可(Ke)移(Yi)植(Zhi)性(Xing)。(?)

243.当(Dang)一(Yi)个(Ge)线(Xian)程(Cheng)进(Jin)入(Ru)一(Yi)个(Ge)对(Dui)象(Xiang)的(De)synchronized方(Fang)法(Fa)A之(Zhi)后(Hou),(?)其(Qi)它(Ta)线(Xian)程(Cheng)是(Shi)否(Fou)可(Ke)进(Jin)入(Ru)此(Ci)对(Dui)象(Xiang)的(De)synchronized方(Fang)法(Fa)?(?)

答(Da):(?)不(Bu)能(Neng)。(?)其(Qi)它(Ta)线(Xian)程(Cheng)只(Zhi)能(Neng)访(Fang)问(Wen)该(Gai)对(Dui)象(Xiang)的(De)非(Fei)同(Tong)步(Bu)方(Fang)法(Fa),(?)同(Tong)步(Bu)方(Fang)法(Fa)则(Ze)不(Bu)能(Neng)进(Jin)入(Ru)。(?)只(Zhi)有(You)等(Deng)待(Dai)当(Dang)前(Qian)线(Xian)程(Cheng)执(Zhi)行(Xing)完(Wan)毕(Bi)释(Shi)放(Fang)锁(Suo)资(Zi)源(Yuan)之(Zhi)后(Hou),(?)其(Qi)他(Ta)线(Xian)程(Cheng)才(Cai)有(You)可(Ke)能(Neng)进(Jin)行(Xing)执(Zhi)行(Xing)该(Gai)同(Tong)步(Bu)方(Fang)法(Fa)!(?)

延(Yan)伸(Shen) 对(Dui)象(Xiang)锁(Suo)分(Fen)为(Wei)三(San)种(Zhong):(?)共(Gong)享(Xiang)资(Zi)源(Yuan)、(?)this、(?)当(Dang)前(Qian)类(Lei)的(De)字(Zi)节(Jie)码(Ma)文(Wen)件(Jian)对(Dui)象(Xiang)

244.请(Qing)说(Shuo)出(Chu)与(Yu)线(Xian)程(Cheng)同(Tong)步(Bu)相(Xiang)关(Guan)的(De)方(Fang)法(Fa)。(?)

答(Da):(?)1. wait():使(Shi)一(Yi)个(Ge)线(Xian)程(Cheng)处(Chu)于(Yu)等(Deng)待(Dai)((?)阻(Zu)塞(Sai))(?)状(Zhuang)态(Tai),(?)并(Bing)且(Qie)释(Shi)放(Fang)所(Suo)持(Chi)有(You)的(De)对(Dui)象(Xiang)的(De)锁(Suo);(?)

2. sleep():使(Shi)一(Yi)个(Ge)正(Zheng)在(Zai)运(Yun)行(Xing)的(De)线(Xian)程(Cheng)处(Chu)于(Yu)睡(Shui)眠(Mian)状(Zhuang)态(Tai),(?)是(Shi)一(Yi)个(Ge)静(Jing)态(Tai)方(Fang)法(Fa),(?)调(Diao)用(Yong)此(Ci)方(Fang)法(Fa)要(Yao)捕(Bu)捉(Zhuo)InterruptedException 异(Yi)常(Chang);(?)

3. notify():唤(Huan)醒(Xing)一(Yi)个(Ge)处(Chu)于(Yu)等(Deng)待(Dai)状(Zhuang)态(Tai)的(De)线(Xian)程(Cheng),(?)当(Dang)然(Ran)在(Zai)调(Diao)用(Yong)此(Ci)方(Fang)法(Fa)的(De)时(Shi)候(Hou),(?)并(Bing)不(Bu)能(Neng)确(Que)切(Qie)的(De)唤(Huan)醒(Xing)某(Mou)一(Yi)个(Ge)等(Deng)待(Dai)状(Zhuang)态(Tai)的(De)线(Xian)程(Cheng),(?)而(?)是(Shi)由(You)JVM确(Que)定(Ding)唤(Huan)醒(Xing)哪(Na)个(Ge)线(Xian)程(Cheng),(?)而(?)且(Qie)与(Yu)优(You)先(Xian)级(Ji)无(Wu)关(Guan);(?)

4. notityAll():唤(Huan)醒(Xing)所(Suo)有(You)处(Chu)入(Ru)等(Deng)待(Dai)状(Zhuang)态(Tai)的(De)线(Xian)程(Cheng),(?)注(Zhu)意(Yi)并(Bing)不(Bu)是(Shi)给(Gei)所(Suo)有(You)唤(Huan)醒(Xing)线(Xian)程(Cheng)一(Yi)个(Ge)对(Dui)象(Xiang)的(De)锁(Suo),(?)而(?)是(Shi)让(Rang)它(Ta)们(Men)竞(Jing)争(Zheng);(?)

5. JDK 1.5通(Tong)过(Guo)Lock接(Jie)口(Kou)提(Ti)供(Gong)了(Liao)显(Xian)式(Shi)(explicit)的(De)锁(Suo)机(Ji)制(Zhi),(?)增(Zeng)强(Qiang)了(Liao)灵(Ling)活(Huo)性(Xing)以(Yi)及(Ji)对(Dui)线(Xian)程(Cheng)的(De)协(Xie)调(Diao)。(?)Lock接(Jie)口(Kou)中(Zhong)定(Ding)义(Yi)了(Liao)加(Jia)锁(Suo)((?)lock())(?)和(He)解(Jie)锁(Suo)(unlock())的(De)方(Fang)法(Fa),(?)同(Tong)时(Shi)还(Huan)提(Ti)供(Gong)了(Liao)newCondition()方(Fang)法(Fa)来(Lai)产(Chan)生(Sheng)用(Yong)于(Yu)线(Xian)程(Cheng)之(Zhi)间(Jian)通(Tong)信(Xin)的(De)Condition对(Dui)象(Xiang);(?)

6. JDK 1.5还(Huan)提(Ti)供(Gong)了(Liao)信(Xin)号(Hao)量(Liang)(semaphore)机(Ji)制(Zhi),(?)信(Xin)号(Hao)量(Liang)可(Ke)以(Yi)用(Yong)来(Lai)限(Xian)制(Zhi)对(Dui)某(Mou)个(Ge)共(Gong)享(Xiang)资(Zi)源(Yuan)进(Jin)行(Xing)访(Fang)问(Wen)的(De)线(Xian)程(Cheng)的(De)数(Shu)量(Liang)。(?)在(Zai)对(Dui)资(Zi)源(Yuan)进(Jin)行(Xing)访(Fang)问(Wen)之(Zhi)前(Qian),(?)线(Xian)程(Cheng)必(Bi)须(Xu)得(De)到(Dao)信(Xin)号(Hao)量(Liang)的(De)许(Xu)可(Ke)((?)调(Diao)用(Yong)Semaphore对(Dui)象(Xiang)的(De)acquire()方(Fang)法(Fa))(?);(?)在(Zai)完(Wan)成(Cheng)对(Dui)资(Zi)源(Yuan)的(De)访(Fang)问(Wen)后(Hou),(?)线(Xian)程(Cheng)必(Bi)须(Xu)向(Xiang)信(Xin)号(Hao)量(Liang)归(Gui)还(Huan)许(Xu)可(Ke)((?)调(Diao)用(Yong)Semaphore对(Dui)象(Xiang)的(De)release()方(Fang)法(Fa))(?)。(?)

下(Xia)面(Mian)的(De)例(Li)子(Zi)演(Yan)示(Shi)了(Liao)100个(Ge)线(Xian)程(Cheng)同(Tong)时(Shi)向(Xiang)一(Yi)个(Ge)银(Yin)行(Xing)账(Zhang)户(Hu)中(Zhong)存(Cun)入(Ru)1元(Yuan)钱(Qian),(?)在(Zai)没(Mei)有(You)使(Shi)用(Yong)同(Tong)步(Bu)机(Ji)制(Zhi)和(He)使(Shi)用(Yong)同(Tong)步(Bu)机(Ji)制(Zhi)情(Qing)况(Kuang)下(Xia)的(De)执(Zhi)行(Xing)情(Qing)况(Kuang)。(?)

银(Yin)行(Xing)账(Zhang)户(Hu)类(Lei):(?)

package com.bjsxt;
/**
 * 银(Yin)行(Xing)账(Zhang)户(Hu)
 * @author sxt
 *
 */
public class Account {
    private double balance;     // 账(Zhang)户(Hu)余(Yu)额(E)
    /**
     * 存(Cun)款(Kuan)
     * @param money 存(Cun)入(Ru)金(Jin)额(E)
     */
    public void deposit(double money) {
        double newBalance = balance + money;
        try {
            Thread.sleep(10);   // 模(Mo)拟(Ni)此(Ci)业(Ye)务(Wu)需(Xu)要(Yao)一(Yi)段(Duan)处(Chu)理(Li)时(Shi)间(Jian)
        }
        catch(InterruptedException ex) {
            ex.printStackTrace();
        }
        balance = newBalance;
    }
    /**
     * 获(Huo)得(De)账(Zhang)户(Hu)余(Yu)额(E)
     */
    public double getBalance() {
        return balance;
    }
}

存(Cun)钱(Qian)线(Xian)程(Cheng)类(Lei):(?)

package com.bjsxt;
/**
 * 存(Cun)钱(Qian)线(Xian)程(Cheng)
 * @author sxt李(Li)端(Duan)阳(Yang)
 *
 */
public class AddMoneyThread implements Runnable {
    private Account account;    // 存(Cun)入(Ru)账(Zhang)户(Hu)
    private double money;       // 存(Cun)入(Ru)金(Jin)额(E)

    public AddMoneyThread(Account account, double money) {
        this.account = account;
        this.money = money;
    }

    @Override
    public void run() {
        account.deposit(money);
    }
 }

测(Ce)试(Shi)类(Lei):(?)

package com.bjsxt;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

 public class Test01 {
public static void main(String[] args) {
        Account account = new Account();
        ExecutorService service = Executors.newFixedThreadPool(100);
        for(int i = 1; i <= 100; i++) {
            service.execute(new AddMoneyThread(account, 1));
        }
        service.shutdown();
        while(!service.isTerminated()) {}
        System.out.println("账(Zhang)户(Hu)余(Yu)额(E): " + account.getBalance());
    }
}

在(Zai)没(Mei)有(You)同(Tong)步(Bu)的(De)情(Qing)况(Kuang)下(Xia),(?)执(Zhi)行(Xing)结(Jie)果(Guo)通(Tong)常(Chang)是(Shi)显(Xian)示(Shi)账(Zhang)户(Hu)余(Yu)额(E)在(Zai)10元(Yuan)以(Yi)下(Xia),(?)出(Chu)现(Xian)这(Zhe)种(Zhong)状(Zhuang)况(Kuang)的(De)原(Yuan)因(Yin)是(Shi),(?)当(Dang)一(Yi)个(Ge)线(Xian)程(Cheng)A试(Shi)图(Tu)存(Cun)入(Ru)1元(Yuan)的(De)时(Shi)候(Hou),(?)另(Ling)外(Wai)一(Yi)个(Ge)线(Xian)程(Cheng)B也(Ye)能(Neng)够(Gou)进(Jin)入(Ru)存(Cun)款(Kuan)的(De)方(Fang)法(Fa)中(Zhong),(?)线(Xian)程(Cheng)B读(Du)取(Qu)到(Dao)的(De)账(Zhang)户(Hu)余(Yu)额(E)仍(Reng)然(Ran)是(Shi)线(Xian)程(Cheng)A存(Cun)入(Ru)1元(Yuan)钱(Qian)之(Zhi)前(Qian)的(De)账(Zhang)户(Hu)余(Yu)额(E),(?)因(Yin)此(Ci)也(Ye)是(Shi)在(Zai)原(Yuan)来(Lai)的(De)余(Yu)额(E)0上(Shang)面(Mian)做(Zuo)了(Liao)加(Jia)1元(Yuan)的(De)操(Cao)作(Zuo),(?)同(Tong)理(Li)线(Xian)程(Cheng)C也(Ye)会(Hui)做(Zuo)类(Lei)似(Si)的(De)事(Shi)情(Qing),(?)所(Suo)以(Yi)最(Zui)后(Hou)100个(Ge)线(Xian)程(Cheng)执(Zhi)行(Xing)结(Jie)束(Shu)时(Shi),(?)本(Ben)来(Lai)期(Qi)望(Wang)账(Zhang)户(Hu)余(Yu)额(E)为(Wei)100元(Yuan),(?)但(Dan)实(Shi)际(Ji)得(De)到(Dao)的(De)通(Tong)常(Chang)在(Zai)10元(Yuan)以(Yi)下(Xia)。(?)解(Jie)决(Jue)这(Zhe)个(Ge)问(Wen)题(Ti)的(De)办(Ban)法(Fa)就(Jiu)是(Shi)同(Tong)步(Bu),(?)当(Dang)一(Yi)个(Ge)线(Xian)程(Cheng)对(Dui)银(Yin)行(Xing)账(Zhang)户(Hu)存(Cun)钱(Qian)时(Shi),(?)需(Xu)要(Yao)将(Jiang)此(Ci)账(Zhang)户(Hu)锁(Suo)定(Ding),(?)待(Dai)其(Qi)操(Cao)作(Zuo)完(Wan)成(Cheng)后(Hou)才(Cai)允(Yun)许(Xu)其(Qi)他(Ta)的(De)线(Xian)程(Cheng)进(Jin)行(Xing)操(Cao)作(Zuo),(?)代(Dai)码(Ma)有(You)如(Ru)下(Xia)几(Ji)种(Zhong)调(Diao)整(Zheng)方(Fang)案(An):(?)

1. 在(Zai)银(Yin)行(Xing)账(Zhang)户(Hu)的(De)存(Cun)款(Kuan)((?)deposit)(?)方(Fang)法(Fa)上(Shang)同(Tong)步(Bu)((?)synchronized)(?)关(Guan)键(Jian)字(Zi)

package com.bjsxt;
/**
 * 银(Yin)行(Xing)账(Zhang)户(Hu)
 * @author SXT李(Li)端(Duan)阳(Yang)
*/
public class Account {
    private double balance;     // 账(Zhang)户(Hu)余(Yu)额(E)
    /**
     * 存(Cun)款(Kuan)
     * @param money 存(Cun)入(Ru)金(Jin)额(E)
     */
    public synchronized void deposit(double money) {
        double newBalance = balance + money;
        try {
            Thread.sleep(10);   // 模(Mo)拟(Ni)此(Ci)业(Ye)务(Wu)需(Xu)要(Yao)一(Yi)段(Duan)处(Chu)理(Li)时(Shi)间(Jian)
        }
        catch(InterruptedException ex) {
            ex.printStackTrace();
        }
        balance = newBalance;
    }

    /**
     * 获(Huo)得(De)账(Zhang)户(Hu)余(Yu)额(E)
     */
    public double getBalance() {
        return balance;
    }
}

2. 在(Zai)线(Xian)程(Cheng)调(Diao)用(Yong)存(Cun)款(Kuan)方(Fang)法(Fa)时(Shi)对(Dui)银(Yin)行(Xing)账(Zhang)户(Hu)进(Jin)行(Xing)同(Tong)步(Bu)

package com.bjsxt;
/**
 * 存(Cun)钱(Qian)线(Xian)程(Cheng)
 * @author SXT
 *
 */
public class AddMoneyThread implements Runnable {
    private Account account;    // 存(Cun)入(Ru)账(Zhang)户(Hu)
    private double money;       // 存(Cun)入(Ru)金(Jin)额(E)

    public AddMoneyThread(Account account, double money) {
        this.account = account;
        this.money = money;
    }
    @Override
    public void run() {
        synchronized (account) {
            account.deposit(money);
        }
    }
}

3. 通(Tong)过(Guo)JDK 1.5显(Xian)示(Shi)的(De)锁(Suo)机(Ji)制(Zhi),(?)为(Wei)每(Mei)个(Ge)银(Yin)行(Xing)账(Zhang)户(Hu)创(Chuang)建(Jian)一(Yi)个(Ge)锁(Suo)对(Dui)象(Xiang),(?)在(Zai)存(Cun)款(Kuan)操(Cao)作(Zuo)进(Jin)行(Xing)加(Jia)锁(Suo)和(He)解(Jie)锁(Suo)的(De)操(Cao)作(Zuo)

package com.bjsxt;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

/**
 * 银(Yin)行(Xing)账(Zhang)户(Hu)
 *
 * @author SXT李(Li)端(Duan)阳(Yang)
 *
 */
public class Account {
    private Lock accountLock = new ReentrantLock();
    private double balance; // 账(Zhang)户(Hu)余(Yu)额(E)
   /**
     * 存(Cun)款(Kuan)
     *
     * @param money
     *            存(Cun)入(Ru)金(Jin)额(E)
     */
    public void deposit(double money) {
        accountLock.lock();
        try {
            double newBalance = balance + money;
            try {
                Thread.sleep(10); // 模(Mo)拟(Ni)此(Ci)业(Ye)务(Wu)需(Xu)要(Yao)一(Yi)段(Duan)处(Chu)理(Li)时(Shi)间(Jian)
            }
            catch (InterruptedException ex) {
                ex.printStackTrace();
            }
            balance = newBalance;
        }
        finally {
            accountLock.unlock();
        }
    }
    /**
     * 获(Huo)得(De)账(Zhang)户(Hu)余(Yu)额(E)
     */
    public double getBalance() {
        return balance;
    }
}

按(An)照(Zhao)上(Shang)述(Shu)三(San)种(Zhong)方(Fang)式(Shi)对(Dui)代(Dai)码(Ma)进(Jin)行(Xing)修(Xiu)改(Gai)后(Hou),(?)重(Zhong)写(Xie)执(Zhi)行(Xing)测(Ce)试(Shi)代(Dai)码(Ma)Test01,(?)将(Jiang)看(Kan)到(Dao)最(Zui)终(Zhong)的(De)账(Zhang)户(Hu)余(Yu)额(E)为(Wei)100元(Yuan)。(?)

245.编(Bian)写(Xie)多(Duo)线(Xian)程(Cheng)程(Cheng)序(Xu)有(You)几(Ji)种(Zhong)实(Shi)现(Xian)方(Fang)式(Shi)?(?)

答(Da):(?)Java 5以(Yi)前(Qian)实(Shi)现(Xian)多(Duo)线(Xian)程(Cheng)有(You)两(Liang)种(Zhong)实(Shi)现(Xian)方(Fang)法(Fa):(?)一(Yi)种(Zhong)是(Shi)继(Ji)承(Cheng)Thread类(Lei);(?)另(Ling)一(Yi)种(Zhong)是(Shi)实(Shi)现(Xian)Runnable接(Jie)口(Kou)。(?)两(Liang)种(Zhong)方(Fang)式(Shi)都(Du)要(Yao)通(Tong)过(Guo)重(Zhong)写(Xie)run()方(Fang)法(Fa)来(Lai)定(Ding)义(Yi)线(Xian)程(Cheng)的(De)行(Xing)为(Wei),(?)推(Tui)荐(Jian)使(Shi)用(Yong)后(Hou)者(Zhe),(?)因(Yin)为(Wei)Java中(Zhong)的(De)继(Ji)承(Cheng)是(Shi)单(Dan)继(Ji)承(Cheng),(?)一(Yi)个(Ge)类(Lei)有(You)一(Yi)个(Ge)父(Fu)类(Lei),(?)如(Ru)果(Guo)继(Ji)承(Cheng)了(Liao)Thread类(Lei)就(Jiu)无(Wu)法(Fa)再(Zai)继(Ji)承(Cheng)其(Qi)他(Ta)类(Lei)了(Liao),(?)同(Tong)时(Shi)也(Ye)可(Ke)以(Yi)实(Shi)现(Xian)资(Zi)源(Yuan)共(Gong)享(Xiang),(?)显(Xian)然(Ran)使(Shi)用(Yong)Runnable接(Jie)口(Kou)更(Geng)为(Wei)灵(Ling)活(Huo)。(?)

补(Bu)充(Chong):(?)Java 5以(Yi)后(Hou)创(Chuang)建(Jian)线(Xian)程(Cheng)还(Huan)有(You)第(Di)三(San)种(Zhong)方(Fang)式(Shi):(?)实(Shi)现(Xian)Callable接(Jie)口(Kou),(?)该(Gai)接(Jie)口(Kou)中(Zhong)的(De)call方(Fang)法(Fa)可(Ke)以(Yi)在(Zai)线(Xian)程(Cheng)执(Zhi)行(Xing)结(Jie)束(Shu)时(Shi)产(Chan)生(Sheng)一(Yi)个(Ge)返(Fan)回(Hui)值(Zhi),(?)代(Dai)码(Ma)如(Ru)下(Xia)所(Suo)示(Shi):(?)

package com.bjsxt;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

  class MyTask implements Callable<Integer> {
    private int upperBounds;

    public MyTask(int upperBounds) {
        this.upperBounds = upperBounds;
    }

    @Override
    public Integer call() throws Exception {
        int sum = 0;
        for(int i = 1; i <= upperBounds; i++) {
            sum += i;
        }
        return sum;
    }

}

public class Test {
  public static void main(String[] args) throws Exception {
        List<Future<Integer>> list = new ArrayList<>();
        ExecutorService service = Executors.newFixedThreadPool(10);
        for(int i = 0; i < 10; i++) {
        list.add(service.submit(new MyTask((int) (Math.random() * 100))));
        }
        int sum = 0;
        for(Future<Integer> future : list) {
            while(!future.isDone()) ;
            sum += future.get();
        }
          System.out.println(sum);
    }
}
246.synchronized关(Guan)键(Jian)字(Zi)的(De)用(Yong)法(Fa)?(?)

答(Da):(?)synchronized关(Guan)键(Jian)字(Zi)可(Ke)以(Yi)将(Jiang)对(Dui)象(Xiang)或(Huo)者(Zhe)方(Fang)法(Fa)标(Biao)记(Ji)为(Wei)同(Tong)步(Bu),(?)以(Yi)实(Shi)现(Xian)对(Dui)对(Dui)象(Xiang)和(He)方(Fang)法(Fa)的(De)互(Hu)斥(Chi)访(Fang)问(Wen),(?)可(Ke)以(Yi)用(Yong)synchronized(对(Dui)象(Xiang)) { …(?) }定(Ding)义(Yi)同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai),(?)或(Huo)者(Zhe)在(Zai)声(Sheng)明(Ming)方(Fang)法(Fa)时(Shi)将(Jiang)synchronized作(Zuo)为(Wei)方(Fang)法(Fa)的(De)修(Xiu)饰(Shi)符(Fu)。(?)在(Zai)第(Di)60题(Ti)的(De)例(Li)子(Zi)中(Zhong)已(Yi)经(Jing)展(Zhan)示(Shi)了(Liao)synchronized关(Guan)键(Jian)字(Zi)的(De)用(Yong)法(Fa)。(?)

247.启(Qi)动(Dong)一(Yi)个(Ge)线(Xian)程(Cheng)是(Shi)用(Yong)run()还(Huan)是(Shi)start()方(Fang)法(Fa)?

答(Da):(?)启(Qi)动(Dong)一(Yi)个(Ge)线(Xian)程(Cheng)是(Shi)调(Diao)用(Yong)start()方(Fang)法(Fa),(?)使(Shi)线(Xian)程(Cheng)所(Suo)代(Dai)表(Biao)的(De)虚(Xu)拟(Ni)处(Chu)理(Li)机(Ji)处(Chu)于(Yu)可(Ke)运(Yun)行(Xing)状(Zhuang)态(Tai),(?)这(Zhe)意(Yi)味(Wei)着(Zhuo)它(Ta)可(Ke)以(Yi)由(You)JVM 调(Diao)度(Du)并(Bing)执(Zhi)行(Xing),(?)这(Zhe)并(Bing)不(Bu)意(Yi)味(Wei)着(Zhuo)线(Xian)程(Cheng)就(Jiu)会(Hui)立(Li)即(Ji)运(Yun)行(Xing)。(?)run()方(Fang)法(Fa)是(Shi)线(Xian)程(Cheng)启(Qi)动(Dong)后(Hou)要(Yao)进(Jin)行(Xing)回(Hui)调(Diao)((?)callback)(?)的(De)方(Fang)法(Fa)。(?)

API解(Jie)释(Shi)如(Ru)下(Xia):(?)

248.什(Shi)么(Me)是(Shi)线(Xian)程(Cheng)池(Chi)((?)thread pool)(?)?(?)

答(Da):(?)在(Zai)面(Mian)向(Xiang)对(Dui)象(Xiang)编(Bian)程(Cheng)中(Zhong),(?)创(Chuang)建(Jian)和(He)销(Xiao)毁(Hui)对(Dui)象(Xiang)是(Shi)很(Hen)费(Fei)时(Shi)间(Jian)的(De),(?)因(Yin)为(Wei)创(Chuang)建(Jian)一(Yi)个(Ge)对(Dui)象(Xiang)要(Yao)获(Huo)取(Qu)内(Nei)存(Cun)资(Zi)源(Yuan)或(Huo)者(Zhe)其(Qi)它(Ta)更(Geng)多(Duo)资(Zi)源(Yuan)。(?)在(Zai)Java中(Zhong)更(Geng)是(Shi)如(Ru)此(Ci),(?)虚(Xu)拟(Ni)机(Ji)将(Jiang)试(Shi)图(Tu)跟(Gen)踪(Zong)每(Mei)一(Yi)个(Ge)对(Dui)象(Xiang),(?)以(Yi)便(Bian)能(Neng)够(Gou)在(Zai)对(Dui)象(Xiang)销(Xiao)毁(Hui)后(Hou)进(Jin)行(Xing)垃(La)圾(Ji)回(Hui)收(Shou)。(?)所(Suo)以(Yi)提(Ti)高(Gao)服(Fu)务(Wu)程(Cheng)序(Xu)效(Xiao)率(Lu)的(De)一(Yi)个(Ge)手(Shou)段(Duan)就(Jiu)是(Shi)尽(Jin)可(Ke)能(Neng)减(Jian)少(Shao)创(Chuang)建(Jian)和(He)销(Xiao)毁(Hui)对(Dui)象(Xiang)的(De)次(Ci)数(Shu),(?)特(Te)别(Bie)是(Shi)一(Yi)些(Xie)很(Hen)耗(Hao)资(Zi)源(Yuan)的(De)对(Dui)象(Xiang)创(Chuang)建(Jian)和(He)销(Xiao)毁(Hui),(?)这(Zhe)就(Jiu)是(Shi)"池(Chi)化(Hua)资(Zi)源(Yuan)"技(Ji)术(Shu)产(Chan)生(Sheng)的(De)原(Yuan)因(Yin)。(?)线(Xian)程(Cheng)池(Chi)顾(Gu)名(Ming)思(Si)义(Yi)就(Jiu)是(Shi)事(Shi)先(Xian)创(Chuang)建(Jian)若(Ruo)干(Gan)个(Ge)可(Ke)执(Zhi)行(Xing)的(De)线(Xian)程(Cheng)放(Fang)入(Ru)一(Yi)个(Ge)池(Chi)((?)容(Rong)器(Qi))(?)中(Zhong),(?)需(Xu)要(Yao)的(De)时(Shi)候(Hou)从(Cong)池(Chi)中(Zhong)获(Huo)取(Qu)线(Xian)程(Cheng)不(Bu)用(Yong)自(Zi)行(Xing)创(Chuang)建(Jian),(?)使(Shi)用(Yong)完(Wan)毕(Bi)不(Bu)需(Xu)要(Yao)销(Xiao)毁(Hui)线(Xian)程(Cheng)而(?)是(Shi)放(Fang)回(Hui)池(Chi)中(Zhong),(?)从(Cong)而(?)减(Jian)少(Shao)创(Chuang)建(Jian)和(He)销(Xiao)毁(Hui)线(Xian)程(Cheng)对(Dui)象(Xiang)的(De)开(Kai)销(Xiao)。(?)

Java 5+中(Zhong)的(De)Executor接(Jie)口(Kou)定(Ding)义(Yi)一(Yi)个(Ge)执(Zhi)行(Xing)线(Xian)程(Cheng)的(De)工(Gong)具(Ju)。(?)它(Ta)的(De)子(Zi)类(Lei)型(Xing)即(Ji)线(Xian)程(Cheng)池(Chi)接(Jie)口(Kou)是(Shi)ExecutorService。(?)要(Yao)配(Pei)置(Zhi)一(Yi)个(Ge)线(Xian)程(Cheng)池(Chi)是(Shi)比(Bi)较(Jiao)复(Fu)杂(Za)的(De),(?)尤(You)其(Qi)是(Shi)对(Dui)于(Yu)线(Xian)程(Cheng)池(Chi)的(De)原(Yuan)理(Li)不(Bu)是(Shi)很(Hen)清(Qing)楚(Chu)的(De)情(Qing)况(Kuang)下(Xia),(?)因(Yin)此(Ci)在(Zai)工(Gong)具(Ju)类(Lei)Executors面(Mian)提(Ti)供(Gong)了(Liao)一(Yi)些(Xie)静(Jing)态(Tai)工(Gong)厂(Chang)方(Fang)法(Fa),(?)生(Sheng)成(Cheng)一(Yi)些(Xie)常(Chang)用(Yong)的(De)线(Xian)程(Cheng)池(Chi),(?)如(Ru)下(Xia)所(Suo)示(Shi):(?)

newSingleThreadExecutor:(?)创(Chuang)建(Jian)一(Yi)个(Ge)单(Dan)线(Xian)程(Cheng)的(De)线(Xian)程(Cheng)池(Chi)。(?)这(Zhe)个(Ge)线(Xian)程(Cheng)池(Chi)只(Zhi)有(You)一(Yi)个(Ge)线(Xian)程(Cheng)在(Zai)工(Gong)作(Zuo),(?)也(Ye)就(Jiu)是(Shi)相(Xiang)当(Dang)于(Yu)单(Dan)线(Xian)程(Cheng)串(Chuan)行(Xing)执(Zhi)行(Xing)所(Suo)有(You)任(Ren)务(Wu)。(?)如(Ru)果(Guo)这(Zhe)个(Ge)唯(Wei)一(Yi)的(De)线(Xian)程(Cheng)因(Yin)为(Wei)异(Yi)常(Chang)结(Jie)束(Shu),(?)那(Na)么(Me)会(Hui)有(You)一(Yi)个(Ge)新(Xin)的(De)线(Xian)程(Cheng)来(Lai)替(Ti)代(Dai)它(Ta)。(?)此(Ci)线(Xian)程(Cheng)池(Chi)保(Bao)证(Zheng)所(Suo)有(You)任(Ren)务(Wu)的(De)执(Zhi)行(Xing)顺(Shun)序(Xu)按(An)照(Zhao)任(Ren)务(Wu)的(De)提(Ti)交(Jiao)顺(Shun)序(Xu)执(Zhi)行(Xing)。(?)

newFixedThreadPool:(?)创(Chuang)建(Jian)固(Gu)定(Ding)大(Da)小(Xiao)的(De)线(Xian)程(Cheng)池(Chi)。(?)每(Mei)次(Ci)提(Ti)交(Jiao)一(Yi)个(Ge)任(Ren)务(Wu)就(Jiu)创(Chuang)建(Jian)一(Yi)个(Ge)线(Xian)程(Cheng),(?)直(Zhi)到(Dao)线(Xian)程(Cheng)达(Da)到(Dao)线(Xian)程(Cheng)池(Chi)的(De)最(Zui)大(Da)大(Da)小(Xiao)。(?)线(Xian)程(Cheng)池(Chi)的(De)大(Da)小(Xiao)一(Yi)旦(Dan)达(Da)到(Dao)最(Zui)大(Da)值(Zhi)就(Jiu)会(Hui)保(Bao)持(Chi)不(Bu)变(Bian),(?)如(Ru)果(Guo)某(Mou)个(Ge)线(Xian)程(Cheng)因(Yin)为(Wei)执(Zhi)行(Xing)异(Yi)常(Chang)而(?)结(Jie)束(Shu),(?)那(Na)么(Me)线(Xian)程(Cheng)池(Chi)会(Hui)补(Bu)充(Chong)一(Yi)个(Ge)新(Xin)线(Xian)程(Cheng)。(?)

newCachedThreadPool:(?)创(Chuang)建(Jian)一(Yi)个(Ge)可(Ke)缓(Huan)存(Cun)的(De)线(Xian)程(Cheng)池(Chi)。(?)如(Ru)果(Guo)线(Xian)程(Cheng)池(Chi)的(De)大(Da)小(Xiao)超(Chao)过(Guo)了(Liao)处(Chu)理(Li)任(Ren)务(Wu)所(Suo)需(Xu)要(Yao)的(De)线(Xian)程(Cheng),(?)那(Na)么(Me)就(Jiu)会(Hui)回(Hui)收(Shou)部(Bu)分(Fen)空(Kong)闲(Xian)((?)60秒(Miao)不(Bu)执(Zhi)行(Xing)任(Ren)务(Wu))(?)的(De)线(Xian)程(Cheng),(?)当(Dang)任(Ren)务(Wu)数(Shu)增(Zeng)加(Jia)时(Shi),(?)此(Ci)线(Xian)程(Cheng)池(Chi)又(You)可(Ke)以(Yi)智(Zhi)能(Neng)的(De)添(Tian)加(Jia)新(Xin)线(Xian)程(Cheng)来(Lai)处(Chu)理(Li)任(Ren)务(Wu)。(?)此(Ci)线(Xian)程(Cheng)池(Chi)不(Bu)会(Hui)对(Dui)线(Xian)程(Cheng)池(Chi)大(Da)小(Xiao)做(Zuo)限(Xian)制(Zhi),(?)线(Xian)程(Cheng)池(Chi)大(Da)小(Xiao)完(Wan)全(Quan)依(Yi)赖(Lai)于(Yu)操(Cao)作(Zuo)系(Xi)统(Tong)((?)或(Huo)者(Zhe)说(Shuo)JVM)(?)能(Neng)够(Gou)创(Chuang)建(Jian)的(De)最(Zui)大(Da)线(Xian)程(Cheng)大(Da)小(Xiao)。(?)

newScheduledThreadPool:(?)创(Chuang)建(Jian)一(Yi)个(Ge)大(Da)小(Xiao)无(Wu)限(Xian)的(De)线(Xian)程(Cheng)池(Chi)。(?)此(Ci)线(Xian)程(Cheng)池(Chi)支(Zhi)持(Chi)定(Ding)时(Shi)以(Yi)及(Ji)周(Zhou)期(Qi)性(Xing)执(Zhi)行(Xing)任(Ren)务(Wu)的(De)需(Xu)求(Qiu)。(?)

newSingleThreadExecutor:(?)创(Chuang)建(Jian)一(Yi)个(Ge)单(Dan)线(Xian)程(Cheng)的(De)线(Xian)程(Cheng)池(Chi)。(?)此(Ci)线(Xian)程(Cheng)池(Chi)支(Zhi)持(Chi)定(Ding)时(Shi)以(Yi)及(Ji)周(Zhou)期(Qi)性(Xing)执(Zhi)行(Xing)任(Ren)务(Wu)的(De)需(Xu)求(Qiu)。(?)

有(You)通(Tong)过(Guo)Executors工(Gong)具(Ju)类(Lei)创(Chuang)建(Jian)线(Xian)程(Cheng)池(Chi)并(Bing)使(Shi)用(Yong)线(Xian)程(Cheng)池(Chi)执(Zhi)行(Xing)线(Xian)程(Cheng)的(De)代(Dai)码(Ma)。(?)如(Ru)果(Guo)希(Xi)望(Wang)在(Zai)服(Fu)务(Wu)器(Qi)上(Shang)使(Shi)用(Yong)线(Xian)程(Cheng)池(Chi),(?)强(Qiang)烈(Lie)建(Jian)议(Yi)使(Shi)用(Yong)newFixedThreadPool方(Fang)法(Fa)来(Lai)创(Chuang)建(Jian)线(Xian)程(Cheng)池(Chi),(?)这(Zhe)样(Yang)能(Neng)获(Huo)得(De)更(Geng)好(Hao)的(De)性(Xing)能(Neng)。(?)

249.线(Xian)程(Cheng)的(De)基(Ji)本(Ben)状(Zhuang)态(Tai)以(Yi)及(Ji)状(Zhuang)态(Tai)之(Zhi)间(Jian)的(De)关(Guan)系(Xi)?(?)

除(Chu)去(Qu)起(Qi)始(Shi)((?)new)(?)状(Zhuang)态(Tai)和(He)结(Jie)束(Shu)((?)finished)(?)状(Zhuang)态(Tai),(?)线(Xian)程(Cheng)有(You)三(San)种(Zhong)状(Zhuang)态(Tai),(?)分(Fen)别(Bie)是(Shi):(?)就(Jiu)绪(Xu)((?)ready)(?)、(?)运(Yun)行(Xing)((?)running)(?)和(He)阻(Zu)塞(Sai)((?)blocked)(?)。(?)其(Qi)中(Zhong)就(Jiu)绪(Xu)状(Zhuang)态(Tai)代(Dai)表(Biao)线(Xian)程(Cheng)具(Ju)备(Bei)了(Liao)运(Yun)行(Xing)的(De)所(Suo)有(You)条(Tiao)件(Jian),(?)只(Zhi)等(Deng)待(Dai)CPU调(Diao)度(Du)((?)万(Wan)事(Shi)俱(Ju)备(Bei),(?)只(Zhi)欠(Qian)东(Dong)风(Feng))(?);(?)处(Chu)于(Yu)运(Yun)行(Xing)状(Zhuang)态(Tai)的(De)线(Xian)程(Cheng)可(Ke)能(Neng)因(Yin)为(Wei)CPU调(Diao)度(Du)((?)时(Shi)间(Jian)片(Pian)用(Yong)完(Wan)了(Liao))(?)的(De)原(Yuan)因(Yin)回(Hui)到(Dao)就(Jiu)绪(Xu)状(Zhuang)态(Tai),(?)也(Ye)有(You)可(Ke)能(Neng)因(Yin)为(Wei)调(Diao)用(Yong)了(Liao)线(Xian)程(Cheng)的(De)yield方(Fang)法(Fa)回(Hui)到(Dao)就(Jiu)绪(Xu)状(Zhuang)态(Tai),(?)此(Ci)时(Shi)线(Xian)程(Cheng)不(Bu)会(Hui)释(Shi)放(Fang)它(Ta)占(Zhan)有(You)的(De)资(Zi)源(Yuan)的(De)锁(Suo),(?)坐(Zuo)等(Deng)CPU以(Yi)继(Ji)续(Xu)执(Zhi)行(Xing);(?)运(Yun)行(Xing)状(Zhuang)态(Tai)的(De)线(Xian)程(Cheng)可(Ke)能(Neng)因(Yin)为(Wei)I/O中(Zhong)断(Duan)、(?)线(Xian)程(Cheng)休(Xiu)眠(Mian)、(?)调(Diao)用(Yong)了(Liao)对(Dui)象(Xiang)的(De)wait方(Fang)法(Fa)而(?)进(Jin)入(Ru)阻(Zu)塞(Sai)状(Zhuang)态(Tai)((?)有(You)的(De)地(Di)方(Fang)也(Ye)称(Cheng)之(Zhi)为(Wei)等(Deng)待(Dai)状(Zhuang)态(Tai))(?);(?)而(?)进(Jin)入(Ru)阻(Zu)塞(Sai)状(Zhuang)态(Tai)的(De)线(Xian)程(Cheng)会(Hui)因(Yin)为(Wei)休(Xiu)眠(Mian)结(Jie)束(Shu)、(?)调(Diao)用(Yong)了(Liao)对(Dui)象(Xiang)的(De)notify方(Fang)法(Fa)或(Huo)notifyAll方(Fang)法(Fa)或(Huo)其(Qi)他(Ta)线(Xian)程(Cheng)执(Zhi)行(Xing)结(Jie)束(Shu)而(?)进(Jin)入(Ru)就(Jiu)绪(Xu)状(Zhuang)态(Tai)。(?)注(Zhu)意(Yi):(?)调(Diao)用(Yong)wait方(Fang)法(Fa)会(Hui)让(Rang)线(Xian)程(Cheng)进(Jin)入(Ru)等(Deng)待(Dai)池(Chi)中(Zhong)等(Deng)待(Dai)被(Bei)唤(Huan)醒(Xing),(?)notify方(Fang)法(Fa)或(Huo)notifyAll方(Fang)法(Fa)会(Hui)让(Rang)等(Deng)待(Dai)锁(Suo)中(Zhong)的(De)线(Xian)程(Cheng)从(Cong)等(Deng)待(Dai)池(Chi)进(Jin)入(Ru)等(Deng)锁(Suo)池(Chi),(?)在(Zai)没(Mei)有(You)得(De)到(Dao)对(Dui)象(Xiang)的(De)锁(Suo)之(Zhi)前(Qian),(?)线(Xian)程(Cheng)仍(Reng)然(Ran)无(Wu)法(Fa)获(Huo)得(De)CPU的(De)调(Diao)度(Du)和(He)执(Zhi)行(Xing)。(?)

250.简(Jian)述(Shu)synchronized 和(He)java.util.concurrent.locks.Lock的(De)异(Yi)同(Tong)?(?)

答(Da):(?)Lock是(Shi)Java 5以(Yi)后(Hou)引(Yin)入(Ru)的(De)新(Xin)的(De)API,(?)和(He)关(Guan)键(Jian)字(Zi)synchronized相(Xiang)比(Bi)主(Zhu)要(Yao)相(Xiang)同(Tong)点(Dian):(?)Lock 能(Neng)完(Wan)成(Cheng)synchronized所(Suo)实(Shi)现(Xian)的(De)所(Suo)有(You)功(Gong)能(Neng);(?)主(Zhu)要(Yao)不(Bu)同(Tong)点(Dian):(?)Lock 有(You)比(Bi)synchronized 更(Geng)精(Jing)确(Que)的(De)线(Xian)程(Cheng)语(Yu)义(Yi)和(He)更(Geng)好(Hao)的(De)性(Xing)能(Neng)。(?)synchronized 会(Hui)自(Zi)动(Dong)释(Shi)放(Fang)锁(Suo),(?)而(?)Lock 一(Yi)定(Ding)要(Yao)求(Qiu)程(Cheng)序(Xu)员(Yuan)手(Shou)工(Gong)释(Shi)放(Fang),(?)并(Bing)且(Qie)必(Bi)须(Xu)在(Zai)finally 块(Kuai)中(Zhong)释(Shi)放(Fang)((?)这(Zhe)是(Shi)释(Shi)放(Fang)外(Wai)部(Bu)资(Zi)源(Yuan)的(De)最(Zui)好(Hao)的(De)地(Di)方(Fang))(?)。(?)

251.创(Chuang)建(Jian)线(Xian)程(Cheng)的(De)两(Liang)种(Zhong)方(Fang)式(Shi)分(Fen)别(Bie)是(Shi)什(Shi)么(Me),优(You)缺(Que)点(Dian)是(Shi)什(Shi)么(Me)?(?)

方(Fang)式(Shi)1:(?)继(Ji)承(Cheng)Java.lang.Thread类(Lei),(?)并(Bing)覆(Fu)盖(Gai)run() 方(Fang)法(Fa)。(?)

优(You)势(Shi):(?)编(Bian)写(Xie)简(Jian)单(Dan);(?)

劣(Lie)势(Shi):(?)单(Dan)继(Ji)承(Cheng)的(De)限(Xian)制(Zhi)----无(Wu)法(Fa)继(Ji)承(Cheng)其(Qi)它(Ta)父(Fu)类(Lei),(?)同(Tong)时(Shi)不(Bu)能(Neng)实(Shi)现(Xian)资(Zi)源(Yuan)共(Gong)享(Xiang)。(?)

package com.bjsxt;

public class ThreadDemo1 {
public static void main(String args[]) {
MyThread1 t = new MyThread1();
t.start();
while (true) {
System.out.println("兔(Tu)子(Zi)领(Ling)先(Xian)了(Liao),(?)别(Bie)骄(Jiao)傲(Ao)");
}
}
}
class MyThread1 extends Thread {
public void run() {
while (true) {
System.out.println("乌(Wu)龟(Gui)领(Ling)先(Xian)了(Liao),(?)加(Jia)油(You)");
}
}
}

方(Fang)式(Shi)2:(?)实(Shi)现(Xian)Java.lang.Runnable接(Jie)口(Kou),(?)并(Bing)实(Shi)现(Xian)run()方(Fang)法(Fa)。(?)

优(You)势(Shi):(?)可(Ke)继(Ji)承(Cheng)其(Qi)它(Ta)类(Lei),(?)多(Duo)线(Xian)程(Cheng)可(Ke)共(Gong)享(Xiang)同(Tong)一(Yi)个(Ge)Thread对(Dui)象(Xiang);(?)

劣(Lie)势(Shi):(?)编(Bian)程(Cheng)方(Fang)式(Shi)稍(Shao)微(Wei)复(Fu)杂(Za),(?)如(Ru)需(Xu)访(Fang)问(Wen)当(Dang)前(Qian)线(Xian)程(Cheng),(?)需(Xu)调(Diao)用(Yong)Thread.currentThread()方(Fang)法(Fa)

package com.bjsxt;

public class ThreadDemo2 {
public static void main(String args[]) {
MyThread2 mt = new MyThread2();
Thread t = new Thread(mt);
t.start();
while (true) {
System.out.println("兔(Tu)子(Zi)领(Ling)先(Xian)了(Liao),(?)加(Jia)油(You)");
}
}
}
class MyThread2 implements Runnable {
public void run() {
while (true) {
System.out.println("乌(Wu)龟(Gui)超(Chao)过(Guo)了(Liao),(?)再(Zai)接(Jie)再(Zai)厉(Li)");
}
}
}
252.Java创(Chuang)建(Jian)线(Xian)程(Cheng)后(Hou),(?)调(Diao)用(Yong)start()方(Fang)法(Fa)和(He)run()的(De)区(Qu)别(Bie)

两(Liang)种(Zhong)方(Fang)法(Fa)的(De)区(Qu)别(Bie)

1)(?) start方(Fang)法(Fa):(?)

用(Yong)start方(Fang)法(Fa)来(Lai)启(Qi)动(Dong)线(Xian)程(Cheng),(?)真(Zhen)正(Zheng)实(Shi)现(Xian)了(Liao)多(Duo)线(Xian)程(Cheng)运(Yun)行(Xing),(?)这(Zhe)时(Shi)无(Wu)需(Xu)等(Deng)待(Dai)run方(Fang)法(Fa)体(Ti)代(Dai)码(Ma)执(Zhi)行(Xing)完(Wan)毕(Bi)而(?)直(Zhi)接(Jie)继(Ji)续(Xu)执(Zhi)行(Xing)下(Xia)面(Mian)的(De)代(Dai)码(Ma)。(?)通(Tong)过(Guo)调(Diao)用(Yong)Thread类(Lei)的(De)start()方(Fang)法(Fa)来(Lai)启(Qi)动(Dong)一(Yi)个(Ge)线(Xian)程(Cheng),(?)这(Zhe)时(Shi)此(Ci)线(Xian)程(Cheng)处(Chu)于(Yu)就(Jiu)绪(Xu)((?)可(Ke)运(Yun)行(Xing))(?)状(Zhuang)态(Tai),(?)并(Bing)没(Mei)有(You)运(Yun)行(Xing),(?)一(Yi)旦(Dan)得(De)到(Dao)cpu时(Shi)间(Jian)片(Pian),(?)就(Jiu)开(Kai)始(Shi)执(Zhi)行(Xing)run()方(Fang)法(Fa),(?)这(Zhe)里(Li)方(Fang)法(Fa)run()称(Cheng)为(Wei)线(Xian)程(Cheng)体(Ti),(?)它(Ta)包(Bao)含(Han)了(Liao)要(Yao)执(Zhi)行(Xing)的(De)这(Zhe)个(Ge)线(Xian)程(Cheng)的(De)内(Nei)容(Rong),(?)Run方(Fang)法(Fa)运(Yun)行(Xing)结(Jie)束(Shu),(?)此(Ci)线(Xian)程(Cheng)随(Sui)即(Ji)终(Zhong)止(Zhi)。(?)

2)(?) run((?))(?):(?)

run()方(Fang)法(Fa)只(Zhi)是(Shi)类(Lei)的(De)一(Yi)个(Ge)普(Pu)通(Tong)方(Fang)法(Fa)而(?)已(Yi),(?)如(Ru)果(Guo)直(Zhi)接(Jie)调(Diao)用(Yong)run方(Fang)法(Fa),(?)程(Cheng)序(Xu)中(Zhong)依(Yi)然(Ran)只(Zhi)有(You)主(Zhu)线(Xian)程(Cheng)这(Zhe)一(Yi)个(Ge)线(Xian)程(Cheng),(?)其(Qi)程(Cheng)序(Xu)执(Zhi)行(Xing)路(Lu)径(Jing)还(Huan)是(Shi)只(Zhi)有(You)一(Yi)条(Tiao),(?)还(Huan)是(Shi)要(Yao)顺(Shun)序(Xu)执(Zhi)行(Xing),(?)还(Huan)是(Shi)要(Yao)等(Deng)待(Dai),(?)run方(Fang)法(Fa)体(Ti)执(Zhi)行(Xing)完(Wan)毕(Bi)后(Hou)才(Cai)可(Ke)继(Ji)续(Xu)执(Zhi)行(Xing)下(Xia)面(Mian)的(De)代(Dai)码(Ma),(?)这(Zhe)样(Yang)就(Jiu)没(Mei)有(You)达(Da)到(Dao)写(Xie)线(Xian)程(Cheng)的(De)目(Mu)的(De)。(?)

总(Zong)结(Jie):(?)调(Diao)用(Yong)start方(Fang)法(Fa)方(Fang)可(Ke)启(Qi)动(Dong)线(Xian)程(Cheng),(?)而(?)run方(Fang)法(Fa)只(Zhi)是(Shi)thread的(De)一(Yi)个(Ge)普(Pu)通(Tong)方(Fang)法(Fa)调(Diao)用(Yong),(?)还(Huan)是(Shi)在(Zai)主(Zhu)线(Xian)程(Cheng)里(Li)执(Zhi)行(Xing)。(?)这(Zhe)两(Liang)个(Ge)方(Fang)法(Fa)应(Ying)该(Gai)都(Du)比(Bi)较(Jiao)熟(Shu)悉(Xi),(?)把(Ba)需(Xu)要(Yao)并(Bing)行(Xing)处(Chu)理(Li)的(De)代(Dai)码(Ma)放(Fang)在(Zai)run()方(Fang)法(Fa)中(Zhong),(?)start()方(Fang)法(Fa)启(Qi)动(Dong)线(Xian)程(Cheng)将(Jiang)自(Zi)动(Dong)调(Diao)用(Yong) run()方(Fang)法(Fa),(?)这(Zhe)是(Shi)由(You)jvm的(De)内(Nei)存(Cun)机(Ji)制(Zhi)规(Gui)定(Ding)的(De)。(?)并(Bing)且(Qie)run()方(Fang)法(Fa)必(Bi)须(Xu)是(Shi)public访(Fang)问(Wen)权(Quan)限(Xian),(?)返(Fan)回(Hui)值(Zhi)类(Lei)型(Xing)为(Wei)void。(?)

两(Liang)种(Zhong)方(Fang)式(Shi)的(De)比(Bi)较(Jiao) :(?)

实(Shi)际(Ji)中(Zhong)往(Wang)往(Wang)采(Cai)用(Yong)实(Shi)现(Xian)Runable接(Jie)口(Kou),(?)一(Yi)方(Fang)面(Mian)因(Yin)为(Wei)java只(Zhi)支(Zhi)持(Chi)单(Dan)继(Ji)承(Cheng),(?)继(Ji)承(Cheng)了(Liao)Thread类(Lei)就(Jiu)无(Wu)法(Fa)再(Zai)继(Ji)续(Xu)继(Ji)承(Cheng)其(Qi)它(Ta)类(Lei),(?)而(?)且(Qie)Runable接(Jie)口(Kou)只(Zhi)有(You)一(Yi)个(Ge)run方(Fang)法(Fa);(?)另(Ling)一(Yi)方(Fang)面(Mian)通(Tong)过(Guo)结(Jie)果(Guo)可(Ke)以(Yi)看(Kan)出(Chu)实(Shi)现(Xian)Runable接(Jie)口(Kou)才(Cai)是(Shi)真(Zhen)正(Zheng)的(De)多(Duo)线(Xian)程(Cheng)。(?)

253.线(Xian)程(Cheng)的(De)生(Sheng)命(Ming)周(Zhou)期(Qi)

线(Xian)程(Cheng)是(Shi)一(Yi)个(Ge)动(Dong)态(Tai)执(Zhi)行(Xing)的(De)过(Guo)程(Cheng),(?)它(Ta)也(Ye)有(You)一(Yi)个(Ge)从(Cong)产(Chan)生(Sheng)到(Dao)死(Si)亡(Wang)的(De)过(Guo)程(Cheng)。(?)

生(Sheng)命(Ming)周(Zhou)期(Qi)的(De)五(Wu)种(Zhong)状(Zhuang)态(Tai)

新(Xin)建(Jian)((?)new Thread)(?)

当(Dang)创(Chuang)建(Jian)Thread类(Lei)的(De)一(Yi)个(Ge)实(Shi)例(Li)((?)对(Dui)象(Xiang))(?)时(Shi),(?)此(Ci)线(Xian)程(Cheng)进(Jin)入(Ru)新(Xin)建(Jian)状(Zhuang)态(Tai)((?)未(Wei)被(Bei)启(Qi)动(Dong))(?)

例(Li)如(Ru):(?)Thread t1=new Thread();

就(Jiu)绪(Xu)((?)runnable)(?)

线(Xian)程(Cheng)已(Yi)经(Jing)被(Bei)启(Qi)动(Dong),(?)正(Zheng)在(Zai)等(Deng)待(Dai)被(Bei)分(Fen)配(Pei)给(Gei)CPU时(Shi)间(Jian)片(Pian),(?)也(Ye)就(Jiu)是(Shi)说(Shuo)此(Ci)时(Shi)线(Xian)程(Cheng)正(Zheng)在(Zai)就(Jiu)绪(Xu)队(Dui)列(Lie)中(Zhong)排(Pai)队(Dui)等(Deng)候(Hou)得(De)到(Dao)CPU资(Zi)源(Yuan)。(?)例(Li)如(Ru):(?)t1.start();

运(Yun)行(Xing)((?)running)(?)

线(Xian)程(Cheng)获(Huo)得(De)CPU资(Zi)源(Yuan)正(Zheng)在(Zai)执(Zhi)行(Xing)任(Ren)务(Wu)((?)run()方(Fang)法(Fa))(?),(?)此(Ci)时(Shi)除(Chu)非(Fei)此(Ci)线(Xian)程(Cheng)自(Zi)动(Dong)放(Fang)弃(Qi)CPU资(Zi)源(Yuan)或(Huo)者(Zhe)有(You)优(You)先(Xian)级(Ji)更(Geng)高(Gao)的(De)线(Xian)程(Cheng)进(Jin)入(Ru),(?)线(Xian)程(Cheng)将(Jiang)一(Yi)直(Zhi)运(Yun)行(Xing)到(Dao)结(Jie)束(Shu)。(?)

死(Si)亡(Wang)((?)dead)(?)

当(Dang)线(Xian)程(Cheng)执(Zhi)行(Xing)完(Wan)毕(Bi)或(Huo)被(Bei)其(Qi)它(Ta)线(Xian)程(Cheng)杀(Sha)死(Si),(?)线(Xian)程(Cheng)就(Jiu)进(Jin)入(Ru)死(Si)亡(Wang)状(Zhuang)态(Tai),(?)这(Zhe)时(Shi)线(Xian)程(Cheng)不(Bu)可(Ke)能(Neng)再(Zai)进(Jin)入(Ru)就(Jiu)绪(Xu)状(Zhuang)态(Tai)等(Deng)待(Dai)执(Zhi)行(Xing)。(?)

自(Zi)然(Ran)终(Zhong)止(Zhi):(?)正(Zheng)常(Chang)运(Yun)行(Xing)run()方(Fang)法(Fa)后(Hou)终(Zhong)止(Zhi)

异(Yi)常(Chang)终(Zhong)止(Zhi):(?)调(Diao)用(Yong)stop()方(Fang)法(Fa)让(Rang)一(Yi)个(Ge)线(Xian)程(Cheng)终(Zhong)止(Zhi)运(Yun)行(Xing)

堵(Du)塞(Sai)((?)blocked)(?)

由(You)于(Yu)某(Mou)种(Zhong)原(Yuan)因(Yin)导(Dao)致(Zhi)正(Zheng)在(Zai)运(Yun)行(Xing)的(De)线(Xian)程(Cheng)让(Rang)出(Chu)CPU并(Bing)暂(Zan)停(Ting)自(Zi)己(Ji)的(De)执(Zhi)行(Xing),(?)即(Ji)进(Jin)入(Ru)堵(Du)塞(Sai)状(Zhuang)态(Tai)。(?)

正(Zheng)在(Zai)睡(Shui)眠(Mian):(?)用(Yong)sleep(long t) 方(Fang)法(Fa)可(Ke)使(Shi)线(Xian)程(Cheng)进(Jin)入(Ru)睡(Shui)眠(Mian)方(Fang)式(Shi)。(?)一(Yi)个(Ge)睡(Shui)眠(Mian)着(Zhuo)的(De)线(Xian)程(Cheng)在(Zai)指(Zhi)定(Ding)的(De)时(Shi)间(Jian)过(Guo)去(Qu)可(Ke)进(Jin)入(Ru)就(Jiu)绪(Xu)状(Zhuang)态(Tai)。(?)

正(Zheng)在(Zai)等(Deng)待(Dai):(?)调(Diao)用(Yong)wait()方(Fang)法(Fa)。(?)((?)调(Diao)用(Yong)motify()方(Fang)法(Fa)回(Hui)到(Dao)就(Jiu)绪(Xu)状(Zhuang)态(Tai))(?)

被(Bei)另(Ling)一(Yi)个(Ge)线(Xian)程(Cheng)所(Suo)阻(Zu)塞(Sai):(?)调(Diao)用(Yong)suspend()方(Fang)法(Fa)。(?)((?)调(Diao)用(Yong)resume()方(Fang)法(Fa)恢(Hui)复(Fu))(?)

254.如(Ru)何(He)实(Shi)现(Xian)线(Xian)程(Cheng)同(Tong)步(Bu)?(?)

当(Dang)多(Duo)个(Ge)线(Xian)程(Cheng)访(Fang)问(Wen)同(Tong)一(Yi)个(Ge)数(Shu)据(Ju)时(Shi),(?)容(Rong)易(Yi)出(Chu)现(Xian)线(Xian)程(Cheng)安(An)全(Quan)问(Wen)题(Ti),(?)需(Xu)要(Yao)某(Mou)种(Zhong)方(Fang)式(Shi)来(Lai)确(Que)保(Bao)资(Zi)源(Yuan)在(Zai)某(Mou)一(Yi)时(Shi)刻(Ke)只(Zhi)被(Bei)一(Yi)个(Ge)线(Xian)程(Cheng)使(Shi)用(Yong)。(?)需(Xu)要(Yao)让(Rang)线(Xian)程(Cheng)同(Tong)步(Bu),(?)保(Bao)证(Zheng)数(Shu)据(Ju)安(An)全(Quan)

线(Xian)程(Cheng)同(Tong)步(Bu)的(De)实(Shi)现(Xian)方(Fang)案(An):(?)

1)(?)同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai),(?)使(Shi)用(Yong)synchronized关(Guan)键(Jian)字(Zi)

同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai):(?)

synchronized (同(Tong)步(Bu)锁(Suo)) {
授(Shou)课(Ke)代(Dai)码(Ma);
}

同(Tong)步(Bu)方(Fang)法(Fa):(?)

public synchronized void makeWithdrawal(int amt) { }

线(Xian)程(Cheng)同(Tong)步(Bu)的(De)好(Hao)处(Chu):(?)解(Jie)决(Jue)了(Liao)线(Xian)程(Cheng)安(An)全(Quan)问(Wen)题(Ti)

线(Xian)程(Cheng)同(Tong)步(Bu)的(De)缺(Que)点(Dian):(?)性(Xing)能(Neng)下(Xia)降(Jiang),(?)可(Ke)能(Neng)会(Hui)带(Dai)来(Lai)死(Si)锁(Suo)

注(Zhu)意(Yi):(?) 同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai),(?)所(Suo)使(Shi)用(Yong)的(De)同(Tong)步(Bu)锁(Suo)可(Ke)以(Yi)是(Shi)三(San)种(Zhong),(?)

1、(?)this 2、(?) 共(Gong)享(Xiang)资(Zi)源(Yuan) 3、(?) 字(Zi)节(Jie)码(Ma)文(Wen)件(Jian)对(Dui)象(Xiang)

同(Tong)步(Bu)方(Fang)法(Fa)所(Suo)使(Shi)用(Yong)的(De)同(Tong)步(Bu)锁(Suo),(?)默(Mo)认(Ren)的(De)是(Shi)this

255.说(Shuo)说(Shuo)关(Guan)于(Yu)同(Tong)步(Bu)锁(Suo)的(De)更(Geng)多(Duo)细(Xi)节(Jie)

答(Da):(?)Java中(Zhong)每(Mei)个(Ge)对(Dui)象(Xiang)都(Du)有(You)一(Yi)个(Ge)内(Nei)置(Zhi)锁(Suo)。(?)

当(Dang)程(Cheng)序(Xu)运(Yun)行(Xing)到(Dao)非(Fei)静(Jing)态(Tai)的(De)synchronized同(Tong)步(Bu)方(Fang)法(Fa)上(Shang)时(Shi),(?)自(Zi)动(Dong)获(Huo)得(De)与(Yu)正(Zheng)在(Zai)执(Zhi)行(Xing)代(Dai)码(Ma)类(Lei)的(De)当(Dang)前(Qian)实(Shi)例(Li)((?)this实(Shi)例(Li))(?)有(You)关(Guan)的(De)锁(Suo)。(?)获(Huo)得(De)一(Yi)个(Ge)对(Dui)象(Xiang)的(De)锁(Suo)也(Ye)称(Cheng)为(Wei)获(Huo)取(Qu)锁(Suo)、(?)锁(Suo)定(Ding)对(Dui)象(Xiang)、(?)在(Zai)对(Dui)象(Xiang)上(Shang)锁(Suo)定(Ding)或(Huo)在(Zai)对(Dui)象(Xiang)上(Shang)同(Tong)步(Bu)。(?)

当(Dang)程(Cheng)序(Xu)运(Yun)行(Xing)到(Dao)synchronized同(Tong)步(Bu)方(Fang)法(Fa)或(Huo)代(Dai)码(Ma)块(Kuai)时(Shi)才(Cai)该(Gai)对(Dui)象(Xiang)锁(Suo)才(Cai)起(Qi)作(Zuo)用(Yong)。(?)

一(Yi)个(Ge)对(Dui)象(Xiang)只(Zhi)有(You)一(Yi)个(Ge)锁(Suo)。(?)所(Suo)以(Yi),(?)如(Ru)果(Guo)一(Yi)个(Ge)线(Xian)程(Cheng)获(Huo)得(De)该(Gai)锁(Suo),(?)就(Jiu)没(Mei)有(You)其(Qi)他(Ta)线(Xian)程(Cheng)可(Ke)以(Yi)获(Huo)得(De)锁(Suo),(?)直(Zhi)到(Dao)第(Di)一(Yi)个(Ge)线(Xian)程(Cheng)释(Shi)放(Fang)((?)或(Huo)返(Fan)回(Hui))(?)锁(Suo)。(?)这(Zhe)也(Ye)意(Yi)味(Wei)着(Zhuo)任(Ren)何(He)其(Qi)他(Ta)线(Xian)程(Cheng)都(Du)不(Bu)能(Neng)进(Jin)入(Ru)该(Gai)对(Dui)象(Xiang)上(Shang)的(De)synchronized方(Fang)法(Fa)或(Huo)代(Dai)码(Ma)块(Kuai),(?)直(Zhi)到(Dao)该(Gai)锁(Suo)被(Bei)释(Shi)放(Fang)。(?)

释(Shi)放(Fang)锁(Suo)是(Shi)指(Zhi)持(Chi)锁(Suo)线(Xian)程(Cheng)退(Tui)出(Chu)了(Liao)synchronized同(Tong)步(Bu)方(Fang)法(Fa)或(Huo)代(Dai)码(Ma)块(Kuai)。(?)

关(Guan)于(Yu)锁(Suo)和(He)同(Tong)步(Bu),(?)有(You)一(Yi)下(Xia)几(Ji)个(Ge)要(Yao)点(Dian):(?)

1)(?)只(Zhi)能(Neng)同(Tong)步(Bu)方(Fang)法(Fa),(?)而(?)不(Bu)能(Neng)同(Tong)步(Bu)变(Bian)量(Liang)和(He)类(Lei);(?)

2)(?)每(Mei)个(Ge)对(Dui)象(Xiang)只(Zhi)有(You)一(Yi)个(Ge)锁(Suo);(?)当(Dang)提(Ti)到(Dao)同(Tong)步(Bu)时(Shi),(?)应(Ying)该(Gai)清(Qing)楚(Chu)在(Zai)什(Shi)么(Me)上(Shang)同(Tong)步(Bu)?(?)也(Ye)就(Jiu)是(Shi)说(Shuo),(?)在(Zai)哪(Na)个(Ge)对(Dui)象(Xiang)上(Shang)同(Tong)步(Bu)?(?)

3)(?)不(Bu)必(Bi)同(Tong)步(Bu)类(Lei)中(Zhong)所(Suo)有(You)的(De)方(Fang)法(Fa),(?)类(Lei)可(Ke)以(Yi)同(Tong)时(Shi)拥(Yong)有(You)同(Tong)步(Bu)和(He)非(Fei)同(Tong)步(Bu)方(Fang)法(Fa)。(?)

4)(?)如(Ru)果(Guo)两(Liang)个(Ge)线(Xian)程(Cheng)要(Yao)执(Zhi)行(Xing)一(Yi)个(Ge)类(Lei)中(Zhong)的(De)synchronized方(Fang)法(Fa),(?)并(Bing)且(Qie)两(Liang)个(Ge)线(Xian)程(Cheng)使(Shi)用(Yong)相(Xiang)同(Tong)的(De)实(Shi)例(Li)来(Lai)调(Diao)用(Yong)方(Fang)法(Fa),(?)那(Na)么(Me)一(Yi)次(Ci)只(Zhi)能(Neng)有(You)一(Yi)个(Ge)线(Xian)程(Cheng)能(Neng)够(Gou)执(Zhi)行(Xing)方(Fang)法(Fa),(?)另(Ling)一(Yi)个(Ge)需(Xu)要(Yao)等(Deng)待(Dai),(?)直(Zhi)到(Dao)锁(Suo)被(Bei)释(Shi)放(Fang)。(?)也(Ye)就(Jiu)是(Shi)说(Shuo):(?)如(Ru)果(Guo)一(Yi)个(Ge)线(Xian)程(Cheng)在(Zai)对(Dui)象(Xiang)上(Shang)获(Huo)得(De)一(Yi)个(Ge)锁(Suo),(?)就(Jiu)没(Mei)有(You)任(Ren)何(He)其(Qi)他(Ta)线(Xian)程(Cheng)可(Ke)以(Yi)进(Jin)入(Ru)((?)该(Gai)对(Dui)象(Xiang)的(De))(?)类(Lei)中(Zhong)的(De)任(Ren)何(He)一(Yi)个(Ge)同(Tong)步(Bu)方(Fang)法(Fa)。(?)

5)(?)如(Ru)果(Guo)线(Xian)程(Cheng)拥(Yong)有(You)同(Tong)步(Bu)和(He)非(Fei)同(Tong)步(Bu)方(Fang)法(Fa),(?)则(Ze)非(Fei)同(Tong)步(Bu)方(Fang)法(Fa)可(Ke)以(Yi)被(Bei)多(Duo)个(Ge)线(Xian)程(Cheng)自(Zi)由(You)访(Fang)问(Wen)而(?)不(Bu)受(Shou)锁(Suo)的(De)限(Xian)制(Zhi)。(?)

6)(?)线(Xian)程(Cheng)睡(Shui)眠(Mian)时(Shi),(?)它(Ta)所(Suo)持(Chi)的(De)任(Ren)何(He)锁(Suo)都(Du)不(Bu)会(Hui)释(Shi)放(Fang)。(?)

7)(?)线(Xian)程(Cheng)可(Ke)以(Yi)获(Huo)得(De)多(Duo)个(Ge)锁(Suo)。(?)比(Bi)如(Ru),(?)在(Zai)一(Yi)个(Ge)对(Dui)象(Xiang)的(De)同(Tong)步(Bu)方(Fang)法(Fa)里(Li)面(Mian)调(Diao)用(Yong)另(Ling)外(Wai)一(Yi)个(Ge)对(Dui)象(Xiang)的(De)同(Tong)步(Bu)方(Fang)法(Fa),(?)则(Ze)获(Huo)取(Qu)了(Liao)两(Liang)个(Ge)对(Dui)象(Xiang)的(De)同(Tong)步(Bu)锁(Suo)。(?)

8)(?)同(Tong)步(Bu)损(Sun)害(Hai)并(Bing)发(Fa)性(Xing),(?)应(Ying)该(Gai)尽(Jin)可(Ke)能(Neng)缩(Suo)小(Xiao)同(Tong)步(Bu)范(Fan)围(Wei)。(?)同(Tong)步(Bu)不(Bu)但(Dan)可(Ke)以(Yi)同(Tong)步(Bu)整(Zheng)个(Ge)方(Fang)法(Fa),(?)还(Huan)可(Ke)以(Yi)同(Tong)步(Bu)方(Fang)法(Fa)中(Zhong)一(Yi)部(Bu)分(Fen)代(Dai)码(Ma)块(Kuai)。(?)

9)(?)在(Zai)使(Shi)用(Yong)同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai)时(Shi)候(Hou),(?)应(Ying)该(Gai)指(Zhi)定(Ding)在(Zai)哪(Na)个(Ge)对(Dui)象(Xiang)上(Shang)同(Tong)步(Bu),(?)也(Ye)就(Jiu)是(Shi)说(Shuo)要(Yao)获(Huo)取(Qu)哪(Na)个(Ge)对(Dui)象(Xiang)的(De)锁(Suo)。(?)

256.Java中(Zhong)实(Shi)现(Xian)线(Xian)程(Cheng)通(Tong)信(Xin)的(De)三(San)个(Ge)方(Fang)法(Fa)的(De)作(Zuo)用(Yong)是(Shi)什(Shi)么(Me)?(?)

Java提(Ti)供(Gong)了(Liao)3个(Ge)方(Fang)法(Fa)解(Jie)决(Jue)线(Xian)程(Cheng)之(Zhi)间(Jian)的(De)通(Tong)信(Xin)问(Wen)题(Ti),(?)均(Jun)是(Shi)java.lang.Object类(Lei)的(De)方(Fang)法(Fa),(?)都(Du)只(Zhi)能(Neng)在(Zai)同(Tong)步(Bu)方(Fang)法(Fa)或(Huo)者(Zhe)同(Tong)步(Bu)代(Dai)码(Ma)块(Kuai)中(Zhong)使(Shi)用(Yong),(?)否(Fou)则(Ze)会(Hui)抛(Pao)出(Chu)异(Yi)常(Chang)。(?)

方(Fang)法(Fa)名(Ming) 作(Zuo) 用(Yong)
final void wait() 表(Biao)示(Shi)线(Xian)程(Cheng)一(Yi)直(Zhi)等(Deng)待(Dai),(?)直(Zhi)到(Dao)其(Qi)它(Ta)线(Xian)程(Cheng)通(Tong)知(Zhi)
void wait(long timeout) 线(Xian)程(Cheng)等(Deng)待(Dai)指(Zhi)定(Ding)毫(Hao)秒(Miao)参(Can)数(Shu)的(De)时(Shi)间(Jian)
final void wait(long timeout,int nanos) 线(Xian)程(Cheng)等(Deng)待(Dai)指(Zhi)定(Ding)毫(Hao)秒(Miao)、(?)微(Wei)妙(Miao)的(De)时(Shi)间(Jian)
final void notify() 唤(Huan)醒(Xing)一(Yi)个(Ge)处(Chu)于(Yu)等(Deng)待(Dai)状(Zhuang)态(Tai)的(De)线(Xian)程(Cheng)。(?)注(Zhu)意(Yi)的(De)是(Shi)在(Zai)调(Diao)用(Yong)此(Ci)方(Fang)法(Fa)的(De)时(Shi)候(Hou),(?)并(Bing)不(Bu)能(Neng)确(Que)切(Qie)的(De)唤(Huan)醒(Xing)某(Mou)一(Yi)个(Ge)等(Deng)待(Dai)状(Zhuang)态(Tai)的(De)线(Xian)程(Cheng),(?)而(?)是(Shi)由(You)JVM确(Que)定(Ding)唤(Huan)醒(Xing)哪(Na)个(Ge)线(Xian)程(Cheng),(?)而(?)且(Qie)不(Bu)是(Shi)按(An)优(You)先(Xian)级(Ji)。(?)
final void notifyAll() 唤(Huan)醒(Xing)同(Tong)一(Yi)个(Ge)对(Dui)象(Xiang)上(Shang)所(Suo)有(You)调(Diao)用(Yong)wait()方(Fang)法(Fa)的(De)线(Xian)程(Cheng),(?)注(Zhu)意(Yi)并(Bing)不(Bu)是(Shi)给(Gei)所(Suo)有(You)唤(Huan)醒(Xing)线(Xian)程(Cheng)一(Yi)个(Ge)对(Dui)象(Xiang)的(De)锁(Suo),(?)而(?)是(Shi)让(Rang)它(Ta)们(Men)竞(Jing)争(Zheng)
IO流(Liu):(?)
257.下(Xia)面(Mian)哪(Na)个(Ge)流(Liu)类(Lei)属(Shu)于(Yu)面(Mian)向(Xiang)字(Zi)符(Fu)的(De)输(Shu)入(Ru)流(Liu)((?))(?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?)
A. BufferedWriter
B. FileInputStream
C. ObjectInputStream
D. InputStreamReader
答(Da)案(An):(?)D
分(Fen)析(Xi):(?)A:(?)字(Zi)符(Fu)输(Shu)出(Chu)的(De)缓(Huan)冲(Chong)流(Liu)
B:(?)字(Zi)节(Jie)输(Shu)入(Ru)流(Liu)
C:(?)对(Dui)象(Xiang)输(Shu)入(Ru)流(Liu)

258.要(Yao)从(Cong)文(Wen)件(Jian)”(?)file.dat”(?)文(Wen)件(Jian)中(Zhong)读(Du)出(Chu)第(Di)10个(Ge)字(Zi)节(Jie)到(Dao)变(Bian)量(Liang)c中(Zhong),(?)下(Xia)列(Lie)哪(Na)个(Ge)正(Zheng)确(Que)((?))(?)((?)选(Xuan)择(Ze)一(Yi)项(Xiang))(?)
A.
FileInputStream in=new FileInputStream("file.dat");
in.skip(9);
int c=in.read();
B.
FileInputStream in=new FileInputStream("file.dat");
in.skip(10);
int c=in.read();
C.
FileInputStream in=new FileInputStream("file.dat");
int c=in.read();
D.
RandomAccessFile in=new RandomAccessFile("file.dat");
in.skip(7);
int c=in.readByte();
答(Da)案(An):(?)A
分(Fen)析(Xi):(?) skip(long n)该(Gai)方(Fang)法(Fa)中(Zhong)的(De)n指(Zhi)的(De)是(Shi)要(Yao)跳(Tiao)过(Guo)的(De)字(Zi)节(Jie)数(Shu)
259.新(Xin)建(Jian)一(Yi)个(Ge)流(Liu)对(Dui)象(Xiang),(?)下(Xia)面(Mian)那(Na)个(Ge)选(Xuan)项(Xiang)的(De)代(Dai)码(Ma)是(Shi)错(Cuo)误(Wu)的(De)?(?)((?))(?)
A. new BufferedWriter(new FileWriter(“(?)a.txt”(?)));
B. new BufferedReader (new FileInputStream(“(?)a.dat”(?)));
C. new GZIPOutputStream(new FileOutputStream(“(?)a.zip”(?)));
D. new ObjectInputStream(new FileInputStream(“(?)a.dat”(?)));
答(Da)案(An):(?)B
分(Fen)析(Xi):(?)BufferedReader类(Lei)的(De)参(Can)数(Shu)只(Zhi)能(Neng)是(Shi)Reader类(Lei)型(Xing)的(De),(?)不(Bu)能(Neng)是(Shi)InputStream类(Lei)型(Xing)。(?)
260.下(Xia)面(Mian)哪(Na)个(Ge)流(Liu)是(Shi)面(Mian)向(Xiang)字(Zi)符(Fu)的(De)输(Shu)入(Ru)流(Liu)((?))(?)
A. BufferedWriter
B. FileInputStream
C. ObjectInputStream
D. InputStreamReader
答(Da)案(An):(?)D
以(Yi)InputStream((?)输(Shu)入(Ru)流(Liu))(?)/OutputStream((?)输(Shu)出(Chu)流(Liu))(?)为(Wei)后(Hou)缀(Zhui)的(De)是(Shi)字(Zi)节(Jie)流(Liu);(?)
以(Yi)Reader((?)输(Shu)入(Ru)流(Liu))(?)/Writer((?)输(Shu)出(Chu)流(Liu))(?)为(Wei)后(Hou)缀(Zhui)的(De)是(Shi)字(Zi)符(Fu)流(Liu)。(?)
261.Java类(Lei)库(Ku)中(Zhong),(?)将(Jiang)信(Xin)息(Xi)写(Xie)入(Ru)内(Nei)存(Cun)的(De)类(Lei)是(Shi)((?))(?)
A. Java.io.FileOutputStream
B. java.ByteArrayOutputStream
C. java.io.BufferedOutputStream
D. java,.io.DataOutputStream
答(Da)案(An):(?)B
分(Fen)析(Xi):(?) ACD都(Du)是(Shi)io到(Dao)文(Wen)件(Jian)
262.请(Qing)写(Xie)出(Chu)一(Yi)段(Duan)代(Dai)码(Ma),(?)能(Neng)够(Gou)完(Wan)成(Cheng)将(Jiang)字(Zi)符(Fu)串(Chuan)写(Xie)入(Ru)文(Wen)件(Jian)
public class test {
public static void main(String[] args) {
String str = "bjsxt";
writeFile(str);
}

public static void writeFile(String str) {
File file = new File("c:/test.txt");
PrintStream ps = null;
try {
OutputStream fos = new FileOutputStream(file);
ps = new PrintStream(fos);
ps.print(str);
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
ps.close();
}
}
}
263.下(Xia)面(Mian)哪(Na)个(Ge)流(Liu)类(Lei)属(Shu)于(Yu)面(Mian)向(Xiang)字(Zi)符(Fu)的(De)输(Shu)入(Ru)流(Liu)((?))(?)
A. BufferedWriter
B. FileInputStream
C. ObjectInputStream
D. InputStreamReader
答(Da)案(An):(?)D
264.Java中(Zhong)如(Ru)何(He)实(Shi)现(Xian)序(Xu)列(Lie)化(Hua),(?)有(You)什(Shi)么(Me)意(Yi)义(Yi)?(?)

答(Da):(?)序(Xu)列(Lie)化(Hua)就(Jiu)是(Shi)一(Yi)种(Zhong)用(Yong)来(Lai)处(Chu)理(Li)对(Dui)象(Xiang)流(Liu)的(De)机(Ji)制(Zhi),(?)所(Suo)谓(Wei)对(Dui)象(Xiang)流(Liu)也(Ye)就(Jiu)是(Shi)将(Jiang)对(Dui)象(Xiang)的(De)内(Nei)容(Rong)进(Jin)行(Xing)流(Liu)化(Hua)。(?)可(Ke)以(Yi)对(Dui)流(Liu)化(Hua)后(Hou)的(De)对(Dui)象(Xiang)进(Jin)行(Xing)读(Du)写(Xie)操(Cao)作(Zuo),(?)也(Ye)可(Ke)将(Jiang)流(Liu)化(Hua)后(Hou)的(De)对(Dui)象(Xiang)传(Chuan)输(Shu)于(Yu)网(Wang)络(Luo)之(Zhi)间(Jian)。(?)序(Xu)列(Lie)化(Hua)是(Shi)为(Wei)了(Liao)解(Jie)决(Jue)对(Dui)象(Xiang)流(Liu)读(Du)写(Xie)操(Cao)作(Zuo)时(Shi)可(Ke)能(Neng)引(Yin)发(Fa)的(De)问(Wen)题(Ti)((?)如(Ru)果(Guo)不(Bu)进(Jin)行(Xing)序(Xu)列(Lie)化(Hua)可(Ke)能(Neng)会(Hui)存(Cun)在(Zai)数(Shu)据(Ju)乱(Luan)序(Xu)的(De)问(Wen)题(Ti))(?)。(?)

要(Yao)实(Shi)现(Xian)序(Xu)列(Lie)化(Hua),(?)需(Xu)要(Yao)让(Rang)一(Yi)个(Ge)类(Lei)实(Shi)现(Xian)Serializable接(Jie)口(Kou),(?)该(Gai)接(Jie)口(Kou)是(Shi)一(Yi)个(Ge)标(Biao)识(Shi)性(Xing)接(Jie)口(Kou),(?)标(Biao)注(Zhu)该(Gai)类(Lei)对(Dui)象(Xiang)是(Shi)可(Ke)被(Bei)序(Xu)列(Lie)化(Hua)的(De),(?)然(Ran)后(Hou)使(Shi)用(Yong)一(Yi)个(Ge)输(Shu)出(Chu)流(Liu)来(Lai)构(Gou)造(Zao)一(Yi)个(Ge)对(Dui)象(Xiang)输(Shu)出(Chu)流(Liu)并(Bing)通(Tong)过(Guo)writeObject(Object obj)方(Fang)法(Fa)就(Jiu)可(Ke)以(Yi)将(Jiang)实(Shi)现(Xian)对(Dui)象(Xiang)写(Xie)出(Chu)(即(Ji)保(Bao)存(Cun)其(Qi)状(Zhuang)态(Tai));(?)如(Ru)果(Guo)需(Xu)要(Yao)反(Fan)序(Xu)列(Lie)化(Hua)则(Ze)可(Ke)以(Yi)用(Yong)一(Yi)个(Ge)输(Shu)入(Ru)流(Liu)建(Jian)立(Li)对(Dui)象(Xiang)输(Shu)入(Ru)流(Liu),(?)然(Ran)后(Hou)通(Tong)过(Guo)readObject方(Fang)法(Fa)从(Cong)流(Liu)中(Zhong)读(Du)取(Qu)对(Dui)象(Xiang)。(?)序(Xu)列(Lie)化(Hua)除(Chu)了(Liao)能(Neng)够(Gou)实(Shi)现(Xian)对(Dui)象(Xiang)的(De)持(Chi)久(Jiu)化(Hua)之(Zhi)外(Wai),(?)还(Huan)能(Neng)够(Gou)用(Yong)于(Yu)对(Dui)象(Xiang)的(De)深(Shen)度(Du)克(Ke)隆(Long)((?)参(Can)见(Jian)Java面(Mian)试(Shi)题(Ti)集(Ji)1-29题(Ti))(?)

265.Java 中(Zhong)有(You)几(Ji)种(Zhong)类(Lei)型(Xing)的(De)流(Liu)?(?)

答(Da):(?)两(Liang)种(Zhong)流(Liu)分(Fen)别(Bie)是(Shi)字(Zi)节(Jie)流(Liu),(?)字(Zi)符(Fu)流(Liu)。(?)

字(Zi)节(Jie)流(Liu)继(Ji)承(Cheng)于(Yu)InputStream、(?)OutputStream,(?)字(Zi)符(Fu)流(Liu)继(Ji)承(Cheng)于(Yu)Reader、(?)Writer。(?)在(Zai)java.io 包(Bao)中(Zhong)还(Huan)有(You)许(Xu)多(Duo)其(Qi)他(Ta)的(De)流(Liu),(?)主(Zhu)要(Yao)是(Shi)为(Wei)了(Liao)提(Ti)高(Gao)性(Xing)能(Neng)和(He)使(Shi)用(Yong)方(Fang)便(Bian)。(?)

补(Bu)充(Chong):(?)关(Guan)于(Yu)Java的(De)IO需(Xu)要(Yao)注(Zhu)意(Yi)的(De)有(You)两(Liang)点(Dian):(?)一(Yi)是(Shi)两(Liang)种(Zhong)对(Dui)称(Cheng)性(Xing)((?)输(Shu)入(Ru)和(He)输(Shu)出(Chu)的(De)对(Dui)称(Cheng)性(Xing),(?)字(Zi)节(Jie)和(He)字(Zi)符(Fu)的(De)对(Dui)称(Cheng)性(Xing))(?);(?)二(?)是(Shi)两(Liang)种(Zhong)设(She)计(Ji)模(Mo)式(Shi)((?)适(Shi)配(Pei)器(Qi)模(Mo)式(Shi)和(He)装(Zhuang)潢(Huang)模(Mo)式(Shi))(?)。(?)另(Ling)外(Wai)Java中(Zhong)的(De)流(Liu)不(Bu)同(Tong)于(Yu)C#的(De)是(Shi)它(Ta)只(Zhi)有(You)一(Yi)个(Ge)维(Wei)度(Du)一(Yi)个(Ge)方(Fang)向(Xiang)。(?)

补(Bu)充(Chong):(?)下(Xia)面(Mian)用(Yong)IO和(He)NIO两(Liang)种(Zhong)方(Fang)式(Shi)实(Shi)现(Xian)文(Wen)件(Jian)拷(Kao)贝(Bei),(?)这(Zhe)个(Ge)题(Ti)目(Mu)在(Zai)面(Mian)试(Shi)的(De)时(Shi)候(Hou)是(Shi)经(Jing)常(Chang)被(Bei)问(Wen)到(Dao)的(De)。(?)

package com.bjsxt;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class MyUtil {
  private MyUtil() {
        throw new AssertionError();
    }

    public static void fileCopy(String source, String target) throws IOException {
        try (InputStream in = new FileInputStream(source)) {
            try (OutputStream out = new FileOutputStream(target)) {
                byte[] buffer = new byte[4096];
                int bytesToRead;
                while((bytesToRead = in.read(buffer)) != -1) {
                    out.write(buffer, 0, bytesToRead);
                }
            }
        }
    }

    public static void fileCopyNIO(String source, String target) throws IOException {
        try (FileInputStream in = new FileInputStream(source)) {
            try (FileOutputStream out = new FileOutputStream(target)) {
                FileChannel inChannel = in.getChannel();
                FileChannel outChannel = out.getChannel();
                ByteBuffer buffer = ByteBuffer.allocate(4096);
                while(inChannel.read(buffer) != -1) {
                    buffer.flip();
                    outChannel.write(buffer);
                    buffer.clear();
                 }
            }
        }
    }
}

注(Zhu)意(Yi):(?)上(Shang)面(Mian)用(Yong)到(Dao)Java 7的(De)TWR,(?)使(Shi)用(Yong)TWR后(Hou)可(Ke)以(Yi)不(Bu)用(Yong)在(Zai)finally中(Zhong)释(Shi)放(Fang)外(Wai)部(Bu)资(Zi)源(Yuan) ,(?)从(Cong)而(?)让(Rang)代(Dai)码(Ma)更(Geng)加(Jia)优(You)雅(Ya)。(?)

266.写(Xie)一(Yi)个(Ge)方(Fang)法(Fa),(?)输(Shu)入(Ru)一(Yi)个(Ge)文(Wen)件(Jian)名(Ming)和(He)一(Yi)个(Ge)字(Zi)符(Fu)串(Chuan),(?)统(Tong)计(Ji)这(Zhe)个(Ge)字(Zi)符(Fu)串(Chuan)在(Zai)这(Zhe)个(Ge)文(Wen)件(Jian)中(Zhong)出(Chu)现(Xian)的(De)次(Ci)数(Shu)。(?)

答(Da):(?)代(Dai)码(Ma)如(Ru)下(Xia):(?)

package com.bjsxt;
import java.io.BufferedReader;
import java.io.FileReader;

public class Account {
    // 工(Gong)具(Ju)类(Lei)中(Zhong)的(De)方(Fang)法(Fa)都(Du)是(Shi)静(Jing)态(Tai)方(Fang)式(Shi)访(Fang)问(Wen)的(De)因(Yin)此(Ci)将(Jiang)构(Gou)造(Zao)器(Qi)私(Si)有(You)不(Bu)允(Yun)许(Xu)创(Chuang)建(Jian)对(Dui)象(Xiang)(绝(Jue)对(Dui)好(Hao)习(Xi)惯(Guan))
    private Account() {
        throw new AssertionError();
    }
    /**
     * 统(Tong)计(Ji)给(Gei)定(Ding)文(Wen)件(Jian)中(Zhong)给(Gei)定(Ding)字(Zi)符(Fu)串(Chuan)的(De)出(Chu)现(Xian)次(Ci)数(Shu)
     * @param filename  文(Wen)件(Jian)名(Ming)
     * @param word 字(Zi)符(Fu)串(Chuan)
     * @return 字(Zi)符(Fu)串(Chuan)在(Zai)文(Wen)件(Jian)中(Zhong)出(Chu)现(Xian)的(De)次(Ci)数(Shu)
     */
    public static int countWordInFile(String filename, String word) {
        int counter = 0;
        try (FileReader fr = new FileReader(filename)) {
            try (BufferedReader br = new BufferedReader(fr)) {
                String line = null;
                while ((line = br.readLine()) != null) {
                    int index = -1;
                    while (line.length() >= word.length() && (index = line.indexOf(word)) >= 0) {
                        counter++;
                        line = line.substring(index + word.length());
                    }
                }
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return counter;
    }
}
267.输(Shu)入(Ru)流(Liu)和(He)输(Shu)出(Chu)流(Liu)联(Lian)系(Xi)和(He)区(Qu)别(Bie),(?)节(Jie)点(Dian)流(Liu)和(He)处(Chu)理(Li)流(Liu)联(Lian)系(Xi)和(He)区(Qu)别(Bie)

首(Shou)先(Xian),(?)你(Ni)要(Yao)明(Ming)白(Bai)什(Shi)么(Me)是(Shi)“(?)流(Liu)”(?)。(?)直(Zhi)观(Guan)地(Di)讲(Jiang),(?)流(Liu)就(Jiu)像(Xiang)管(Guan)道(Dao)一(Yi)样(Yang),(?)在(Zai)程(Cheng)序(Xu)和(He)文(Wen)件(Jian)之(Zhi)间(Jian),(?)输(Shu)入(Ru)输(Shu)出(Chu)的(De)方(Fang)向(Xiang)是(Shi)针(Zhen)对(Dui)程(Cheng)序(Xu)而(?)言(Yan),(?)向(Xiang)程(Cheng)序(Xu)中(Zhong)读(Du)入(Ru)东(Dong)西(Xi),(?)就(Jiu)是(Shi)输(Shu)入(Ru)流(Liu),(?)从(Cong)程(Cheng)序(Xu)中(Zhong)向(Xiang)外(Wai)读(Du)东(Dong)西(Xi),(?)就(Jiu)是(Shi)输(Shu)出(Chu)流(Liu)。(?)

输(Shu)入(Ru)流(Liu)是(Shi)得(De)到(Dao)数(Shu)据(Ju),(?)输(Shu)出(Chu)流(Liu)是(Shi)输(Shu)出(Chu)数(Shu)据(Ju),(?)而(?)节(Jie)点(Dian)流(Liu),(?)处(Chu)理(Li)流(Liu)是(Shi)流(Liu)的(De)另(Ling)一(Yi)种(Zhong)划(Hua)分(Fen),(?)按(An)照(Zhao)功(Gong)能(Neng)不(Bu)同(Tong)进(Jin)行(Xing)的(De)划(Hua)分(Fen)。(?)节(Jie)点(Dian)流(Liu),(?)可(Ke)以(Yi)从(Cong)或(Huo)向(Xiang)一(Yi)个(Ge)特(Te)定(Ding)的(De)地(Di)方(Fang)(节(Jie)点(Dian))读(Du)写(Xie)数(Shu)据(Ju)。(?)处(Chu)理(Li)流(Liu)是(Shi)对(Dui)一(Yi)个(Ge)已(Yi)存(Cun)在(Zai)的(De)流(Liu)的(De)连(Lian)接(Jie)和(He)封(Feng)装(Zhuang),(?)通(Tong)过(Guo)所(Suo)封(Feng)装(Zhuang)的(De)流(Liu)的(De)功(Gong)能(Neng)调(Diao)用(Yong)实(Shi)现(Xian)数(Shu)据(Ju)读(Du)写(Xie)。(?)如(Ru)BufferedReader。(?)处(Chu)理(Li)流(Liu)的(De)构(Gou)造(Zao)方(Fang)法(Fa)总(Zong)是(Shi)要(Yao)带(Dai)一(Yi)个(Ge)其(Qi)他(Ta)的(De)流(Liu)对(Dui)象(Xiang)做(Zuo)参(Can)数(Shu)。(?)一(Yi)个(Ge)流(Liu)对(Dui)象(Xiang)经(Jing)过(Guo)其(Qi)他(Ta)流(Liu)的(De)多(Duo)次(Ci)包(Bao)装(Zhuang),(?)称(Cheng)为(Wei)流(Liu)的(De)链(Lian)接(Jie)。(?)

268.字(Zi)符(Fu)流(Liu)字(Zi)节(Jie)流(Liu)联(Lian)系(Xi)区(Qu)别(Bie);(?)什(Shi)么(Me)时(Shi)候(Hou)使(Shi)用(Yong)字(Zi)节(Jie)流(Liu)和(He)字(Zi)符(Fu)流(Liu)?

字(Zi)符(Fu)流(Liu)和(He)字(Zi)节(Jie)流(Liu)是(Shi)流(Liu)的(De)一(Yi)种(Zhong)划(Hua)分(Fen),(?)按(An)处(Chu)理(Li)照(Zhao)流(Liu)的(De)数(Shu)据(Ju)单(Dan)位(Wei)进(Jin)行(Xing)的(De)划(Hua)分(Fen)。(?)两(Liang)类(Lei)都(Du)分(Fen)为(Wei)输(Shu)入(Ru)和(He)输(Shu)出(Chu)操(Cao)作(Zuo)。(?)在(Zai)字(Zi)节(Jie)流(Liu)中(Zhong)输(Shu)出(Chu)数(Shu)据(Ju)主(Zhu)要(Yao)是(Shi)使(Shi)用(Yong)OutputStream完(Wan)成(Cheng),(?)输(Shu)入(Ru)使(Shi)的(De)是(Shi)InputStream,(?)在(Zai)字(Zi)符(Fu)流(Liu)中(Zhong)输(Shu)出(Chu)主(Zhu)要(Yao)是(Shi)使(Shi)用(Yong)Writer类(Lei)完(Wan)成(Cheng),(?)输(Shu)入(Ru)流(Liu)主(Zhu)要(Yao)使(Shi)用(Yong)Reader类(Lei)完(Wan)成(Cheng)。(?)这(Zhe)四(Si)个(Ge)都(Du)是(Shi)抽(Chou)象(Xiang)类(Lei)。(?)

字(Zi)符(Fu)流(Liu)处(Chu)理(Li)的(De)单(Dan)元(Yuan)为(Wei)2个(Ge)字(Zi)节(Jie)的(De)Unicode字(Zi)符(Fu),(?)分(Fen)别(Bie)操(Cao)作(Zuo)字(Zi)符(Fu)、(?)字(Zi)符(Fu)数(Shu)组(Zu)或(Huo)字(Zi)符(Fu)串(Chuan),(?)而(?)字(Zi)节(Jie)流(Liu)处(Chu)理(Li)单(Dan)元(Yuan)为(Wei)1个(Ge)字(Zi)节(Jie),(?)操(Cao)作(Zuo)字(Zi)节(Jie)和(He)字(Zi)节(Jie)数(Shu)组(Zu)。(?)字(Zi)节(Jie)流(Liu)是(Shi)最(Zui)基(Ji)本(Ben)的(De),(?)所(Suo)有(You)的(De)InputStrem和(He)OutputStream的(De)子(Zi)类(Lei)都(Du)是(Shi),主(Zhu)要(Yao)用(Yong)在(Zai)处(Chu)理(Li)二(?)进(Jin)制(Zhi)数(Shu)据(Ju),(?)它(Ta)是(Shi)按(An)字(Zi)节(Jie)来(Lai)处(Chu)理(Li)的(De) 但(Dan)实(Shi)际(Ji)中(Zhong)很(Hen)多(Duo)的(De)数(Shu)据(Ju)是(Shi)文(Wen)本(Ben),(?)又(You)提(Ti)出(Chu)了(Liao)字(Zi)符(Fu)流(Liu)的(De)概(Gai)念(Nian),(?)它(Ta)是(Shi)按(An)虚(Xu)拟(Ni)机(Ji)的(De)编(Bian)码(Ma)来(Lai)处(Chu)理(Li),(?)也(Ye)就(Jiu)是(Shi)要(Yao)进(Jin)行(Xing)字(Zi)符(Fu)集(Ji)的(De)转(Zhuan)化(Hua) 这(Zhe)两(Liang)个(Ge)之(Zhi)间(Jian)通(Tong)过(Guo) InputStreamReader,OutputStreamWriter来(Lai)关(Guan)联(Lian),(?)实(Shi)际(Ji)上(Shang)是(Shi)通(Tong)过(Guo)byte[]和(He)String来(Lai)关(Guan)联(Lian)的(De)。(?)

269.列(Lie)举(Ju)常(Chang)用(Yong)字(Zi)节(Jie)输(Shu)入(Ru)流(Liu)和(He)输(Shu)出(Chu)流(Liu)并(Bing)说(Shuo)明(Ming)其(Qi)特(Te)点(Dian),(?)至(Zhi)少(Shao)5对(Dui)。(?)

FileInputStream 从(Cong)文(Wen)件(Jian)系(Xi)统(Tong)中(Zhong)的(De)某(Mou)个(Ge)文(Wen)件(Jian)中(Zhong)获(Huo)得(De)输(Shu)入(Ru)字(Zi)节(Jie)。(?)

FileOutputStream 从(Cong)程(Cheng)序(Xu)当(Dang)中(Zhong)的(De)数(Shu)据(Ju),(?)写(Xie)入(Ru)到(Dao)指(Zhi)定(Ding)文(Wen)件(Jian)。(?)

ObjectInputStream 对(Dui)以(Yi)前(Qian)使(Shi)用(Yong) ObjectOutputStream 写(Xie)入(Ru)的(De)基(Ji)本(Ben)数(Shu)据(Ju)和(He)对(Dui)象(Xiang)进(Jin)行(Xing)反(Fan)序(Xu)列(Lie)化(Hua)。(?) ObjectOutputStream 和(He)ObjectInputStream 分(Fen)别(Bie)与(Yu)FileOutputStream 和(He) FileInputStream 一(Yi)起(Qi)使(Shi)用(Yong)时(Shi),(?)可(Ke)以(Yi)为(Wei)应(Ying)用(Yong)程(Cheng)序(Xu)提(Ti)供(Gong)对(Dui)对(Dui)象(Xiang)图(Tu)形(Xing)的(De)持(Chi)久(Jiu)存(Cun)储(Chu)。(?)ObjectInputStream 用(Yong)于(Yu)恢(Hui)复(Fu)那(Na)些(Xie)以(Yi)前(Qian)序(Xu)列(Lie)化(Hua)的(De)对(Dui)象(Xiang)。(?)其(Qi)他(Ta)用(Yong)途(Tu)包(Bao)括(Kuo)使(Shi)用(Yong)套(Tao)接(Jie)字(Zi)流(Liu)在(Zai)主(Zhu)机(Ji)之(Zhi)间(Jian)传(Chuan)递(Di)对(Dui)象(Xiang),(?)或(Huo)者(Zhe)用(Yong)于(Yu)编(Bian)组(Zu)和(He)解(Jie)组(Zu)远(Yuan)程(Cheng)通(Tong)信(Xin)系(Xi)统(Tong)中(Zhong)的(De)实(Shi)参(Can)和(He)形(Xing)参(Can)。(?)

ByteArrayInputStream 包(Bao)含(Han)一(Yi)个(Ge)内(Nei)部(Bu)缓(Huan)冲(Chong)区(Qu),(?)该(Gai)缓(Huan)冲(Chong)区(Qu)包(Bao)含(Han)从(Cong)流(Liu)中(Zhong)读(Du)取(Qu)的(De)字(Zi)节(Jie)。(?)内(Nei)部(Bu)计(Ji)数(Shu)器(Qi)跟(Gen)踪(Zong) read 方(Fang)法(Fa)要(Yao)提(Ti)供(Gong)的(De)下(Xia)一(Yi)个(Ge)字(Zi)节(Jie)。(?)

FilterInputStream 包(Bao)含(Han)其(Qi)他(Ta)一(Yi)些(Xie)输(Shu)入(Ru)流(Liu),(?)它(Ta)将(Jiang)这(Zhe)些(Xie)流(Liu)用(Yong)作(Zuo)其(Qi)基(Ji)本(Ben)数(Shu)据(Ju)源(Yuan),(?)它(Ta)可(Ke)以(Yi)直(Zhi)接(Jie)传(Chuan)输(Shu)数(Shu)据(Ju)或(Huo)提(Ti)供(Gong)一(Yi)些(Xie)额(E)外(Wai)的(De)功(Gong)能(Neng)。(?)FilterInputStream 类(Lei)本(Ben)身(Shen)只(Zhi)是(Shi)简(Jian)单(Dan)地(Di)重(Zhong)写(Xie)那(Na)些(Xie)将(Jiang)所(Suo)有(You)请(Qing)求(Qiu)传(Chuan)递(Di)给(Gei)所(Suo)包(Bao)含(Han)输(Shu)入(Ru)流(Liu)的(De) InputStream 的(De)所(Suo)有(You)方(Fang)法(Fa)。(?)FilterInputStream 的(De)子(Zi)类(Lei)可(Ke)进(Jin)一(Yi)步(Bu)重(Zhong)写(Xie)这(Zhe)些(Xie)方(Fang)法(Fa)中(Zhong)的(De)一(Yi)些(Xie)方(Fang)法(Fa),(?)并(Bing)且(Qie)还(Huan)可(Ke)以(Yi)提(Ti)供(Gong)一(Yi)些(Xie)额(E)外(Wai)的(De)方(Fang)法(Fa)和(He)字(Zi)段(Duan)。(?)

StringBufferInputStream此(Ci)类(Lei)允(Yun)许(Xu)应(Ying)用(Yong)程(Cheng)序(Xu)创(Chuang)建(Jian)输(Shu)入(Ru)流(Liu),(?)在(Zai)该(Gai)流(Liu)中(Zhong)读(Du)取(Qu)的(De)字(Zi)节(Jie)由(You)字(Zi)符(Fu)串(Chuan)内(Nei)容(Rong)提(Ti)供(Gong)。(?)应(Ying)用(Yong)程(Cheng)序(Xu)还(Huan)可(Ke)以(Yi)使(Shi)用(Yong)ByteArrayInputStream 从(Cong) byte 数(Shu)组(Zu)中(Zhong)读(Du)取(Qu)字(Zi)节(Jie)。(?) 只(Zhi)有(You)字(Zi)符(Fu)串(Chuan)中(Zhong)每(Mei)个(Ge)字(Zi)符(Fu)的(De)低(Di)八(Ba)位(Wei)可(Ke)以(Yi)由(You)此(Ci)类(Lei)使(Shi)用(Yong)。(?)

ByteArrayOutputStream此(Ci)类(Lei)实(Shi)现(Xian)了(Liao)一(Yi)个(Ge)输(Shu)出(Chu)流(Liu),(?)其(Qi)中(Zhong)的(De)数(Shu)据(Ju)被(Bei)写(Xie)入(Ru)一(Yi)个(Ge) byte 数(Shu)组(Zu)。(?)缓(Huan)冲(Chong)区(Qu)会(Hui)随(Sui)着(Zhuo)数(Shu)据(Ju)的(De)不(Bu)断(Duan)写(Xie)入(Ru)而(?)自(Zi)动(Dong)增(Zeng)长(Chang)。(?)可(Ke)使(Shi)用(Yong) toByteArray() 和(He) toString() 获(Huo)取(Qu)数(Shu)据(Ju)。(?)

FileOutputStream文(Wen)件(Jian)输(Shu)出(Chu)流(Liu)是(Shi)用(Yong)于(Yu)将(Jiang)数(Shu)据(Ju)写(Xie)入(Ru) File 或(Huo)FileDescriptor 的(De)输(Shu)出(Chu)流(Liu)。(?)文(Wen)件(Jian)是(Shi)否(Fou)可(Ke)用(Yong)或(Huo)能(Neng)否(Fou)可(Ke)以(Yi)被(Bei)创(Chuang)建(Jian)取(Qu)决(Jue)于(Yu)基(Ji)础(Chu)平(Ping)台(Tai)。(?)特(Te)别(Bie)是(Shi)某(Mou)些(Xie)平(Ping)台(Tai)一(Yi)次(Ci)只(Zhi)允(Yun)许(Xu)一(Yi)个(Ge) FileOutputStream((?)或(Huo)其(Qi)他(Ta)文(Wen)件(Jian)写(Xie)入(Ru)对(Dui)象(Xiang))(?)打(Da)开(Kai)文(Wen)件(Jian)进(Jin)行(Xing)写(Xie)入(Ru)。(?)在(Zai)这(Zhe)种(Zhong)情(Qing)况(Kuang)下(Xia),(?)如(Ru)果(Guo)所(Suo)涉(She)及(Ji)的(De)文(Wen)件(Jian)已(Yi)经(Jing)打(Da)开(Kai),(?)则(Ze)此(Ci)类(Lei)中(Zhong)的(De)构(Gou)造(Zao)方(Fang)法(Fa)将(Jiang)失(Shi)败(Bai)。(?)

FilterOutputStream类(Lei)是(Shi)过(Guo)滤(Lu)输(Shu)出(Chu)流(Liu)的(De)所(Suo)有(You)类(Lei)的(De)超(Chao)类(Lei)。(?)这(Zhe)些(Xie)流(Liu)位(Wei)于(Yu)已(Yi)存(Cun)在(Zai)的(De)输(Shu)出(Chu)流(Liu)((?)基(Ji)础(Chu) 输(Shu)出(Chu)流(Liu))(?)之(Zhi)上(Shang),(?)它(Ta)们(Men)将(Jiang)已(Yi)存(Cun)在(Zai)的(De)输(Shu)出(Chu)流(Liu)作(Zuo)为(Wei)其(Qi)基(Ji)本(Ben)数(Shu)据(Ju)接(Jie)收(Shou)器(Qi),(?)但(Dan)可(Ke)能(Neng)直(Zhi)接(Jie)传(Chuan)输(Shu)数(Shu)据(Ju)或(Huo)提(Ti)供(Gong)一(Yi)些(Xie)额(E)外(Wai)的(De)功(Gong)能(Neng)。(?) FilterOutputStream 类(Lei)本(Ben)身(Shen)只(Zhi)是(Shi)简(Jian)单(Dan)地(Di)重(Zhong)写(Xie)那(Na)些(Xie)将(Jiang)所(Suo)有(You)请(Qing)求(Qiu)传(Chuan)递(Di)给(Gei)所(Suo)包(Bao)含(Han)输(Shu)出(Chu)流(Liu)的(De) OutputStream 的(De)所(Suo)有(You)方(Fang)法(Fa)。(?)FilterOutputStream 的(De)子(Zi)类(Lei)可(Ke)进(Jin)一(Yi)步(Bu)地(Di)重(Zhong)写(Xie)这(Zhe)些(Xie)方(Fang)法(Fa)中(Zhong)的(De)一(Yi)些(Xie)方(Fang)法(Fa),(?)并(Bing)且(Qie)还(Huan)可(Ke)以(Yi)提(Ti)供(Gong)一(Yi)些(Xie)额(E)外(Wai)的(De)方(Fang)法(Fa)和(He)字(Zi)段(Duan)。(?)

ObjectOutputStream 将(Jiang) Java 对(Dui)象(Xiang)的(De)基(Ji)本(Ben)数(Shu)据(Ju)类(Lei)型(Xing)和(He)图(Tu)形(Xing)写(Xie)入(Ru) OutputStream。(?)可(Ke)以(Yi)使(Shi)用(Yong) ObjectInputStream 读(Du)取(Qu)((?)重(Zhong)构(Gou))(?)对(Dui)象(Xiang)。(?)通(Tong)过(Guo)在(Zai)流(Liu)中(Zhong)使(Shi)用(Yong)文(Wen)件(Jian)可(Ke)以(Yi)实(Shi)现(Xian)对(Dui)象(Xiang)的(De)持(Chi)久(Jiu)存(Cun)储(Chu)。(?)如(Ru)果(Guo)流(Liu)是(Shi)网(Wang)络(Luo)套(Tao)接(Jie)字(Zi)流(Liu),(?)则(Ze)可(Ke)以(Yi)在(Zai)另(Ling)一(Yi)台(Tai)主(Zhu)机(Ji)上(Shang)或(Huo)另(Ling)一(Yi)个(Ge)进(Jin)程(Cheng)中(Zhong)重(Zhong)构(Gou)对(Dui)象(Xiang)。(?)

PipedOutputStream可(Ke)以(Yi)将(Jiang)管(Guan)道(Dao)输(Shu)出(Chu)流(Liu)连(Lian)接(Jie)到(Dao)管(Guan)道(Dao)输(Shu)入(Ru)流(Liu)来(Lai)创(Chuang)建(Jian)通(Tong)信(Xin)管(Guan)道(Dao)。(?)管(Guan)道(Dao)输(Shu)出(Chu)流(Liu)是(Shi)管(Guan)道(Dao)的(De)发(Fa)送(Song)端(Duan)。(?)通(Tong)常(Chang),(?)数(Shu)据(Ju)由(You)某(Mou)个(Ge)线(Xian)程(Cheng)写(Xie)入(Ru) PipedOutputStream 对(Dui)象(Xiang),(?)并(Bing)由(You)其(Qi)他(Ta)线(Xian)程(Cheng)从(Cong)连(Lian)接(Jie)的(De) PipedInputStream 读(Du)取(Qu)。(?)不(Bu)建(Jian)议(Yi)对(Dui)这(Zhe)两(Liang)个(Ge)对(Dui)象(Xiang)尝(Chang)试(Shi)使(Shi)用(Yong)单(Dan)个(Ge)线(Xian)程(Cheng),(?)因(Yin)为(Wei)这(Zhe)样(Yang)可(Ke)能(Neng)会(Hui)造(Zao)成(Cheng)该(Gai)线(Xian)程(Cheng)死(Si)锁(Suo)。(?)如(Ru)果(Guo)某(Mou)个(Ge)线(Xian)程(Cheng)正(Zheng)从(Cong)连(Lian)接(Jie)的(De)管(Guan)道(Dao)输(Shu)入(Ru)流(Liu)中(Zhong)读(Du)取(Qu)数(Shu)据(Ju)字(Zi)节(Jie),(?)但(Dan)该(Gai)线(Xian)程(Cheng)不(Bu)再(Zai)处(Chu)于(Yu)活(Huo)动(Dong)状(Zhuang)态(Tai),(?)则(Ze)该(Gai)管(Guan)道(Dao)被(Bei)视(Shi)为(Wei)处(Chu)于(Yu)毁(Hui)坏(Huai)状(Zhuang)态(Tai)。(?)

270.说(Shuo)明(Ming)缓(Huan)冲(Chong)流(Liu)的(De)优(You)点(Dian)和(He)原(Yuan)理(Li)

不(Bu)带(Dai)缓(Huan)冲(Chong)的(De)流(Liu)的(De)工(Gong)作(Zuo)原(Yuan)理(Li):(?)

它(Ta)读(Du)取(Qu)到(Dao)一(Yi)个(Ge)字(Zi)节(Jie)/字(Zi)符(Fu),(?)就(Jiu)向(Xiang)用(Yong)户(Hu)指(Zhi)定(Ding)的(De)路(Lu)径(Jing)写(Xie)出(Chu)去(Qu),(?)读(Du)一(Yi)个(Ge)写(Xie)一(Yi)个(Ge),(?)所(Suo)以(Yi)就(Jiu)慢(Man)了(Liao)。(?)

带(Dai)缓(Huan)冲(Chong)的(De)流(Liu)的(De)工(Gong)作(Zuo)原(Yuan)理(Li):(?)

读(Du)取(Qu)到(Dao)一(Yi)个(Ge)字(Zi)节(Jie)/字(Zi)符(Fu),(?)先(Xian)不(Bu)输(Shu)出(Chu),(?)等(Deng)凑(?)足(Zu)了(Liao)缓(Huan)冲(Chong)的(De)最(Zui)大(Da)容(Rong)量(Liang)后(Hou)一(Yi)次(Ci)性(Xing)写(Xie)出(Chu)去(Qu),(?)从(Cong)而(?)提(Ti)高(Gao)了(Liao)工(Gong)作(Zuo)效(Xiao)率(Lu)

优(You)点(Dian):(?)减(Jian)少(Shao)对(Dui)硬(Ying)盘(Pan)的(De)读(Du)取(Qu)次(Ci)数(Shu),(?)降(Jiang)低(Di)对(Dui)硬(Ying)盘(Pan)的(De)损(Sun)耗(Hao)。(?)

271.序(Xu)列(Lie)化(Hua)的(De)定(Ding)义(Yi)、(?)实(Shi)现(Xian)和(He)注(Zhu)意(Yi)事(Shi)项(Xiang)

想(Xiang)把(Ba)一(Yi)个(Ge)对(Dui)象(Xiang)写(Xie)在(Zai)硬(Ying)盘(Pan)上(Shang)或(Huo)者(Zhe)网(Wang)络(Luo)上(Shang),(?)对(Dui)其(Qi)进(Jin)行(Xing)序(Xu)列(Lie)化(Hua),(?)把(Ba)他(Ta)序(Xu)列(Lie)化(Hua)成(Cheng)为(Wei)一(Yi)个(Ge)字(Zi)节(Jie)流(Liu)。(?)

实(Shi)现(Xian)和(He)注(Zhu)意(Yi)事(Shi)项(Xiang):(?)

1)(?)实(Shi)现(Xian)接(Jie)口(Kou)Serializable Serializable接(Jie)口(Kou)中(Zhong)没(Mei)有(You)任(Ren)何(He)的(De)方(Fang)法(Fa),(?)实(Shi)现(Xian)该(Gai)接(Jie)口(Kou)的(De)类(Lei)不(Bu)需(Xu)要(Yao)实(Shi)现(Xian)额(E)外(Wai)的(De)方(Fang)法(Fa)。(?)

2)(?)如(Ru)果(Guo)对(Dui)象(Xiang)中(Zhong)的(De)某(Mou)个(Ge)属(Shu)性(Xing)是(Shi)对(Dui)象(Xiang)类(Lei)型(Xing),(?)必(Bi)须(Xu)也(Ye)实(Shi)现(Xian)Serializable接(Jie)口(Kou)才(Cai)可(Ke)以(Yi),(?)序(Xu)列(Lie)化(Hua)对(Dui)静(Jing)态(Tai)变(Bian)量(Liang)无(Wu)效(Xiao)

3)(?)如(Ru)果(Guo)不(Bu)希(Xi)望(Wang)某(Mou)个(Ge)属(Shu)性(Xing)参(Can)与(Yu)序(Xu)列(Lie)化(Hua),(?)不(Bu)是(Shi)将(Jiang)其(Qi)static,(?)而(?)是(Shi)transient串(Chuan)行(Xing)化(Hua)保(Bao)存(Cun)的(De)只(Zhi)是(Shi)变(Bian)量(Liang)的(De)值(Zhi),(?)对(Dui)于(Yu)变(Bian)量(Liang)的(De)任(Ren)何(He)修(Xiu)饰(Shi)符(Fu),(?)都(Du)不(Bu)能(Neng)保(Bao)存(Cun)序(Xu)列(Lie)化(Hua)版(Ban)本(Ben)不(Bu)兼(Jian)容(Rong)

272.使(Shi)用(Yong)IO流(Liu)完(Wan)成(Cheng)文(Wen)件(Jian)夹(Jia)复(Fu)制(Zhi)

((?)结(Jie)合(He)递(Di)归(Gui))(?)

package com.bjsxt;

import java.io.*;
/**
 * CopyDocJob定(Ding)义(Yi)了(Liao)实(Shi)际(Ji)执(Zhi)行(Xing)的(De)任(Ren)务(Wu),(?)即(Ji)
 * 从(Cong)源(Yuan)目(Mu)录(Lu)拷(Kao)贝(Bei)文(Wen)件(Jian)到(Dao)目(Mu)标(Biao)目(Mu)录(Lu)
*/
public class CopyDir2 {
public static void main(String[] args) {
try {
copyDirectiory("d:/301sxt","d:/301sxt2");
} catch (IOException e) {
e.printStackTrace();
}
}
/**
 * 复(Fu)制(Zhi)单(Dan)个(Ge)文(Wen)件(Jian)
 * @param sourceFile 源(Yuan)文(Wen)件(Jian)
 * @param targetFile 目(Mu)标(Biao)文(Wen)件(Jian)
 * @throws IOException
 */
    private static void copyFile(File sourceFile, File targetFile) throws IOException {
        BufferedInputStream inBuff = null;
        BufferedOutputStream outBuff = null;
        try {
            // 新(Xin)建(Jian)文(Wen)件(Jian)输(Shu)入(Ru)流(Liu)
            inBuff = new BufferedInputStream(new FileInputStream(sourceFile));
            // 新(Xin)建(Jian)文(Wen)件(Jian)输(Shu)出(Chu)流(Liu)
            outBuff = new BufferedOutputStream(new FileOutputStream(targetFile));
            // 缓(Huan)冲(Chong)数(Shu)组(Zu)
            byte[] b = new byte[1024 * 5];
            int len;
            while ((len = inBuff.read(b)) != -1) {
                outBuff.write(b, 0, len);
            }
            // 刷(Shua)新(Xin)此(Ci)缓(Huan)冲(Chong)的(De)输(Shu)出(Chu)流(Liu)
            outBuff.flush();
        } finally {
            // 关(Guan)闭(Bi)流(Liu)
            if (inBuff != null)
                inBuff.close();
            if (outBuff != null)
                outBuff.close();
        }
    }

    /**
     * 复(Fu)制(Zhi)目(Mu)录(Lu)
     * @param sourceDir 源(Yuan)目(Mu)录(Lu)
     * @param targetDir 目(Mu)标(Biao)目(Mu)录(Lu)
     * @throws IOException
     */
    private static void copyDirectiory(String sourceDir, String targetDir) throws IOException {
        // 检(Jian)查(Cha)源(Yuan)目(Mu)录(Lu)
     File fSourceDir = new File(sourceDir);
     if(!fSourceDir.exists() || !fSourceDir.isDirectory()){
      return;
     }
     //检(Jian)查(Cha)目(Mu)标(Biao)目(Mu)录(Lu),(?)如(Ru)不(Bu)存(Cun)在(Zai)则(Ze)创(Chuang)建(Jian)
     File fTargetDir = new File(targetDir);
     if(!fTargetDir.exists()){
      fTargetDir.mkdirs();
     }
        // 遍(Bian)历(Li)源(Yuan)目(Mu)录(Lu)下(Xia)的(De)文(Wen)件(Jian)或(Huo)目(Mu)录(Lu)
        File[] file = fSourceDir.listFiles();
        for (int i = 0; i < file.length; i++) {
            if (file[i].isFile()) {
                // 源(Yuan)文(Wen)件(Jian)
                File sourceFile = file[i];
                // 目(Mu)标(Biao)文(Wen)件(Jian)
                File targetFile = new File(fTargetDir, file[i].getName());
                copyFile(sourceFile, targetFile);
            }
            //递(Di)归(Gui)复(Fu)制(Zhi)子(Zi)目(Mu)录(Lu)
            if (file[i].isDirectory()) {
                // 准(Zhun)备(Bei)复(Fu)制(Zhi)的(De)源(Yuan)文(Wen)件(Jian)夹(Jia)
                String subSourceDir = sourceDir + File.separator + file[i].getName();
                // 准(Zhun)备(Bei)复(Fu)制(Zhi)的(De)目(Mu)标(Biao)文(Wen)件(Jian)夹(Jia)
                String subTargetDir = targetDir + File.separator + file[i].getName();
                // 复(Fu)制(Zhi)子(Zi)目(Mu)录(Lu)
                copyDirectiory(subSourceDir, subTargetDir);
            }
        }
    }
}
273.说(Shuo)说(Shuo)BIO、(?)NIO和(He)AIO的(De)区(Qu)别(Bie)

Java BIO:(?) 同(Tong)步(Bu)并(Bing)阻(Zu)塞(Sai),(?)服(Fu)务(Wu)器(Qi)实(Shi)现(Xian)模(Mo)式(Shi)为(Wei)一(Yi)个(Ge)连(Lian)接(Jie)一(Yi)个(Ge)线(Xian)程(Cheng),(?)即(Ji)客(Ke)户(Hu)端(Duan)有(You)连(Lian)接(Jie)请(Qing)求(Qiu)时(Shi)服(Fu)务(Wu)器(Qi)端(Duan)就(Jiu)需(Xu)要(Yao)启(Qi)动(Dong)一(Yi)个(Ge)线(Xian)程(Cheng)进(Jin)行(Xing)处(Chu)理(Li),(?)如(Ru)果(Guo)这(Zhe)个(Ge)连(Lian)接(Jie)不(Bu)做(Zuo)任(Ren)何(He)事(Shi)情(Qing)会(Hui)造(Zao)成(Cheng)不(Bu)必(Bi)要(Yao)的(De)线(Xian)程(Cheng)开(Kai)销(Xiao),(?)当(Dang)然(Ran)可(Ke)以(Yi)通(Tong)过(Guo)线(Xian)程(Cheng)池(Chi)机(Ji)制(Zhi)改(Gai)善(Shan)。(?)

Java NIO:(?) 同(Tong)步(Bu)非(Fei)阻(Zu)塞(Sai),(?)服(Fu)务(Wu)器(Qi)实(Shi)现(Xian)模(Mo)式(Shi)为(Wei)一(Yi)个(Ge)请(Qing)求(Qiu)一(Yi)个(Ge)线(Xian)程(Cheng),(?)即(Ji)客(Ke)户(Hu)端(Duan)发(Fa)送(Song)的(De)连(Lian)接(Jie)请(Qing)求(Qiu)都(Du)会(Hui)注(Zhu)册(Ce)到(Dao)多(Duo)路(Lu)复(Fu)用(Yong)器(Qi)上(Shang),(?)多(Duo)路(Lu)复(Fu)用(Yong)器(Qi)轮(Lun)询(Xun)到(Dao)连(Lian)接(Jie)有(You)I/O请(Qing)求(Qiu)时(Shi)才(Cai)启(Qi)动(Dong)一(Yi)个(Ge)线(Xian)程(Cheng)进(Jin)行(Xing)处(Chu)理(Li)。(?)

Java AIO:(?) 异(Yi)步(Bu)非(Fei)阻(Zu)塞(Sai),(?)服(Fu)务(Wu)器(Qi)实(Shi)现(Xian)模(Mo)式(Shi)为(Wei)一(Yi)个(Ge)有(You)效(Xiao)请(Qing)求(Qiu)一(Yi)个(Ge)线(Xian)程(Cheng),(?)客(Ke)户(Hu)端(Duan)的(De)I/O请(Qing)求(Qiu)都(Du)是(Shi)由(You)OS先(Xian)完(Wan)成(Cheng)了(Liao)再(Zai)通(Tong)知(Zhi)服(Fu)务(Wu)器(Qi)应(Ying)用(Yong)去(Qu)启(Qi)动(Dong)线(Xian)程(Cheng)进(Jin)行(Xing)处(Chu)理(Li)。(?)

NIO比(Bi)BIO的(De)改(Gai)善(Shan)之(Zhi)处(Chu)是(Shi)把(Ba)一(Yi)些(Xie)无(Wu)效(Xiao)的(De)连(Lian)接(Jie)挡(Dang)在(Zai)了(Liao)启(Qi)动(Dong)线(Xian)程(Cheng)之(Zhi)前(Qian),(?)减(Jian)少(Shao)了(Liao)这(Zhe)部(Bu)分(Fen)资(Zi)源(Yuan)的(De)浪(Lang)费(Fei)((?)因(Yin)为(Wei)我(Wo)们(Men)都(Du)知(Zhi)道(Dao)每(Mei)创(Chuang)建(Jian)一(Yi)个(Ge)线(Xian)程(Cheng),(?)就(Jiu)要(Yao)为(Wei)这(Zhe)个(Ge)线(Xian)程(Cheng)分(Fen)配(Pei)一(Yi)定(Ding)的(De)内(Nei)存(Cun)空(Kong)间(Jian))(?)

AIO比(Bi)NIO的(De)进(Jin)一(Yi)步(Bu)改(Gai)善(Shan)之(Zhi)处(Chu)是(Shi)将(Jiang)一(Yi)些(Xie)暂(Zan)时(Shi)可(Ke)能(Neng)无(Wu)效(Xiao)的(De)请(Qing)求(Qiu)挡(Dang)在(Zai)了(Liao)启(Qi)动(Dong)线(Xian)程(Cheng)之(Zhi)前(Qian),(?)比(Bi)如(Ru)在(Zai)NIO的(De)处(Chu)理(Li)方(Fang)式(Shi)中(Zhong),(?)当(Dang)一(Yi)个(Ge)请(Qing)求(Qiu)来(Lai)的(De)话(Hua),(?)开(Kai)启(Qi)线(Xian)程(Cheng)进(Jin)行(Xing)处(Chu)理(Li),(?)但(Dan)这(Zhe)个(Ge)请(Qing)求(Qiu)所(Suo)需(Xu)要(Yao)的(De)资(Zi)源(Yuan)还(Huan)没(Mei)有(You)就(Jiu)绪(Xu),(?)此(Ci)时(Shi)必(Bi)须(Xu)等(Deng)待(Dai)后(Hou)端(Duan)的(De)应(Ying)用(Yong)资(Zi)源(Yuan),(?)这(Zhe)时(Shi)线(Xian)程(Cheng)就(Jiu)被(Bei)阻(Zu)塞(Sai)了(Liao)。(?)

适(Shi)用(Yong)场(Chang)景(Jing)分(Fen)析(Xi):(?)

BIO方(Fang)式(Shi)适(Shi)用(Yong)于(Yu)连(Lian)接(Jie)数(Shu)目(Mu)比(Bi)较(Jiao)小(Xiao)且(Qie)固(Gu)定(Ding)的(De)架(Jia)构(Gou),(?)这(Zhe)种(Zhong)方(Fang)式(Shi)对(Dui)服(Fu)务(Wu)器(Qi)资(Zi)源(Yuan)要(Yao)求(Qiu)比(Bi)较(Jiao)高(Gao),(?)并(Bing)发(Fa)局(Ju)限(Xian)于(Yu)应(Ying)用(Yong)中(Zhong),(?)JDK1.4以(Yi)前(Qian)的(De)唯(Wei)一(Yi)选(Xuan)择(Ze),(?)但(Dan)程(Cheng)序(Xu)直(Zhi)观(Guan)简(Jian)单(Dan)易(Yi)理(Li)解(Jie),(?)如(Ru)之(Zhi)前(Qian)在(Zai)Apache中(Zhong)使(Shi)用(Yong)。(?)

NIO方(Fang)式(Shi)适(Shi)用(Yong)于(Yu)连(Lian)接(Jie)数(Shu)目(Mu)多(Duo)且(Qie)连(Lian)接(Jie)比(Bi)较(Jiao)短(Duan)((?)轻(Qing)操(Cao)作(Zuo))(?)的(De)架(Jia)构(Gou),(?)比(Bi)如(Ru)聊(Liao)天(Tian)服(Fu)务(Wu)器(Qi),(?)并(Bing)发(Fa)局(Ju)限(Xian)于(Yu)应(Ying)用(Yong)中(Zhong),(?)编(Bian)程(Cheng)比(Bi)较(Jiao)复(Fu)杂(Za),(?)JDK1.4开(Kai)始(Shi)支(Zhi)持(Chi),(?)如(Ru)在(Zai) Nginx,(?)Netty中(Zhong)使(Shi)用(Yong)。(?)

AIO方(Fang)式(Shi)使(Shi)用(Yong)于(Yu)连(Lian)接(Jie)数(Shu)目(Mu)多(Duo)且(Qie)连(Lian)接(Jie)比(Bi)较(Jiao)长(Chang)((?)重(Zhong)操(Cao)作(Zuo))(?)的(De)架(Jia)构(Gou),(?)比(Bi)如(Ru)相(Xiang)册(Ce)服(Fu)务(Wu)器(Qi),(?)充(Chong)分(Fen)调(Diao)用(Yong)OS参(Can)与(Yu)并(Bing)发(Fa)操(Cao)作(Zuo),(?)编(Bian)程(Cheng)比(Bi)较(Jiao)复(Fu)杂(Za),(?)JDK7开(Kai)始(Shi)支(Zhi)持(Chi),(?)在(Zai)成(Cheng)长(Chang)中(Zhong),(?)Netty曾(Zeng)经(Jing)使(Shi)用(Yong)过(Guo),(?)后(Hou)来(Lai)放(Fang)弃(Qi)。(?)

网(Wang)络(Luo)编(Bian)程(Cheng):(?)

274.IP地(Di)址(Zhi)和(He)端(Duan)口(Kou)号(Hao)

1)(?)IP地(Di)址(Zhi)

用(Yong)来(Lai)标(Biao)志(Zhi)网(Wang)络(Luo)中(Zhong)的(De)一(Yi)个(Ge)通(Tong)信(Xin)实(Shi)体(Ti)的(De)地(Di)址(Zhi)。(?)通(Tong)信(Xin)实(Shi)体(Ti)可(Ke)以(Yi)是(Shi)计(Ji)算(Suan)机(Ji),(?)路(Lu)由(You)器(Qi)等(Deng)。(?)

2)(?)IP地(Di)址(Zhi)分(Fen)类(Lei)

IPV4:(?)32位(Wei)地(Di)址(Zhi),(?)以(Yi)点(Dian)分(Fen)十(Shi)进(Jin)制(Zhi)表(Biao)示(Shi),(?)如(Ru)192.168.0.1

IPV6:(?)128位(Wei)((?)16个(Ge)字(Zi)节(Jie))(?)写(Xie)成(Cheng)8个(Ge)16位(Wei)的(De)无(Wu)符(Fu)号(Hao)整(Zheng)数(Shu),(?)每(Mei)个(Ge)整(Zheng)数(Shu)用(Yong)四(Si)个(Ge)十(Shi)六(Liu)进(Jin)制(Zhi)位(Wei)表(Biao)示(Shi),(?)数(Shu)之(Zhi)间(Jian)用(Yong)冒(Mao)号(Hao)((?):(?))(?)分(Fen)开(Kai),(?)如(Ru):(?)3ffe:3201:1401:1280:c8ff:fe4d:db39:1984

3)(?)特(Te)殊(Shu)的(De)IP地(Di)址(Zhi)

127.0.0.1 本(Ben)机(Ji)地(Di)址(Zhi)

192.168.0.0--192.168.255.255私(Si)有(You)地(Di)址(Zhi),(?)属(Shu)于(Yu)非(Fei)注(Zhu)册(Ce)地(Di)址(Zhi),(?)专(Zhuan)门(Men)为(Wei)组(Zu)织(Zhi)机(Ji)构(Gou)内(Nei)部(Bu)使(Shi)用(Yong)。(?)

4)(?)端(Duan)口(Kou):port

IP地(Di)址(Zhi)用(Yong)来(Lai)标(Biao)志(Zhi)一(Yi)台(Tai)计(Ji)算(Suan)机(Ji),(?)但(Dan)是(Shi)一(Yi)台(Tai)计(Ji)算(Suan)机(Ji)上(Shang)可(Ke)能(Neng)提(Ti)供(Gong)多(Duo)种(Zhong)应(Ying)用(Yong)程(Cheng)序(Xu),(?)使(Shi)用(Yong)端(Duan)口(Kou)来(Lai)区(Qu)分(Fen)这(Zhe)些(Xie)应(Ying)用(Yong)程(Cheng)序(Xu)。(?) 端(Duan)口(Kou)是(Shi)虚(Xu)拟(Ni)的(De)概(Gai)念(Nian),(?)并(Bing)不(Bu)是(Shi)说(Shuo)在(Zai)主(Zhu)机(Ji)上(Shang)真(Zhen)的(De)有(You)若(Ruo)干(Gan)个(Ge)端(Duan)口(Kou)。(?)通(Tong)过(Guo)端(Duan)口(Kou),(?)可(Ke)以(Yi)在(Zai)一(Yi)个(Ge)主(Zhu)机(Ji)上(Shang)运(Yun)行(Xing)多(Duo)个(Ge)网(Wang)络(Luo)应(Ying)用(Yong)程(Cheng)序(Xu)。(?) 端(Duan)口(Kou)范(Fan)围(Wei)0---65535,16位(Wei)整(Zheng)数(Shu)

5)(?)端(Duan)口(Kou)分(Fen)类(Lei)

公(Gong)认(Ren)端(Duan)口(Kou) 0—(?)1023 比(Bi)如(Ru)80端(Duan)口(Kou)分(Fen)配(Pei)给(Gei)WWW,(?)21端(Duan)口(Kou)分(Fen)配(Pei)给(Gei)FTP,(?)22端(Duan)口(Kou)分(Fen)配(Pei)给(Gei)SSH,23端(Duan)口(Kou)分(Fen)配(Pei)给(Gei)telnet,(?)25端(Duan)口(Kou)分(Fen)配(Pei)给(Gei)smtp

注(Zhu)册(Ce)端(Duan)口(Kou) 1024—(?)49151 分(Fen)配(Pei)给(Gei)用(Yong)户(Hu)进(Jin)程(Cheng)或(Huo)应(Ying)用(Yong)程(Cheng)序(Xu)

动(Dong)态(Tai)/私(Si)有(You)端(Duan)口(Kou) 49152--65535

6)(?)理(Li)解(Jie)IP和(He)端(Duan)口(Kou)的(De)关(Guan)系(Xi)

IP地(Di)址(Zhi)好(Hao)比(Bi)每(Mei)个(Ge)人(Ren)的(De)地(Di)址(Zhi)((?)门(Men)牌(Pai)号(Hao))(?),(?)端(Duan)口(Kou)好(Hao)比(Bi)是(Shi)房(Fang)间(Jian)号(Hao)。(?)必(Bi)须(Xu)同(Tong)时(Shi)指(Zhi)定(Ding)IP地(Di)址(Zhi)和(He)端(Duan)口(Kou)号(Hao)才(Cai)能(Neng)够(Gou)正(Zheng)确(Que)的(De)发(Fa)送(Song)数(Shu)据(Ju)

IP地(Di)址(Zhi)好(Hao)比(Bi)为(Wei)电(Dian)话(Hua)号(Hao)码(Ma),(?)而(?)端(Duan)口(Kou)号(Hao)就(Jiu)好(Hao)比(Bi)为(Wei)分(Fen)机(Ji)号(Hao)。(?)

275.介(Jie)绍(Shao)OSI七(Qi)层(Ceng)模(Mo)型(Xing)和(He)TCP/IP模(Mo)型(Xing)

OSI(Open System Interconnection),(?)开(Kai)放(Fang)式(Shi)系(Xi)统(Tong)互(Hu)联(Lian)参(Can)考(Kao)模(Mo)型(Xing) 。(?)是(Shi)一(Yi)个(Ge)逻(Luo)辑(Ji)上(Shang)的(De)定(Ding)义(Yi),(?)一(Yi)个(Ge)规(Gui)范(Fan),(?)它(Ta)把(Ba)网(Wang)络(Luo)协(Xie)议(Yi)从(Cong)逻(Luo)辑(Ji)上(Shang)分(Fen)为(Wei)了(Liao)7层(Ceng)。(?)每(Mei)一(Yi)层(Ceng)都(Du)有(You)相(Xiang)关(Guan)、(?)相(Xiang)对(Dui)应(Ying)的(De)物(Wu)理(Li)设(She)备(Bei),(?)比(Bi)如(Ru)常(Chang)规(Gui)的(De)路(Lu)由(You)器(Qi)是(Shi)三(San)层(Ceng)交(Jiao)换(Huan)设(She)备(Bei),(?)常(Chang)规(Gui)的(De)交(Jiao)换(Huan)机(Ji)是(Shi)二(?)层(Ceng)交(Jiao)换(Huan)设(She)备(Bei)。(?)OSI七(Qi)层(Ceng)模(Mo)型(Xing)是(Shi)一(Yi)种(Zhong)框(Kuang)架(Jia)性(Xing)的(De)设(She)计(Ji)方(Fang)法(Fa),(?)建(Jian)立(Li)七(Qi)层(Ceng)模(Mo)型(Xing)的(De)主(Zhu)要(Yao)目(Mu)的(De)是(Shi)为(Wei)解(Jie)决(Jue)异(Yi)种(Zhong)网(Wang)络(Luo)互(Hu)连(Lian)时(Shi)所(Suo)遇(Yu)到(Dao)的(De)兼(Jian)容(Rong)性(Xing)问(Wen)题(Ti),(?)其(Qi)最(Zui)主(Zhu)要(Yao)的(De)功(Gong)能(Neng)就(Jiu)是(Shi)帮(Bang)助(Zhu)不(Bu)同(Tong)类(Lei)型(Xing)的(De)主(Zhu)机(Ji)实(Shi)现(Xian)数(Shu)据(Ju)传(Chuan)输(Shu)。(?)它(Ta)的(De)最(Zui)大(Da)优(You)点(Dian)是(Shi)将(Jiang)服(Fu)务(Wu)、(?)接(Jie)口(Kou)和(He)协(Xie)议(Yi)这(Zhe)三(San)个(Ge)概(Gai)念(Nian)明(Ming)确(Que)地(Di)区(Qu)分(Fen)开(Kai)来(Lai),(?)通(Tong)过(Guo)七(Qi)个(Ge)层(Ceng)次(Ci)化(Hua)的(De)结(Jie)构(Gou)模(Mo)型(Xing)使(Shi)不(Bu)同(Tong)的(De)系(Xi)统(Tong)不(Bu)同(Tong)的(De)网(Wang)络(Luo)之(Zhi)间(Jian)实(Shi)现(Xian)可(Ke)靠(Kao)的(De)通(Tong)讯(Xun)。(?)

TCP/IP协(Xie)议(Yi)是(Shi)Internet最(Zui)基(Ji)本(Ben)的(De)协(Xie)议(Yi)、(?)Internet国(Guo)际(Ji)互(Hu)联(Lian)网(Wang)络(Luo)的(De)基(Ji)础(Chu),(?)主(Zhu)要(Yao)由(You)网(Wang)络(Luo)层(Ceng)的(De)IP协(Xie)议(Yi)和(He)传(Chuan)输(Shu)层(Ceng)的(De)TCP协(Xie)议(Yi)组(Zu)成(Cheng)。(?)TCP/IP 定(Ding)义(Yi)了(Liao)电(Dian)子(Zi)设(She)备(Bei)如(Ru)何(He)连(Lian)入(Ru)因(Yin)特(Te)网(Wang),(?)以(Yi)及(Ji)数(Shu)据(Ju)如(Ru)何(He)在(Zai)它(Ta)们(Men)之(Zhi)间(Jian)传(Chuan)输(Shu)的(De)标(Biao)准(Zhun)。(?)协(Xie)议(Yi)采(Cai)用(Yong)了(Liao)4层(Ceng)的(De)层(Ceng)级(Ji)结(Jie)构(Gou),(?)每(Mei)一(Yi)层(Ceng)都(Du)呼(Hu)叫(Jiao)它(Ta)的(De)下(Xia)一(Yi)层(Ceng)所(Suo)提(Ti)供(Gong)的(De)协(Xie)议(Yi)来(Lai)完(Wan)成(Cheng)自(Zi)己(Ji)的(De)需(Xu)求(Qiu)。(?)

ISO制(Zhi)定(Ding)的(De)OSI参(Can)考(Kao)模(Mo)型(Xing)的(De)过(Guo)于(Yu)庞(Pang)大(Da)、(?)复(Fu)杂(Za)招(Zhao)致(Zhi)了(Liao)许(Xu)多(Duo)批(Pi)评(Ping)。(?)伴(Ban)随(Sui)着(Zhuo)互(Hu)联(Lian)网(Wang)的(De)流(Liu)行(Xing),(?)其(Qi)本(Ben)身(Shen)所(Suo)采(Cai)用(Yong)的(De)TCP/IP协(Xie)议(Yi)栈(Zhan)获(Huo)得(De)了(Liao)更(Geng)为(Wei)广(Guang)泛(Fan)的(De)应(Ying)用(Yong)和(He)认(Ren)可(Ke)。(?)在(Zai)TCP/IP参(Can)考(Kao)模(Mo)型(Xing)中(Zhong),(?)去(Qu)掉(Diao)了(Liao)OSI参(Can)考(Kao)模(Mo)型(Xing)中(Zhong)的(De)会(Hui)话(Hua)层(Ceng)和(He)表(Biao)示(Shi)层(Ceng)((?)这(Zhe)两(Liang)层(Ceng)的(De)功(Gong)能(Neng)被(Bei)合(He)并(Bing)到(Dao)应(Ying)用(Yong)层(Ceng)实(Shi)现(Xian))(?)。(?)同(Tong)时(Shi)将(Jiang)OSI参(Can)考(Kao)模(Mo)型(Xing)中(Zhong)的(De)数(Shu)据(Ju)链(Lian)路(Lu)层(Ceng)和(He)物(Wu)理(Li)层(Ceng)合(He)并(Bing)为(Wei)主(Zhu)机(Ji)到(Dao)网(Wang)络(Luo)层(Ceng)。(?)

276.TCP协(Xie)议(Yi)和(He)UDP协(Xie)议(Yi)的(De)比(Bi)较(Jiao)

TCP和(He)UDP是(Shi)TCP/IP协(Xie)议(Yi)栈(Zhan)中(Zhong)传(Chuan)输(Shu)层(Ceng)的(De)两(Liang)个(Ge)协(Xie)议(Yi),(?)它(Ta)们(Men)使(Shi)用(Yong)IP路(Lu)由(You)功(Gong)能(Neng)把(Ba)数(Shu)据(Ju)包(Bao)发(Fa)送(Song)到(Dao)目(Mu)的(De)地(Di),(?)从(Cong)而(?)为(Wei)应(Ying)用(Yong)程(Cheng)序(Xu)及(Ji)应(Ying)用(Yong)层(Ceng)协(Xie)议(Yi)((?)包(Bao)括(Kuo):(?)HTTP、(?)SMTP、(?)SNMP、(?)FTP和(He)Telnet)(?)提(Ti)供(Gong)网(Wang)络(Luo)服(Fu)务(Wu)。(?)

TCP的(De)server和(He)client之(Zhi)间(Jian)通(Tong)信(Xin)就(Jiu)好(Hao)比(Bi)两(Liang)个(Ge)人(Ren)打(Da)电(Dian)话(Hua),(?)需(Xu)要(Yao)互(Hu)相(Xiang)知(Zhi)道(Dao)对(Dui)方(Fang)的(De)电(Dian)话(Hua)号(Hao)码(Ma),(?)然(Ran)后(Hou)开(Kai)始(Shi)对(Dui)话(Hua)。(?)所(Suo)以(Yi)在(Zai)两(Liang)者(Zhe)的(De)连(Lian)接(Jie)过(Guo)程(Cheng)中(Zhong)间(Jian)需(Xu)要(Yao)指(Zhi)定(Ding)端(Duan)口(Kou)和(He)地(Di)址(Zhi)。(?)

UDP的(De)server和(He)client之(Zhi)间(Jian)的(De)通(Tong)信(Xin)就(Jiu)像(Xiang)两(Liang)个(Ge)人(Ren)互(Hu)相(Xiang)发(Fa)信(Xin)。(?)我(Wo)只(Zhi)需(Xu)要(Yao)知(Zhi)道(Dao)对(Dui)方(Fang)的(De)地(Di)址(Zhi),(?)然(Ran)后(Hou)就(Jiu)发(Fa)信(Xin)过(Guo)去(Qu)。(?)对(Dui)方(Fang)是(Shi)否(Fou)收(Shou)到(Dao)我(Wo)不(Bu)知(Zhi)道(Dao),(?)也(Ye)不(Bu)需(Xu)要(Yao)专(Zhuan)门(Men)对(Dui)口(Kou)令(Ling)似(Si)的(De)来(Lai)建(Jian)立(Li)连(Lian)接(Jie)。(?)具(Ju)体(Ti)区(Qu)别(Bie)如(Ru)下(Xia):(?)

1)(?)TCP是(Shi)面(Mian)向(Xiang)连(Lian)接(Jie)的(De)传(Chuan)输(Shu)。(?)UDP是(Shi)无(Wu)连(Lian)接(Jie)的(De)传(Chuan)输(Shu)

2)(?)TCP有(You)流(Liu)量(Liang)控(Kong)制(Zhi)、(?)拥(Yong)塞(Sai)控(Kong)制(Zhi),(?)检(Jian)验(Yan)数(Shu)据(Ju)数(Shu)据(Ju)按(An)序(Xu)到(Dao)达(Da),(?)而(?)UDP则(Ze)相(Xiang)反(Fan)。(?)

3)(?)TCP的(De)路(Lu)由(You)选(Xuan)择(Ze)只(Zhi)发(Fa)生(Sheng)在(Zai)建(Jian)立(Li)连(Lian)接(Jie)的(De)时(Shi)候(Hou),(?)而(?)UDP的(De)每(Mei)个(Ge)报(Bao)文(Wen)都(Du)要(Yao)进(Jin)行(Xing)路(Lu)由(You)选(Xuan)择(Ze)

4)(?)TCP是(Shi)可(Ke)靠(Kao)性(Xing)传(Chuan)输(Shu),(?)他(Ta)的(De)可(Ke)靠(Kao)性(Xing)是(Shi)由(You)超(Chao)时(Shi)重(Zhong)发(Fa)机(Ji)制(Zhi)实(Shi)现(Xian)的(De),(?)而(?)UDP则(Ze)是(Shi)不(Bu)可(Ke)靠(Kao)传(Chuan)输(Shu)

5)(?)UDP因(Yin)为(Wei)少(Shao)了(Liao)很(Hen)多(Duo)控(Kong)制(Zhi)信(Xin)息(Xi),(?)所(Suo)以(Yi)传(Chuan)输(Shu)速(Su)度(Du)比(Bi)TCP速(Su)度(Du)快(Kuai)

6)(?)TCP适(Shi)合(He)用(Yong)于(Yu)传(Chuan)输(Shu)大(Da)量(Liang)数(Shu)据(Ju),(?)UDP适(Shi)合(He)用(Yong)于(Yu)传(Chuan)输(Shu)小(Xiao)量(Liang)数(Shu)据(Ju)

277.什(Shi)么(Me)是(Shi)Socket编(Bian)程(Cheng)

Socket编(Bian)程(Cheng)的(De)定(Ding)义(Yi)如(Ru)下(Xia):(?)

所(Suo)谓(Wei)socket通(Tong)常(Chang)也(Ye)称(Cheng)作(Zuo)"套(Tao)接(Jie)字(Zi)",(?)用(Yong)于(Yu)描(Miao)述(Shu)IP地(Di)址(Zhi)和(He)端(Duan)口(Kou),(?)是(Shi)一(Yi)个(Ge)通(Tong)信(Xin)链(Lian)的(De)句(Ju)柄(Bing)。(?)应(Ying)用(Yong)程(Cheng)序(Xu)通(Tong)常(Chang)通(Tong)过(Guo)"套(Tao)接(Jie)字(Zi)"向(Xiang)网(Wang)络(Luo)发(Fa)出(Chu)请(Qing)求(Qiu)或(Huo)者(Zhe)应(Ying)答(Da)网(Wang)络(Luo)请(Qing)求(Qiu)。(?)

我(Wo)们(Men)开(Kai)发(Fa)的(De)网(Wang)络(Luo)应(Ying)用(Yong)程(Cheng)序(Xu)位(Wei)于(Yu)应(Ying)用(Yong)层(Ceng),(?)TCP和(He)UDP属(Shu)于(Yu)传(Chuan)输(Shu)层(Ceng)协(Xie)议(Yi),(?)在(Zai)应(Ying)用(Yong)层(Ceng)如(Ru)何(He)使(Shi)用(Yong)传(Chuan)输(Shu)层(Ceng)的(De)服(Fu)务(Wu)呢(Ne)?(?)在(Zai)应(Ying)用(Yong)层(Ceng)和(He)传(Chuan)输(Shu)层(Ceng)之(Zhi)间(Jian),(?)则(Ze)是(Shi)使(Shi)用(Yong)套(Tao)接(Jie)字(Zi)来(Lai)进(Jin)行(Xing)分(Fen)离(Li)。(?)

套(Tao)接(Jie)字(Zi)就(Jiu)像(Xiang)是(Shi)传(Chuan)输(Shu)层(Ceng)为(Wei)应(Ying)用(Yong)层(Ceng)开(Kai)的(De)一(Yi)个(Ge)小(Xiao)口(Kou),(?)应(Ying)用(Yong)程(Cheng)序(Xu)通(Tong)过(Guo)这(Zhe)个(Ge)小(Xiao)口(Kou)向(Xiang)远(Yuan)程(Cheng)发(Fa)送(Song)数(Shu)据(Ju),(?)或(Huo)者(Zhe)接(Jie)收(Shou)远(Yuan)程(Cheng)发(Fa)来(Lai)的(De)数(Shu)据(Ju);(?)而(?)这(Zhe)个(Ge)小(Xiao)口(Kou)以(Yi)内(Nei),(?)也(Ye)就(Jiu)是(Shi)数(Shu)据(Ju)进(Jin)入(Ru)这(Zhe)个(Ge)口(Kou)之(Zhi)后(Hou),(?)或(Huo)者(Zhe)数(Shu)据(Ju)从(Cong)这(Zhe)个(Ge)口(Kou)出(Chu)来(Lai)之(Zhi)前(Qian),(?)是(Shi)不(Bu)知(Zhi)道(Dao)也(Ye)不(Bu)需(Xu)要(Yao)知(Zhi)道(Dao)的(De),(?)也(Ye)不(Bu)会(Hui)关(Guan)心(Xin)它(Ta)如(Ru)何(He)传(Chuan)输(Shu),(?)这(Zhe)属(Shu)于(Yu)网(Wang)络(Luo)其(Qi)它(Ta)层(Ceng)次(Ci)的(De)工(Gong)作(Zuo)。(?)

Socket实(Shi)际(Ji)是(Shi)传(Chuan)输(Shu)层(Ceng)供(Gong)给(Gei)应(Ying)用(Yong)层(Ceng)的(De)编(Bian)程(Cheng)接(Jie)口(Kou)。(?)传(Chuan)输(Shu)层(Ceng)则(Ze)在(Zai)网(Wang)络(Luo)层(Ceng)的(De)基(Ji)础(Chu)上(Shang)提(Ti)供(Gong)进(Jin)程(Cheng)到(Dao)进(Jin)程(Cheng)问(Wen)的(De)逻(Luo)辑(Ji)通(Tong)道(Dao),(?)而(?)应(Ying)用(Yong)层(Ceng)的(De)进(Jin)程(Cheng)则(Ze)利(Li)用(Yong)传(Chuan)输(Shu)层(Ceng)向(Xiang)另(Ling)一(Yi)台(Tai)主(Zhu)机(Ji)的(De)某(Mou)一(Yi)进(Jin)程(Cheng)通(Tong)信(Xin)。(?)Socket就(Jiu)是(Shi)应(Ying)用(Yong)层(Ceng)与(Yu)传(Chuan)输(Shu)层(Ceng)之(Zhi)间(Jian)的(De)桥(Qiao)梁(Liang)

使(Shi)用(Yong)Socket编(Bian)程(Cheng)可(Ke)以(Yi)开(Kai)发(Fa)客(Ke)户(Hu)机(Ji)和(He)服(Fu)务(Wu)器(Qi)应(Ying)用(Yong)程(Cheng)序(Xu),(?)可(Ke)以(Yi)在(Zai)本(Ben)地(Di)网(Wang)络(Luo)上(Shang)进(Jin)行(Xing)通(Tong)信(Xin),(?)也(Ye)可(Ke)通(Tong)过(Guo)Internet在(Zai)全(Quan)球(Qiu)范(Fan)围(Wei)内(Nei)通(Tong)信(Xin)。(?)

生(Sheng)活(Huo)案(An)例(Li)1如(Ru)果(Guo)你(Ni)想(Xiang)写(Xie)封(Feng)邮(You)件(Jian)发(Fa)给(Gei)远(Yuan)方(Fang)的(De)朋(Peng)友(You),(?)如(Ru)何(He)写(Xie)信(Xin)、(?)将(Jiang)信(Xin)打(Da)包(Bao),(?)属(Shu)于(Yu)应(Ying)用(Yong)层(Ceng)。(?)信(Xin)怎(Zen)么(Me)写(Xie),(?)怎(Zen)么(Me)打(Da)包(Bao)完(Wan)全(Quan)由(You)我(Wo)们(Men)做(Zuo)主(Zhu);(?)而(?)当(Dang)我(Wo)们(Men)将(Jiang)信(Xin)投(Tou)入(Ru)邮(You)筒(Tong)时(Shi),(?)邮(You)筒(Tong)的(De)那(Na)个(Ge)口(Kou)就(Jiu)是(Shi)套(Tao)接(Jie)字(Zi),(?)在(Zai)进(Jin)入(Ru)套(Tao)接(Jie)字(Zi)之(Zhi)后(Hou),(?)就(Jiu)是(Shi)传(Chuan)输(Shu)层(Ceng)、(?)网(Wang)络(Luo)层(Ceng)等(Deng)((?)邮(You)局(Ju)、(?)公(Gong)路(Lu)交(Jiao)管(Guan)或(Huo)者(Zhe)航(Hang)线(Xian)等(Deng))(?)其(Qi)它(Ta)层(Ceng)次(Ci)的(De)工(Gong)作(Zuo)了(Liao)。(?)我(Wo)们(Men)从(Cong)来(Lai)不(Bu)会(Hui)去(Qu)关(Guan)心(Xin)信(Xin)是(Shi)如(Ru)何(He)从(Cong)西(Xi)安(An)发(Fa)往(Wang)北(Bei)京(Jing)的(De),(?)我(Wo)们(Men)只(Zhi)知(Zhi)道(Dao)写(Xie)好(Hao)了(Liao)投(Tou)入(Ru)邮(You)筒(Tong)就(Jiu)OK了(Liao)。(?)

生(Sheng)活(Huo)案(An)例(Li)2:(?)可(Ke)以(Yi)把(Ba)Socket比(Bi)作(Zuo)是(Shi)一(Yi)个(Ge)港(Gang)口(Kou)码(Ma)头(Tou),(?)应(Ying)用(Yong)程(Cheng)序(Xu)只(Zhi)要(Yao)将(Jiang)数(Shu)据(Ju)交(Jiao)给(Gei)Socket,(?)就(Jiu)算(Suan)完(Wan)成(Cheng)了(Liao)数(Shu)据(Ju)的(De)发(Fa)送(Song),(?)具(Ju)体(Ti)细(Xi)节(Jie)由(You)Socket来(Lai)完(Wan)成(Cheng),(?)细(Xi)节(Jie)不(Bu)必(Bi)了(Liao)解(Jie)。(?)同(Tong)理(Li),(?)对(Dui)于(Yu)接(Jie)收(Shou)方(Fang),(?)应(Ying)用(Yong)程(Cheng)序(Xu)也(Ye)要(Yao)创(Chuang)建(Jian)一(Yi)个(Ge)码(Ma)头(Tou),(?)等(Deng)待(Dai)数(Shu)据(Ju)的(De)到(Dao)达(Da),(?)并(Bing)获(Huo)取(Qu)数(Shu)据(Ju)。(?)

278.简(Jian)述(Shu)基(Ji)于(Yu)TCP和(He)UDP的(De)Socket编(Bian)程(Cheng)的(De)主(Zhu)要(Yao)步(Bu)骤(Zhou)

Java分(Fen)别(Bie)为(Wei)TCP和(He)UDP 两(Liang)种(Zhong)通(Tong)信(Xin)协(Xie)议(Yi)提(Ti)供(Gong)了(Liao)相(Xiang)应(Ying)的(De)Socket编(Bian)程(Cheng)类(Lei),(?)这(Zhe)些(Xie)类(Lei)存(Cun)放(Fang)在(Zai)java.net包(Bao)中(Zhong)。(?)与(Yu)TCP对(Dui)应(Ying)的(De)是(Shi)服(Fu)务(Wu)器(Qi)的(De)ServerSocket和(He)客(Ke)户(Hu)端(Duan)的(De)Socket,(?)与(Yu)UDP对(Dui)应(Ying)的(De)是(Shi)DatagramSocket。(?)

基(Ji)于(Yu)TCP创(Chuang)建(Jian)的(De)套(Tao)接(Jie)字(Zi)可(Ke)以(Yi)叫(Jiao)做(Zuo)流(Liu)套(Tao)接(Jie)字(Zi),(?)服(Fu)务(Wu)器(Qi)端(Duan)相(Xiang)当(Dang)于(Yu)一(Yi)个(Ge)监(Jian)听(Ting)器(Qi),(?)用(Yong)来(Lai)监(Jian)听(Ting)端(Duan)口(Kou)。(?)服(Fu)务(Wu)器(Qi)与(Yu)客(Ke)服(Fu)端(Duan)之(Zhi)间(Jian)的(De)通(Tong)讯(Xun)都(Du)是(Shi)输(Shu)入(Ru)输(Shu)出(Chu)流(Liu)来(Lai)实(Shi)现(Xian)的(De)。(?)基(Ji)于(Yu)UDP的(De)套(Tao)接(Jie)字(Zi)就(Jiu)是(Shi)数(Shu)据(Ju)报(Bao)套(Tao)接(Jie)字(Zi),(?) 两(Liang)个(Ge)都(Du)要(Yao)先(Xian)构(Gou)造(Zao)好(Hao)相(Xiang)应(Ying)的(De)数(Shu)据(Ju)包(Bao)。(?)

基(Ji)于(Yu)TCP协(Xie)议(Yi)的(De)Socket编(Bian)程(Cheng)的(De)主(Zhu)要(Yao)步(Bu)骤(Zhou)

服(Fu)务(Wu)器(Qi)端(Duan)((?)server)(?):(?)

1. 构(Gou)建(Jian)一(Yi)个(Ge)ServerSocket实(Shi)例(Li),(?)指(Zhi)定(Ding)本(Ben)地(Di)的(De)端(Duan)口(Kou)。(?)这(Zhe)个(Ge)socket就(Jiu)是(Shi)用(Yong)来(Lai)监(Jian)听(Ting)指(Zhi)定(Ding)端(Duan)口(Kou)的(De)连(Lian)接(Jie)请(Qing)求(Qiu)的(De)。(?)

2. 重(Zhong)复(Fu)如(Ru)下(Xia)几(Ji)个(Ge)步(Bu)骤(Zhou):(?)

a. 调(Diao)用(Yong)socket的(De)accept()方(Fang)法(Fa)来(Lai)获(Huo)得(De)下(Xia)面(Mian)客(Ke)户(Hu)端(Duan)的(De)连(Lian)接(Jie)请(Qing)求(Qiu)。(?)通(Tong)过(Guo)accept()方(Fang)法(Fa)返(Fan)回(Hui)的(De)socket实(Shi)例(Li),(?)建(Jian)立(Li)了(Liao)一(Yi)个(Ge)和(He)客(Ke)户(Hu)端(Duan)的(De)新(Xin)连(Lian)接(Jie)。(?)

b. 通(Tong)过(Guo)这(Zhe)个(Ge)返(Fan)回(Hui)的(De)socket实(Shi)例(Li)获(Huo)取(Qu)InputStream和(He)OutputStream,可(Ke)以(Yi)通(Tong)过(Guo)这(Zhe)两(Liang)个(Ge)stream来(Lai)分(Fen)别(Bie)读(Du)和(He)写(Xie)数(Shu)据(Ju)。(?)

c. 结(Jie)束(Shu)的(De)时(Shi)候(Hou)调(Diao)用(Yong)socket实(Shi)例(Li)的(De)close()方(Fang)法(Fa)关(Guan)闭(Bi)socket连(Lian)接(Jie)。(?)

客(Ke)户(Hu)端(Duan)((?)client)(?):(?)

1.构(Gou)建(Jian)Socket实(Shi)例(Li),(?)通(Tong)过(Guo)指(Zhi)定(Ding)的(De)远(Yuan)程(Cheng)服(Fu)务(Wu)器(Qi)地(Di)址(Zhi)和(He)端(Duan)口(Kou)来(Lai)建(Jian)立(Li)连(Lian)接(Jie)。(?)

2.通(Tong)过(Guo)Socket实(Shi)例(Li)包(Bao)含(Han)的(De)InputStream和(He)OutputStream来(Lai)进(Jin)行(Xing)数(Shu)据(Ju)的(De)读(Du)写(Xie)。(?)

3.操(Cao)作(Zuo)结(Jie)束(Shu)后(Hou)调(Diao)用(Yong)socket实(Shi)例(Li)的(De)close方(Fang)法(Fa),(?)关(Guan)闭(Bi)。(?)

UDP

服(Fu)务(Wu)器(Qi)端(Duan)((?)server)(?):(?)

1. 构(Gou)造(Zao)DatagramSocket实(Shi)例(Li),(?)指(Zhi)定(Ding)本(Ben)地(Di)端(Duan)口(Kou)。(?)

2. 通(Tong)过(Guo)DatagramSocket实(Shi)例(Li)的(De)receive方(Fang)法(Fa)接(Jie)收(Shou)DatagramPacket.DatagramPacket中(Zhong)间(Jian)就(Jiu)包(Bao)含(Han)了(Liao)通(Tong)信(Xin)的(De)内(Nei)容(Rong)。(?)

3. 通(Tong)过(Guo)DatagramSocket的(De)send和(He)receive方(Fang)法(Fa)来(Lai)收(Shou)和(He)发(Fa)DatagramPacket.

客(Ke)户(Hu)端(Duan)((?)client)(?):(?)

1. 构(Gou)造(Zao)DatagramSocket实(Shi)例(Li)。(?)

2. 通(Tong)过(Guo)DatagramSocket实(Shi)例(Li)的(De)send和(He)receive方(Fang)法(Fa)发(Fa)送(Song)DatagramPacket报(Bao)文(Wen)。(?)

3. 结(Jie)束(Shu)后(Hou),(?)调(Diao)用(Yong)DatagramSocket的(De)close方(Fang)法(Fa)关(Guan)闭(Bi)。(?)

异(Yi)常(Chang)处(Chu)理(Li):(?)

279.下(Xia)列(Lie)哪(Na)种(Zhong)异(Yi)常(Chang)是(Shi)检(Jian)查(Cha)型(Xing)异(Yi)常(Chang),(?)需(Xu)要(Yao)在(Zai)编(Bian)写(Xie)程(Cheng)序(Xu)时(Shi)声(Sheng)明(Ming)((?))(?)
A. NullPointerException
B. ClassCastException
C. FileNotFoundException
D. IndexOutOfBoundsException
答(Da)案(An):(?)C
分(Fen)析(Xi):(?)NullPointerException空(Kong)指(Zhi)针(Zhen)异(Yi)常(Chang)
ClassCastException类(Lei)型(Xing)转(Zhuan)换(Huan)异(Yi)常(Chang)
IndexOutOfBoundsException索(Suo)引(Yin)超(Chao)出(Chu)边(Bian)界(Jie)的(De)异(Yi)常(Chang)
以(Yi)上(Shang)这(Zhe)些(Xie)异(Yi)常(Chang)都(Du)是(Shi)程(Cheng)序(Xu)在(Zai)运(Yun)行(Xing)时(Shi)发(Fa)生(Sheng)的(De)异(Yi)常(Chang),(?)所(Suo)以(Yi)不(Bu)需(Xu)要(Yao)在(Zai)编(Bian)写(Xie)程(Cheng)序(Xu)时(Shi)声(Sheng)明(Ming)
280.Java出(Chu)现(Xian)OutOf MemoryError((?)OOM 错(Cuo)误(Wu))的(De)原(Yuan)因(Yin)有(You)哪(Na)些(Xie)?(?)出(Chu)现(Xian)OOM错(Cuo)误(Wu)后(Hou),(?)怎(Zen)么(Me)解(Jie)决(Jue)?(?)

答(Da):OutOf MemoryError这(Zhe)种(Zhong)错(Cuo)误(Wu)可(Ke)以(Yi)细(Xi)分(Fen)为(Wei)多(Duo)种(Zhong)不(Bu)同(Tong)的(De)错(Cuo)误(Wu),(?)每(Mei)种(Zhong)错(Cuo)误(Wu)都(Du)有(You)自(Zi)身(Shen)的(De)原(Yuan)因(Yin)和(He)解(Jie)决(Jue)办(Ban)法(Fa),(?)如(Ru)下(Xia)所(Suo)示(Shi):(?)

java.lang.OutOfMemoryError: Java heap space

错(Cuo)误(Wu)原(Yuan)因(Yin):(?)此(Ci)OOM是(Shi)由(You)于(Yu)JVM中(Zhong)heap的(De)最(Zui)大(Da)值(Zhi)不(Bu)满(Man)足(Zu)需(Xu)要(Yao)。(?)

解(Jie)决(Jue)方(Fang)法(Fa):(?)1) 调(Diao)高(Gao)heap的(De)最(Zui)大(Da)值(Zhi),(?)即(Ji)-Xmx的(De)值(Zhi)调(Diao)大(Da)。(?)2) 如(Ru)果(Guo)你(Ni)的(De)程(Cheng)序(Xu)存(Cun)在(Zai)内(Nei)存(Cun)泄(Xie)漏(Lou),(?)一(Yi)味(Wei)的(De)增(Zeng)加(Jia)heap空(Kong)间(Jian)也(Ye)只(Zhi)是(Shi)推(Tui)迟(Chi)该(Gai)错(Cuo)误(Wu)出(Chu)现(Xian)的(De)时(Shi)间(Jian)而(?)已(Yi),(?)所(Suo)以(Yi)要(Yao)检(Jian)查(Cha)程(Cheng)序(Xu)是(Shi)否(Fou)存(Cun)在(Zai)内(Nei)存(Cun)泄(Xie)漏(Lou)。(?)

java.lang.OutOfMemoryError: GC overhead limit exceeded

错(Cuo)误(Wu)原(Yuan)因(Yin):(?)此(Ci)OOM是(Shi)由(You)于(Yu)JVM在(Zai)GC时(Shi),(?)对(Dui)象(Xiang)过(Guo)多(Duo),(?)导(Dao)致(Zhi)内(Nei)存(Cun)溢(Yi)出(Chu),(?)建(Jian)议(Yi)调(Diao)整(Zheng)GC的(De)策(Ce)略(Lue),(?)在(Zai)一(Yi)定(Ding)比(Bi)例(Li)下(Xia)开(Kai)始(Shi)GC而(?)不(Bu)要(Yao)使(Shi)用(Yong)默(Mo)认(Ren)的(De)策(Ce)略(Lue),(?)或(Huo)者(Zhe)将(Jiang)新(Xin)代(Dai)和(He)老(Lao)代(Dai)设(She)置(Zhi)合(He)适(Shi)的(De)大(Da)小(Xiao),(?)需(Xu)要(Yao)进(Jin)行(Xing)微(Wei)调(Diao)存(Cun)活(Huo)率(Lu)。(?)

解(Jie)决(Jue)方(Fang)法(Fa):(?)改(Gai)变(Bian)GC策(Ce)略(Lue),(?)在(Zai)老(Lao)代(Dai)80%时(Shi)就(Jiu)是(Shi)开(Kai)始(Shi)GC,(?)并(Bing)且(Qie)将(Jiang)-XX:SurvivorRatio((?)-XX:SurvivorRatio=8)(?)和(He)-XX:NewRatio((?)-XX:NewRatio=4)(?)设(She)置(Zhi)的(De)更(Geng)合(He)理(Li)。(?)

java.lang.OutOfMemoryError: Java perm space

错(Cuo)误(Wu)原(Yuan)因(Yin):(?)此(Ci)OOM是(Shi)由(You)于(Yu)JVM中(Zhong)perm的(De)最(Zui)大(Da)值(Zhi)不(Bu)满(Man)足(Zu)需(Xu)要(Yao)。(?)

解(Jie)决(Jue)方(Fang)法(Fa):(?)调(Diao)高(Gao)heap的(De)最(Zui)大(Da)值(Zhi),(?)即(Ji)-XX:MaxPermSize的(De)值(Zhi)调(Diao)大(Da)。(?)

另(Ling)外(Wai),(?)注(Zhu)意(Yi)一(Yi)点(Dian),(?)Perm一(Yi)般(Ban)是(Shi)在(Zai)JVM启(Qi)动(Dong)时(Shi)加(Jia)载(Zai)类(Lei)进(Jin)来(Lai),(?)如(Ru)果(Guo)是(Shi)JVM运(Yun)行(Xing)较(Jiao)长(Chang)一(Yi)段(Duan)时(Shi)间(Jian)而(?)不(Bu)是(Shi)刚(Gang)启(Qi)动(Dong)后(Hou)溢(Yi)出(Chu)的(De)话(Hua),(?)很(Hen)有(You)可(Ke)能(Neng)是(Shi)由(You)于(Yu)运(Yun)行(Xing)时(Shi)有(You)类(Lei)被(Bei)动(Dong)态(Tai)加(Jia)载(Zai)进(Jin)来(Lai),(?)此(Ci)时(Shi)建(Jian)议(Yi)用(Yong)CMS策(Ce)略(Lue)中(Zhong)的(De)类(Lei)卸(Xie)载(Zai)配(Pei)置(Zhi)。(?)如(Ru):(?)-XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled。(?)

java.lang.OutOfMemoryError: unable to create new native thread

错(Cuo)误(Wu)原(Yuan)因(Yin):(?)当(Dang)JVM向(Xiang)OS请(Qing)求(Qiu)创(Chuang)建(Jian)一(Yi)个(Ge)新(Xin)线(Xian)程(Cheng)时(Shi),(?)而(?)OS却(Que)由(You)于(Yu)内(Nei)存(Cun)不(Bu)足(Zu)无(Wu)法(Fa)创(Chuang)建(Jian)新(Xin)的(De)native线(Xian)程(Cheng)。(?)

解(Jie)决(Jue)方(Fang)法(Fa):(?)如(Ru)果(Guo)JVM内(Nei)存(Cun)调(Diao)的(De)过(Guo)大(Da)或(Huo)者(Zhe)可(Ke)利(Li)用(Yong)率(Lu)小(Xiao)于(Yu)20%,(?)可(Ke)以(Yi)建(Jian)议(Yi)将(Jiang)heap及(Ji)perm的(De)最(Zui)大(Da)值(Zhi)下(Xia)调(Diao),(?)并(Bing)将(Jiang)线(Xian)程(Cheng)栈(Zhan)调(Diao)小(Xiao),(?)即(Ji)-Xss调(Diao)小(Xiao),(?)如(Ru):(?)-Xss128k。(?)

java.lang.OutOfMemoryError: Requested array size exceeds VM limit

错(Cuo)误(Wu)原(Yuan)因(Yin):(?)此(Ci)类(Lei)信(Xin)息(Xi)表(Biao)明(Ming)应(Ying)用(Yong)程(Cheng)序(Xu)((?)或(Huo)者(Zhe)被(Bei)应(Ying)用(Yong)程(Cheng)序(Xu)调(Diao)用(Yong)的(De)APIs)(?)试(Shi)图(Tu)分(Fen)配(Pei)一(Yi)个(Ge)大(Da)于(Yu)堆(Dui)大(Da)小(Xiao)的(De)数(Shu)组(Zu)。(?)例(Li)如(Ru),(?)如(Ru)果(Guo)应(Ying)用(Yong)程(Cheng)序(Xu)new一(Yi)个(Ge)数(Shu)组(Zu)对(Dui)象(Xiang),(?)大(Da)小(Xiao)为(Wei)512M,(?)但(Dan)是(Shi)最(Zui)大(Da)堆(Dui)大(Da)小(Xiao)为(Wei)256M,(?)因(Yin)此(Ci)OutOfMemoryError会(Hui)抛(Pao)出(Chu),(?)因(Yin)为(Wei)数(Shu)组(Zu)的(De)大(Da)小(Xiao)超(Chao)过(Guo)虚(Xu)拟(Ni)机(Ji)的(De)限(Xian)制(Zhi)。(?)

解(Jie)决(Jue)方(Fang)法(Fa):(?)1) 首(Shou)先(Xian)检(Jian)查(Cha)heap的(De)-Xmx是(Shi)不(Bu)是(Shi)设(She)置(Zhi)的(De)过(Guo)小(Xiao)。(?)2) 如(Ru)果(Guo)heap的(De)-Xmx已(Yi)经(Jing)足(Zu)够(Gou)大(Da),(?)那(Na)么(Me)请(Qing)检(Jian)查(Cha)应(Ying)用(Yong)程(Cheng)序(Xu)是(Shi)不(Bu)是(Shi)存(Cun)在(Zai)bug,(?)例(Li)如(Ru):(?)应(Ying)用(Yong)程(Cheng)序(Xu)可(Ke)能(Neng)在(Zai)计(Ji)算(Suan)数(Shu)组(Zu)的(De)大(Da)小(Xiao)时(Shi),(?)存(Cun)在(Zai)算(Suan)法(Fa)错(Cuo)误(Wu),(?)导(Dao)致(Zhi)数(Shu)组(Zu)的(De)size很(Hen)大(Da),(?)从(Cong)而(?)导(Dao)致(Zhi)巨(Ju)大(Da)的(De)数(Shu)组(Zu)被(Bei)分(Fen)配(Pei)。(?)

java.lang.OutOfMemoryError: request < size> bytes for < reason>. Out of swap space

错(Cuo)误(Wu)原(Yuan)因(Yin):(?)抛(Pao)出(Chu)这(Zhe)类(Lei)错(Cuo)误(Wu),(?)是(Shi)由(You)于(Yu)从(Cong)native堆(Dui)中(Zhong)分(Fen)配(Pei)内(Nei)存(Cun)失(Shi)败(Bai),(?)并(Bing)且(Qie)堆(Dui)内(Nei)存(Cun)可(Ke)能(Neng)接(Jie)近(Jin)耗(Hao)尽(Jin)。(?)这(Zhe)类(Lei)错(Cuo)误(Wu)可(Ke)能(Neng)跟(Gen)应(Ying)用(Yong)程(Cheng)序(Xu)没(Mei)有(You)关(Guan)系(Xi),(?)例(Li)如(Ru)下(Xia)面(Mian)两(Liang)种(Zhong)原(Yuan)因(Yin)也(Ye)会(Hui)导(Dao)致(Zhi)错(Cuo)误(Wu)的(De)发(Fa)生(Sheng):(?)1) 操(Cao)作(Zuo)系(Xi)统(Tong)配(Pei)置(Zhi)了(Liao)较(Jiao)小(Xiao)的(De)交(Jiao)换(Huan)区(Qu)。(?)2)系(Xi)统(Tong)的(De)另(Ling)外(Wai)一(Yi)个(Ge)进(Jin)程(Cheng)正(Zheng)在(Zai)消(Xiao)耗(Hao)所(Suo)有(You)的(De)内(Nei)存(Cun)。(?)

解(Jie)决(Jue)办(Ban)法(Fa):(?)1) 检(Jian)查(Cha)os的(De)swap是(Shi)不(Bu)是(Shi)没(Mei)有(You)设(She)置(Zhi)或(Huo)者(Zhe)设(She)置(Zhi)的(De)过(Guo)小(Xiao)。(?)2) 检(Jian)查(Cha)是(Shi)否(Fou)有(You)其(Qi)他(Ta)进(Jin)程(Cheng)在(Zai)消(Xiao)耗(Hao)大(Da)量(Liang)的(De)内(Nei)存(Cun),(?)从(Cong)而(?)导(Dao)致(Zhi)当(Dang)前(Qian)的(De)JVM内(Nei)存(Cun)不(Bu)够(Gou)分(Fen)配(Pei)。(?)

注(Zhu)意(Yi):(?)虽(Sui)然(Ran)有(You)时(Shi)< reason>部(Bu)分(Fen)显(Xian)示(Shi)导(Dao)致(Zhi)OOM的(De)原(Yuan)因(Yin),(?)但(Dan)大(Da)多(Duo)数(Shu)情(Qing)况(Kuang)下(Xia),(?)< reason>显(Xian)示(Shi)的(De)是(Shi)提(Ti)示(Shi)分(Fen)配(Pei)失(Shi)败(Bai)的(De)源(Yuan)模(Mo)块(Kuai)的(De)名(Ming)称(Cheng),(?)所(Suo)以(Yi)有(You)必(Bi)要(Yao)查(Cha)看(Kan)日(Ri)志(Zhi)文(Wen)件(Jian),(?)如(Ru)crash时(Shi)的(De)hs文(Wen)件(Jian)。(?)

281.列(Lie)举(Ju)常(Chang)见(Jian)的(De)运(Yun)行(Xing)时(Shi)异(Yi)常(Chang)

答(Da):ClassCastException(类(Lei)转(Zhuan)换(Huan)异(Yi)常(Chang))

比(Bi)如(Ru) Object obj=new Object(); String s=(String)obj;

IndexOutOfBoundsException(下(Xia)标(Biao)越(Yue)界(Jie)异(Yi)常(Chang))

NullPointerException(空(Kong)指(Zhi)针(Zhen)异(Yi)常(Chang))

ArrayStoreException(数(Shu)据(Ju)存(Cun)储(Chu)异(Yi)常(Chang),(?)操(Cao)作(Zuo)数(Shu)组(Zu)时(Shi)类(Lei)型(Xing)不(Bu)一(Yi)致(Zhi))

BufferOverflowException(IO操(Cao)作(Zuo)时(Shi)出(Chu)现(Xian)的(De)缓(Huan)冲(Chong)区(Qu)上(Shang)溢(Yi)异(Yi)常(Chang))

InputMismatchException(输(Shu)入(Ru)类(Lei)型(Xing)不(Bu)匹(Pi)配(Pei)异(Yi)常(Chang))

ArithmeticException(算(Suan)术(Shu)异(Yi)常(Chang))

注(Zhu)意(Yi):(?)运(Yun)行(Xing)时(Shi)异(Yi)常(Chang)都(Du)是(Shi)RuntimeException子(Zi)类(Lei)异(Yi)常(Chang)。(?)

282.下(Xia)面(Mian)关(Guan)于(Yu) Java.lang.Exception类(Lei)的(De)说(Shuo)法(Fa)正(Zheng)确(Que)的(De)是(Shi)((?))(?)
A. 继(Ji)承(Cheng)自(Zi) Throwable
B. 不(Bu)支(Zhi)持(Chi)Serializable
C. 继(Ji)承(Cheng)自(Zi) AbstractSet
D. 继(Ji)承(Cheng)自(Zi)FitelnputStream
答(Da)案(An):(?)A
分(Fen)析(Xi):(?)Throwable是(Shi)Exception和(He)Error的(De)父(Fu)类(Lei),(?)Exception虽(Sui)然(Ran)没(Mei)有(You)实(Shi)现(Xian)Serializable接(Jie)口(Kou),(?)但(Dan)是(Shi)其(Qi)父(Fu)类(Lei)Throwable已(Yi)经(Jing)实(Shi)现(Xian)了(Liao)该(Gai)接(Jie)口(Kou),(?)因(Yin)此(Ci)Exception也(Ye)支(Zhi)持(Chi)Serializable。(?)
283.Unsupported major.minor version 52是(Shi)什(Shi)么(Me)异(Yi)常(Chang),(?)怎(Zen)么(Me)造(Zao)成(Cheng)的(De),(?)如(Ru)何(He)解(Jie)决(Jue)?(?)

答(Da):(?)问(Wen)题(Ti)的(De)根(Gen)本(Ben)原(Yuan)因(Yin)是(Shi)工(Gong)程(Cheng)中(Zhong)某(Mou)个(Ge)jar包(Bao)的(De)版(Ban)本(Ben)((?)jar包(Bao)编(Bian)译(Yi)时(Shi)的(De)所(Suo)用(Yong)的(De)jdk版(Ban)本(Ben))(?)高(Gao)于(Yu)工(Gong)程(Cheng)build path中(Zhong)jdk的(De)版(Ban)本(Ben),(?)这(Zhe)个(Ge)是(Shi)不(Bu)兼(Jian)容(Rong)的(De)! 编(Bian)程(Cheng)中(Zhong)遇(Yu)到(Dao)此(Ci)异(Yi)常(Chang)Unsupported major.minor version 52.0((?)根(Gen)据(Ju)版(Ban)本(Ben)号(Hao),(?)这(Zhe)里(Li)可(Ke)以(Yi)为(Wei)其(Qi)他(Ta)数(Shu)值(Zhi),(?)52是(Shi)1.8jdk jar包(Bao)与(Yu) 1.8以(Yi)下(Xia)低(Di)版(Ban)本(Ben)jdk不(Bu)匹(Pi)配(Pei))(?),(?)在(Zai)将(Jiang)build path中(Zhong)jdk的(De)版(Ban)本(Ben)调(Diao)整(Zheng)与(Yu)jar包(Bao)匹(Pi)配(Pei)后(Hou),(?)解(Jie)决(Jue)异(Yi)常(Chang)。(?)

284.try{}里(Li)有(You)一(Yi)个(Ge)return语(Yu)句(Ju),(?)那(Na)么(Me)紧(Jin)跟(Gen)在(Zai)这(Zhe)个(Ge)try后(Hou)的(De)finally{}里(Li)的(De)code会(Hui)不(Bu)会(Hui)被(Bei)执(Zhi)行(Xing),(?)什(Shi)么(Me)时(Shi)候(Hou)被(Bei)执(Zhi)行(Xing),(?)在(Zai)return前(Qian)还(Huan)是(Shi)后(Hou)?

答(Da):(?)会(Hui)执(Zhi)行(Xing),(?)在(Zai)方(Fang)法(Fa)返(Fan)回(Hui)调(Diao)用(Yong)者(Zhe)前(Qian)执(Zhi)行(Xing)。(?)Java允(Yun)许(Xu)在(Zai)finally中(Zhong)改(Gai)变(Bian)返(Fan)回(Hui)值(Zhi)的(De)做(Zuo)法(Fa)是(Shi)不(Bu)好(Hao)的(De),(?)因(Yin)为(Wei)如(Ru)果(Guo)存(Cun)在(Zai)finally代(Dai)码(Ma)块(Kuai),(?)try中(Zhong)的(De)return语(Yu)句(Ju)不(Bu)会(Hui)立(Li)马(Ma)返(Fan)回(Hui)调(Diao)用(Yong)者(Zhe),(?)而(?)是(Shi)记(Ji)录(Lu)下(Xia)返(Fan)回(Hui)值(Zhi)待(Dai)finally代(Dai)码(Ma)块(Kuai)执(Zhi)行(Xing)完(Wan)毕(Bi)之(Zhi)后(Hou)再(Zai)向(Xiang)调(Diao)用(Yong)者(Zhe)返(Fan)回(Hui)其(Qi)值(Zhi),(?)然(Ran)后(Hou)如(Ru)果(Guo)在(Zai)finally中(Zhong)修(Xiu)改(Gai)了(Liao)返(Fan)回(Hui)值(Zhi),(?)这(Zhe)会(Hui)对(Dui)程(Cheng)序(Xu)造(Zao)成(Cheng)很(Hen)大(Da)的(De)困(Kun)扰(Rao),(?)C#中(Zhong)就(Jiu)从(Cong)语(Yu)法(Fa)上(Shang)规(Gui)定(Ding)不(Bu)能(Neng)做(Zuo)这(Zhe)样(Yang)的(De)事(Shi)。(?)

(也(Ye)许(Xu)你(Ni)的(De)答(Da)案(An)是(Shi)在(Zai)return之(Zhi)前(Qian),(?)但(Dan)往(Wang)更(Geng)细(Xi)地(Di)说(Shuo),(?)我(Wo)的(De)答(Da)案(An)是(Shi)在(Zai)return中(Zhong)间(Jian)执(Zhi)行(Xing),(?)请(Qing)看(Kan)下(Xia)面(Mian)程(Cheng)序(Xu)代(Dai)码(Ma)的(De)运(Yun)行(Xing)结(Jie)果(Guo):(?)

public classTest {

    /**
     * @paramargs add by zxx ,Dec 9, 2008
     */
    public static voidmain(String[] args) {
       // TODO Auto-generated method stub
       System.out.println(newTest().test());;
    }

    static int test()
    {
       int x = 1;
       try
       {
           returnx;
       }
       finally
       {
           ++x;
       }
    }

}

执(Zhi)行(Xing)结(Jie)果(Guo)

运(Yun)行(Xing)结(Jie)果(Guo)是(Shi)1,(?)为(Wei)什(Shi)么(Me)呢(Ne)?(?)主(Zhu)函(Han)数(Shu)调(Diao)用(Yong)子(Zi)函(Han)数(Shu)并(Bing)得(De)到(Dao)结(Jie)果(Guo)的(De)过(Guo)程(Cheng),(?)好(Hao)比(Bi)主(Zhu)函(Han)数(Shu)准(Zhun)备(Bei)一(Yi)个(Ge)空(Kong)罐(Guan)子(Zi),(?)当(Dang)子(Zi)函(Han)数(Shu)要(Yao)返(Fan)回(Hui)结(Jie)果(Guo)时(Shi),(?)先(Xian)把(Ba)结(Jie)果(Guo)放(Fang)在(Zai)罐(Guan)子(Zi)里(Li),(?)然(Ran)后(Hou)再(Zai)将(Jiang)程(Cheng)序(Xu)逻(Luo)辑(Ji)返(Fan)回(Hui)到(Dao)主(Zhu)函(Han)数(Shu)。(?)所(Suo)谓(Wei)返(Fan)回(Hui),(?)就(Jiu)是(Shi)子(Zi)函(Han)数(Shu)说(Shuo),(?)我(Wo)不(Bu)运(Yun)行(Xing)了(Liao),(?)你(Ni)主(Zhu)函(Han)数(Shu)继(Ji)续(Xu)运(Yun)行(Xing)吧(Ba),(?)这(Zhe)没(Mei)什(Shi)么(Me)结(Jie)果(Guo)可(Ke)言(Yan),(?)结(Jie)果(Guo)是(Shi)在(Zai)说(Shuo)这(Zhe)话(Hua)之(Zhi)前(Qian)放(Fang)进(Jin)罐(Guan)子(Zi)里(Li)的(De)。(?)

285.Java 语(Yu)言(Yan)如(Ru)何(He)进(Jin)行(Xing)异(Yi)常(Chang)处(Chu)理(Li),(?)关(Guan)键(Jian)字(Zi):(?)throws、(?)throw、(?)try、(?)catch、(?)finally分(Fen)别(Bie)如(Ru)何(He)使(Shi)用(Yong)?(?)

答(Da):(?)Java 通(Tong)过(Guo)面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)方(Fang)法(Fa)进(Jin)行(Xing)异(Yi)常(Chang)处(Chu)理(Li),(?)把(Ba)各(Ge)种(Zhong)不(Bu)同(Tong)的(De)异(Yi)常(Chang)进(Jin)行(Xing)分(Fen)类(Lei),(?)并(Bing)提(Ti)供(Gong)了(Liao)良(Liang)好(Hao)的(De)接(Jie)口(Kou)。(?)在(Zai)Java 中(Zhong),(?)每(Mei)个(Ge)异(Yi)常(Chang)都(Du)是(Shi)一(Yi)个(Ge)对(Dui)象(Xiang),(?)它(Ta)是(Shi)Throwable 类(Lei)或(Huo)其(Qi)子(Zi)类(Lei)的(De)实(Shi)例(Li)。(?)当(Dang)一(Yi)个(Ge)方(Fang)法(Fa)出(Chu)现(Xian)异(Yi)常(Chang)后(Hou)便(Bian)抛(Pao)出(Chu)一(Yi)个(Ge)异(Yi)常(Chang)对(Dui)象(Xiang),(?)该(Gai)对(Dui)象(Xiang)中(Zhong)包(Bao)含(Han)有(You)异(Yi)常(Chang)信(Xin)息(Xi),(?)调(Diao)用(Yong)这(Zhe)个(Ge)对(Dui)象(Xiang)的(De)方(Fang)法(Fa)可(Ke)以(Yi)捕(Bu)获(Huo)到(Dao)这(Zhe)个(Ge)异(Yi)常(Chang)并(Bing)进(Jin)行(Xing)处(Chu)理(Li)。(?)Java 的(De)异(Yi)常(Chang)处(Chu)理(Li)是(Shi)通(Tong)过(Guo)5 个(Ge)关(Guan)键(Jian)词(Ci)来(Lai)实(Shi)现(Xian)的(De):(?)try、(?)catch、(?)throw、(?)throws和(He)finally。(?)一(Yi)般(Ban)情(Qing)况(Kuang)下(Xia)是(Shi)用(Yong)try来(Lai)执(Zhi)行(Xing)一(Yi)段(Duan)程(Cheng)序(Xu),(?)如(Ru)果(Guo)出(Chu)现(Xian)异(Yi)常(Chang),(?)系(Xi)统(Tong)会(Hui)抛(Pao)出(Chu)((?)throw)(?)一(Yi)个(Ge)异(Yi)常(Chang),(?)这(Zhe)时(Shi)候(Hou)你(Ni)可(Ke)以(Yi)通(Tong)过(Guo)它(Ta)的(De)类(Lei)型(Xing)来(Lai)捕(Bu)捉(Zhuo)((?)catch)(?)它(Ta),(?)或(Huo)最(Zui)后(Hou)((?)finally)(?)由(You)缺(Que)省(Sheng)处(Chu)理(Li)器(Qi)来(Lai)处(Chu)理(Li);(?)try用(Yong)来(Lai)指(Zhi)定(Ding)一(Yi)块(Kuai)预(Yu)防(Fang)所(Suo)有(You)“(?)异(Yi)常(Chang)”(?)的(De)程(Cheng)序(Xu);(?)catch 子(Zi)句(Ju)紧(Jin)跟(Gen)在(Zai)try块(Kuai)后(Hou)面(Mian),(?)用(Yong)来(Lai)指(Zhi)定(Ding)你(Ni)想(Xiang)要(Yao)捕(Bu)捉(Zhuo)的(De)“(?)异(Yi)常(Chang)”(?)的(De)类(Lei)型(Xing);(?)throw 语(Yu)句(Ju)用(Yong)来(Lai)明(Ming)确(Que)地(Di)抛(Pao)出(Chu)一(Yi)个(Ge)“(?)异(Yi)常(Chang)”(?);(?)throws用(Yong)来(Lai)标(Biao)明(Ming)一(Yi)个(Ge)成(Cheng)员(Yuan)函(Han)数(Shu)可(Ke)能(Neng)抛(Pao)出(Chu)的(De)各(Ge)种(Zhong)“(?)异(Yi)常(Chang)”(?);(?)finally 为(Wei)确(Que)保(Bao)一(Yi)段(Duan)代(Dai)码(Ma)不(Bu)管(Guan)发(Fa)生(Sheng)什(Shi)么(Me)“(?)异(Yi)常(Chang)”(?)都(Du)被(Bei)执(Zhi)行(Xing)一(Yi)段(Duan)代(Dai)码(Ma);(?)可(Ke)以(Yi)在(Zai)一(Yi)个(Ge)成(Cheng)员(Yuan)函(Han)数(Shu)调(Diao)用(Yong)的(De)外(Wai)面(Mian)写(Xie)一(Yi)个(Ge)try语(Yu)句(Ju),(?)在(Zai)这(Zhe)个(Ge)成(Cheng)员(Yuan)函(Han)数(Shu)内(Nei)部(Bu)写(Xie)另(Ling)一(Yi)个(Ge)try语(Yu)句(Ju)保(Bao)护(Hu)其(Qi)他(Ta)代(Dai)码(Ma)。(?)每(Mei)当(Dang)遇(Yu)到(Dao)一(Yi)个(Ge)try 语(Yu)句(Ju),(?)“(?)异(Yi)常(Chang)”(?)的(De)框(Kuang)架(Jia)就(Jiu)放(Fang)到(Dao)栈(Zhan)上(Shang)面(Mian),(?)直(Zhi)到(Dao)所(Suo)有(You)的(De)try语(Yu)句(Ju)都(Du)完(Wan)成(Cheng)。(?)如(Ru)果(Guo)下(Xia)一(Yi)级(Ji)的(De)try语(Yu)句(Ju)没(Mei)有(You)对(Dui)某(Mou)种(Zhong)“(?)异(Yi)常(Chang)”(?)进(Jin)行(Xing)处(Chu)理(Li),(?)栈(Zhan)就(Jiu)会(Hui)展(Zhan)开(Kai),(?)直(Zhi)到(Dao)遇(Yu)到(Dao)有(You)处(Chu)理(Li)这(Zhe)种(Zhong)“(?)异(Yi)常(Chang)”(?)的(De)try 语(Yu)句(Ju)。(?)

286.运(Yun)行(Xing)时(Shi)异(Yi)常(Chang)与(Yu)受(Shou)检(Jian)异(Yi)常(Chang)有(You)何(He)异(Yi)同(Tong)?(?)

答(Da):(?)异(Yi)常(Chang)表(Biao)示(Shi)程(Cheng)序(Xu)运(Yun)行(Xing)过(Guo)程(Cheng)中(Zhong)可(Ke)能(Neng)出(Chu)现(Xian)的(De)非(Fei)正(Zheng)常(Chang)状(Zhuang)态(Tai),(?)运(Yun)行(Xing)时(Shi)异(Yi)常(Chang)表(Biao)示(Shi)虚(Xu)拟(Ni)机(Ji)的(De)通(Tong)常(Chang)操(Cao)作(Zuo)中(Zhong)可(Ke)能(Neng)遇(Yu)到(Dao)的(De)异(Yi)常(Chang),(?)是(Shi)一(Yi)种(Zhong)常(Chang)见(Jian)运(Yun)行(Xing)错(Cuo)误(Wu),(?)只(Zhi)要(Yao)程(Cheng)序(Xu)设(She)计(Ji)得(De)没(Mei)有(You)问(Wen)题(Ti)通(Tong)常(Chang)就(Jiu)不(Bu)会(Hui)发(Fa)生(Sheng)。(?)受(Shou)检(Jian)异(Yi)常(Chang)跟(Gen)程(Cheng)序(Xu)运(Yun)行(Xing)的(De)上(Shang)下(Xia)文(Wen)环(Huan)境(Jing)有(You)关(Guan),(?)即(Ji)使(Shi)程(Cheng)序(Xu)设(She)计(Ji)无(Wu)误(Wu),(?)仍(Reng)然(Ran)可(Ke)能(Neng)因(Yin)使(Shi)用(Yong)的(De)问(Wen)题(Ti)而(?)引(Yin)发(Fa)。(?)Java编(Bian)译(Yi)器(Qi)要(Yao)求(Qiu)方(Fang)法(Fa)必(Bi)须(Xu)声(Sheng)明(Ming)抛(Pao)出(Chu)可(Ke)能(Neng)发(Fa)生(Sheng)的(De)受(Shou)检(Jian)异(Yi)常(Chang),(?)但(Dan)是(Shi)并(Bing)不(Bu)要(Yao)求(Qiu)必(Bi)须(Xu)声(Sheng)明(Ming)抛(Pao)出(Chu)未(Wei)被(Bei)捕(Bu)获(Huo)的(De)运(Yun)行(Xing)时(Shi)异(Yi)常(Chang)。(?)异(Yi)常(Chang)和(He)继(Ji)承(Cheng)一(Yi)样(Yang),(?)是(Shi)面(Mian)向(Xiang)对(Dui)象(Xiang)程(Cheng)序(Xu)设(She)计(Ji)中(Zhong)经(Jing)常(Chang)被(Bei)滥(Lan)用(Yong)的(De)东(Dong)西(Xi),(?)神(Shen)作(Zuo)《(?)Effective Java》(?)中(Zhong)对(Dui)异(Yi)常(Chang)的(De)使(Shi)用(Yong)给(Gei)出(Chu)了(Liao)以(Yi)下(Xia)指(Zhi)导(Dao)原(Yuan)则(Ze):(?)

不(Bu)要(Yao)将(Jiang)异(Yi)常(Chang)处(Chu)理(Li)用(Yong)于(Yu)正(Zheng)常(Chang)的(De)控(Kong)制(Zhi)流(Liu)((?)设(She)计(Ji)良(Liang)好(Hao)的(De)API不(Bu)应(Ying)该(Gai)强(Qiang)迫(Po)它(Ta)的(De)调(Diao)用(Yong)者(Zhe)为(Wei)了(Liao)正(Zheng)常(Chang)的(De)控(Kong)制(Zhi)流(Liu)而(?)使(Shi)用(Yong)异(Yi)常(Chang))(?)

对(Dui)可(Ke)以(Yi)恢(Hui)复(Fu)的(De)情(Qing)况(Kuang)使(Shi)用(Yong)受(Shou)检(Jian)异(Yi)常(Chang),(?)对(Dui)编(Bian)程(Cheng)错(Cuo)误(Wu)使(Shi)用(Yong)运(Yun)行(Xing)时(Shi)异(Yi)常(Chang)

避(Bi)免(Mian)不(Bu)必(Bi)要(Yao)的(De)使(Shi)用(Yong)受(Shou)检(Jian)异(Yi)常(Chang)((?)可(Ke)以(Yi)通(Tong)过(Guo)一(Yi)些(Xie)状(Zhuang)态(Tai)检(Jian)测(Ce)手(Shou)段(Duan)来(Lai)避(Bi)免(Mian)异(Yi)常(Chang)发(Fa)生(Sheng))(?)

优(You)先(Xian)使(Shi)用(Yong)标(Biao)准(Zhun)的(De)异(Yi)常(Chang)

每(Mei)个(Ge)方(Fang)法(Fa)抛(Pao)出(Chu)的(De)异(Yi)常(Chang)都(Du)要(Yao)有(You)文(Wen)档(Dang)

保(Bao)持(Chi)异(Yi)常(Chang)的(De)原(Yuan)子(Zi)性(Xing)

不(Bu)要(Yao)在(Zai)catch中(Zhong)忽(Hu)略(Lue)掉(Diao)捕(Bu)获(Huo)到(Dao)的(De)异(Yi)常(Chang)

(异(Yi)常(Chang)表(Biao)示(Shi)程(Cheng)序(Xu)运(Yun)行(Xing)过(Guo)程(Cheng)中(Zhong)可(Ke)能(Neng)出(Chu)现(Xian)的(De)非(Fei)正(Zheng)常(Chang)状(Zhuang)态(Tai),(?)运(Yun)行(Xing)时(Shi)异(Yi)常(Chang)表(Biao)示(Shi)虚(Xu)拟(Ni)机(Ji)的(De)通(Tong)常(Chang)操(Cao)作(Zuo)中(Zhong)可(Ke)能(Neng)遇(Yu)到(Dao)的(De)异(Yi)常(Chang),(?)是(Shi)一(Yi)种(Zhong)常(Chang)见(Jian)运(Yun)行(Xing)错(Cuo)误(Wu)。(?)java编(Bian)译(Yi)器(Qi)要(Yao)求(Qiu)方(Fang)法(Fa)必(Bi)须(Xu)声(Sheng)明(Ming)抛(Pao)出(Chu)可(Ke)能(Neng)发(Fa)生(Sheng)的(De)非(Fei)运(Yun)行(Xing)时(Shi)异(Yi)常(Chang),(?)但(Dan)是(Shi)并(Bing)不(Bu)要(Yao)求(Qiu)必(Bi)须(Xu)声(Sheng)明(Ming)抛(Pao)出(Chu)未(Wei)被(Bei)捕(Bu)获(Huo)的(De)运(Yun)行(Xing)时(Shi)异(Yi)常(Chang)。(?))

287.类(Lei)ExampleA 继(Ji)承(Cheng)Exception,(?)类(Lei)ExampleB 继(Ji)承(Cheng)ExampleA

有(You)如(Ru)下(Xia)代(Dai)码(Ma)片(Pian)断(Duan):(?)

try{
throw new ExampleB("b")
}catch((?)ExampleA e)(?){
System.out.println("ExampleA");
}catch((?)Exception e)(?){
System.out.println("Exception");
}
 }

请(Qing)问(Wen)执(Zhi)行(Xing)此(Ci)段(Duan)代(Dai)码(Ma)的(De)输(Shu)出(Chu)是(Shi)什(Shi)么(Me)?(?)

答(Da):(?)输(Shu)出(Chu):(?)ExampleA。(?)((?)根(Gen)据(Ju)里(Li)氏(Shi)代(Dai)换(Huan)原(Yuan)则(Ze)[能(Neng)使(Shi)用(Yong)父(Fu)类(Lei)型(Xing)的(De)地(Di)方(Fang)一(Yi)定(Ding)能(Neng)使(Shi)用(Yong)子(Zi)类(Lei)型(Xing)],(?)抓(Zhua)取(Qu)ExampleA类(Lei)型(Xing)异(Yi)常(Chang)的(De)catch块(Kuai)能(Neng)够(Gou)抓(Zhua)住(Zhu)try块(Kuai)中(Zhong)抛(Pao)出(Chu)的(De)ExampleB类(Lei)型(Xing)的(De)异(Yi)常(Chang))(?)

补(Bu)充(Chong):(?) 比(Bi)此(Ci)题(Ti)略(Lue)复(Fu)杂(Za)的(De)一(Yi)道(Dao)面(Mian)试(Shi)题(Ti)如(Ru)下(Xia)所(Suo)示(Shi)((?)此(Ci)题(Ti)的(De)出(Chu)处(Chu)是(Shi)《(?)Java编(Bian)程(Cheng)思(Si)想(Xiang)》(?))(?),(?)说(Shuo)出(Chu)你(Ni)的(De)答(Da)案(An)吧(Ba)!(?)

package com.bjsxt;
class Annoyance extends Exception {}
class Sneeze extends Annoyance {}
 class Human {
  public static void main(String[] args)
        throws Exception {
        try {
            try {
                throw new Sneeze();
            }
            catch ( Annoyance a ) {
                System.out.println("Caught Annoyance");
                throw a;
            }
        }
        catch ( Sneeze s ) {
            System.out.println("Caught Sneeze");
            return ;
        }
        finally {
            System.out.println("Hello World!");
        }
    }
}

输(Shu)出(Chu)为(Wei):(?)

Caught Annoyance

Caught Sneeze

Hello World!

288.Error和(He)Exception的(De)区(Qu)别(Bie)

Error类(Lei),(?)表(Biao)示(Shi)仅(Jin)靠(Kao)程(Cheng)序(Xu)本(Ben)身(Shen)无(Wu)法(Fa)恢(Hui)复(Fu)的(De)严(Yan)重(Zhong)错(Cuo)误(Wu),(?)比(Bi)如(Ru)说(Shuo)内(Nei)存(Cun)溢(Yi)出(Chu)、(?)动(Dong)态(Tai)链(Lian)接(Jie)异(Yi)常(Chang)、(?)虚(Xu)拟(Ni)机(Ji)错(Cuo)误(Wu)。(?)应(Ying)用(Yong)程(Cheng)序(Xu)不(Bu)应(Ying)该(Gai)抛(Pao)出(Chu)这(Zhe)种(Zhong)类(Lei)型(Xing)的(De)对(Dui)象(Xiang)。(?)假(Jia)如(Ru)出(Chu)现(Xian)这(Zhe)种(Zhong)错(Cuo)误(Wu),(?)除(Chu)了(Liao)尽(Jin)力(Li)使(Shi)程(Cheng)序(Xu)安(An)全(Quan)退(Tui)出(Chu)外(Wai),(?)在(Zai)其(Qi)他(Ta)方(Fang)面(Mian)是(Shi)无(Wu)能(Neng)为(Wei)力(Li)的(De)。(?)所(Suo)以(Yi)在(Zai)进(Jin)行(Xing)程(Cheng)序(Xu)设(She)计(Ji)时(Shi),(?)应(Ying)该(Gai)更(Geng)关(Guan)注(Zhu)Exception类(Lei)。(?)

Exception类(Lei),(?)由(You)Java应(Ying)用(Yong)程(Cheng)序(Xu)抛(Pao)出(Chu)和(He)处(Chu)理(Li)的(De)非(Fei)严(Yan)重(Zhong)错(Cuo)误(Wu),(?)比(Bi)如(Ru)所(Suo)需(Xu)文(Wen)件(Jian)没(Mei)有(You)找(Zhao)到(Dao)、(?)零(Ling)作(Zuo)除(Chu)数(Shu),(?)数(Shu)组(Zu)下(Xia)标(Biao)越(Yue)界(Jie)等(Deng)。(?)它(Ta)的(De)各(Ge)种(Zhong)不(Bu)同(Tong)子(Zi)类(Lei)分(Fen)别(Bie)对(Dui)应(Ying)不(Bu)同(Tong)类(Lei)型(Xing)异(Yi)常(Chang)。(?)可(Ke)分(Fen)为(Wei)两(Liang)类(Lei):(?)Checked异(Yi)常(Chang)和(He)Runtime异(Yi)常(Chang)

289.Java异(Yi)常(Chang)处(Chu)理(Li)try-catch-finally的(De)执(Zhi)行(Xing)过(Guo)程(Cheng)

try-catch-finally程(Cheng)序(Xu)块(Kuai)的(De)执(Zhi)行(Xing)流(Liu)程(Cheng)以(Yi)及(Ji)执(Zhi)行(Xing)结(Jie)果(Guo)比(Bi)较(Jiao)复(Fu)杂(Za)。(?)

基(Ji)本(Ben)执(Zhi)行(Xing)过(Guo)程(Cheng)如(Ru)下(Xia):(?)

1)(?)程(Cheng)序(Xu)首(Shou)先(Xian)执(Zhi)行(Xing)可(Ke)能(Neng)发(Fa)生(Sheng)异(Yi)常(Chang)的(De)try语(Yu)句(Ju)块(Kuai)。(?)

2)(?)如(Ru)果(Guo)try语(Yu)句(Ju)没(Mei)有(You)出(Chu)现(Xian)异(Yi)常(Chang)则(Ze)执(Zhi)行(Xing)完(Wan)后(Hou)跳(Tiao)至(Zhi)finally语(Yu)句(Ju)块(Kuai)执(Zhi)行(Xing);(?)

3)(?)如(Ru)果(Guo)try语(Yu)句(Ju)出(Chu)现(Xian)异(Yi)常(Chang),(?)则(Ze)中(Zhong)断(Duan)执(Zhi)行(Xing)并(Bing)根(Gen)据(Ju)发(Fa)生(Sheng)的(De)异(Yi)常(Chang)类(Lei)型(Xing)跳(Tiao)至(Zhi)相(Xiang)应(Ying)的(De)catch语(Yu)句(Ju)块(Kuai)执(Zhi)行(Xing)处(Chu)理(Li)。(?)

4)(?)catch语(Yu)句(Ju)块(Kuai)可(Ke)以(Yi)有(You)多(Duo)个(Ge),(?)分(Fen)别(Bie)捕(Bu)获(Huo)不(Bu)同(Tong)类(Lei)型(Xing)的(De)异(Yi)常(Chang)。(?)

5)(?)catch语(Yu)句(Ju)块(Kuai)执(Zhi)行(Xing)完(Wan)后(Hou)程(Cheng)序(Xu)会(Hui)继(Ji)续(Xu)执(Zhi)行(Xing)finally语(Yu)句(Ju)块(Kuai)。(?)

finally语(Yu)句(Ju)是(Shi)可(Ke)选(Xuan)的(De),(?)如(Ru)果(Guo)有(You)的(De)话(Hua),(?)则(Ze)不(Bu)管(Guan)是(Shi)否(Fou)发(Fa)生(Sheng)异(Yi)常(Chang),(?)finally语(Yu)句(Ju)都(Du)会(Hui)被(Bei)执(Zhi)行(Xing)。(?)需(Xu)要(Yao)注(Zhu)意(Yi)的(De)是(Shi)即(Ji)使(Shi)try和(He)catch块(Kuai)中(Zhong)存(Cun)在(Zai)return语(Yu)句(Ju),(?)finally语(Yu)句(Ju)也(Ye)会(Hui)执(Zhi)行(Xing),(?)是(Shi)在(Zai)执(Zhi)行(Xing)完(Wan)finally语(Yu)句(Ju)后(Hou)再(Zai)通(Tong)过(Guo)return退(Tui)出(Chu)。(?)

290.异(Yi)常(Chang)处(Chu)理(Li)中(Zhong)throws和(He)throw的(De)区(Qu)别(Bie)

1)(?)作(Zuo)用(Yong)不(Bu)同(Tong):(?)

throw用(Yong)于(Yu)程(Cheng)序(Xu)员(Yuan)自(Zi)行(Xing)产(Chan)生(Sheng)并(Bing)抛(Pao)出(Chu)异(Yi)常(Chang);(?)

throws用(Yong)于(Yu)声(Sheng)明(Ming)在(Zai)该(Gai)方(Fang)法(Fa)内(Nei)抛(Pao)出(Chu)了(Liao)异(Yi)常(Chang)

2)(?) 使(Shi)用(Yong)的(De)位(Wei)置(Zhi)不(Bu)同(Tong):(?)

throw位(Wei)于(Yu)方(Fang)法(Fa)体(Ti)内(Nei)部(Bu),(?)可(Ke)以(Yi)作(Zuo)为(Wei)单(Dan)独(Du)语(Yu)句(Ju)使(Shi)用(Yong);(?)

throws必(Bi)须(Xu)跟(Gen)在(Zai)方(Fang)法(Fa)参(Can)数(Shu)列(Lie)表(Biao)的(De)后(Hou)面(Mian),(?)不(Bu)能(Neng)单(Dan)独(Du)使(Shi)用(Yong)。(?)

3)(?)内(Nei)容(Rong)不(Bu)同(Tong):(?)

throw抛(Pao)出(Chu)一(Yi)个(Ge)异(Yi)常(Chang)对(Dui)象(Xiang),(?)且(Qie)只(Zhi)能(Neng)是(Shi)一(Yi)个(Ge);(?)

throws后(Hou)面(Mian)跟(Gen)异(Yi)常(Chang)类(Lei),(?)而(?)且(Qie)可(Ke)以(Yi)有(You)多(Duo)个(Ge)。(?)

Web方(Fang)面(Mian)相(Xiang)关(Guan):(?)
291.WEB应(Ying)用(Yong)中(Zhong)如(Ru)果(Guo)有(You).class和(He).jar类(Lei)型(Xing)的(De)文(Wen)件(Jian)一(Yi)般(Ban)分(Fen)别(Bie)应(Ying)该(Gai)放(Fang)在(Zai)什(Shi)么(Me)位(Wei)置(Zhi)?(?)

答(Da):.class文(Wen)件(Jian)放(Fang)在(Zai)WEB-INF/classes文(Wen)件(Jian)下(Xia),(?).jar文(Wen)件(Jian)放(Fang)在(Zai)WEB-INF/lib文(Wen)件(Jian)夹(Jia)下(Xia)

292.元(Yuan)素(Su)中(Zhong)有(You)一(Yi)个(Ge)输(Shu)入(Ru)框(Kuang)((?)< input type='text' name=”(?)username”(?)id=”(?)username”(?)value=”(?)”(?)/>,请(Qing)用(Yong)JavaScript语(Yu)言(Yan)写(Xie)一(Yi)行(Xing)代(Dai)码(Ma),(?)取(Qu)得(De)这(Zhe)个(Ge)输(Shu)入(Ru)框(Kuang)中(Zhong)的(De)值(Zhi)。(?)

答(Da):document.getElementById(“(?)username”(?)).value;

293.简(Jian)单(Dan)描(Miao)述(Shu)一(Yi)下(Xia)Servlet与(Yu)JSP的(De)的(De)相(Xiang)同(Tong)点(Dian)和(He)区(Qu)别(Bie)点(Dian)。(?)

区(Qu)别(Bie):(?)

JSP是(Shi)在(Zai)HTML代(Dai)码(Ma)里(Li)写(Xie)JAVA代(Dai)码(Ma),框(Kuang)架(Jia)是(Shi)HTML;而(?)Servlet是(Shi)在(Zai)JAVA代(Dai)码(Ma)中(Zhong)写(Xie)HTML代(Dai)码(Ma),(?)本(Ben)身(Shen)是(Shi)个(Ge)JAVA类(Lei)。(?)

JSP使(Shi)人(Ren)们(Men)把(Ba)显(Xian)示(Shi)和(He)逻(Luo)辑(Ji)分(Fen)隔(Ge)成(Cheng)为(Wei)可(Ke)能(Neng),(?)这(Zhe)意(Yi)味(Wei)着(Zhuo)两(Liang)者(Zhe)的(De)开(Kai)发(Fa)可(Ke)并(Bing)行(Xing)进(Jin)行(Xing);(?)而(?)Servlet并(Bing)没(Mei)有(You)把(Ba)两(Liang)者(Zhe)分(Fen)开(Kai)。(?)

Servlet独(Du)立(Li)地(Di)处(Chu)理(Li)静(Jing)态(Tai)表(Biao)示(Shi)逻(Luo)辑(Ji)与(Yu)动(Dong)态(Tai)业(Ye)务(Wu)逻(Luo)辑(Ji).这(Zhe)样(Yang),任(Ren)何(He)文(Wen)件(Jian)的(De)变(Bian)动(Dong)都(Du)需(Xu)要(Yao)对(Dui)此(Ci)服(Fu)务(Wu)程(Cheng)序(Xu)重(Zhong)新(Xin)编(Bian)译(Yi);JSP允(Yun)许(Xu)用(Yong)特(Te)殊(Shu)标(Biao)签(Qian)直(Zhi)接(Jie)嵌(Qian)入(Ru)到(Dao)HTML页(Ye)面(Mian), HTML内(Nei)容(Rong)与(Yu)JAVA内(Nei)容(Rong)也(Ye)可(Ke)放(Fang)在(Zai)单(Dan)独(Du)文(Wen)件(Jian)中(Zhong),HTML内(Nei)容(Rong)的(De)任(Ren)何(He)变(Bian)动(Dong)会(Hui)自(Zi)动(Dong)编(Bian)译(Yi)装(Zhuang)入(Ru)到(Dao)服(Fu)务(Wu)程(Cheng)序(Xu).

Servlet需(Xu)要(Yao)在(Zai)web.xml中(Zhong)配(Pei)置(Zhi),(?)而(?)JSP无(Wu)需(Xu)配(Pei)置(Zhi)。(?)

目(Mu)前(Qian)JSP主(Zhu)要(Yao)用(Yong)在(Zai)视(Shi)图(Tu)层(Ceng),(?)负(Fu)责(Ze)显(Xian)示(Shi),(?)而(?)Servlet主(Zhu)要(Yao)用(Yong)在(Zai)控(Kong)制(Zhi)层(Ceng),(?)负(Fu)责(Ze)调(Diao)度(Du)

联(Lian)系(Xi):(?)

都(Du)是(Shi)Sun公(Gong)司(Si)推(Tui)出(Chu)的(De)动(Dong)态(Tai)网(Wang)页(Ye)技(Ji)术(Shu)。(?)

先(Xian)有(You)Servlet,(?)针(Zhen)对(Dui)Servlet缺(Que)点(Dian)推(Tui)出(Chu)JSP。(?)JSP是(Shi)Servlet的(De)一(Yi)种(Zhong)特(Te)殊(Shu)形(Xing)式(Shi),(?)每(Mei)个(Ge)JSP页(Ye)面(Mian)就(Jiu)是(Shi)一(Yi)个(Ge)Servlet实(Shi)例(Li)—(?)—(?)JSP页(Ye)面(Mian)由(You)系(Xi)统(Tong)翻(Fan)译(Yi)成(Cheng)Servlet,(?)Servlet再(Zai)负(Fu)责(Ze)响(Xiang)应(Ying)用(Yong)户(Hu)请(Qing)求(Qiu)。(?)

294.请(Qing)简(Jian)单(Dan)描(Miao)述(Shu)下(Xia)几(Ji)个(Ge)您(Nin)熟(Shu)悉(Xi)JavaScript库(Ku),(?)它(Ta)们(Men)有(You)哪(Na)些(Xie)作(Zuo)用(Yong)和(He)特(Te)点(Dian)?(?)

JavaScript 高(Gao)级(Ji)程(Cheng)序(Xu)设(She)计(Ji)((?)特(Te)别(Bie)是(Shi)对(Dui)浏(Liu)览(Lan)器(Qi)差(Cha)异(Yi)的(De)复(Fu)杂(Za)处(Chu)理(Li))(?),(?)通(Tong)常(Chang)很(Hen)困(Kun)难(Nan)也(Ye)很(Hen)耗(Hao)时(Shi)。(?)为(Wei)了(Liao)应(Ying)对(Dui)这(Zhe)些(Xie)调(Diao)整(Zheng),(?)许(Xu)多(Duo)的(De) JavaScript库(Ku)应(Ying)运(Yun)而(?)生(Sheng)。(?)这(Zhe)些(Xie) JavaScript 库(Ku)常(Chang)被(Bei)称(Cheng)为(Wei) JavaScript 框(Kuang)架(Jia)。(?)

jQuery:

Ext JS - 可(Ke)定(Ding)制(Zhi)的(De) widget,(?)用(Yong)于(Yu)构(Gou)建(Jian)富(Fu)因(Yin)特(Te)网(Wang)应(Ying)用(Yong)程(Cheng)序(Xu)((?)rich Internet applications)(?)。(?)

Prototype

MooTools。(?)

YUI - Yahoo! User Interface Framework,(?)涵(Han)盖(Gai)大(Da)量(Liang)函(Han)数(Shu)的(De)大(Da)型(Xing)库(Ku),(?)从(Cong)简(Jian)单(Dan)的(De) JavaScript 功(Gong)能(Neng)到(Dao)完(Wan)整(Zheng)的(De) internet widget。(?)

295.简(Jian)单(Dan)描(Miao)述(Shu)HTML,(?)CSS,(?)Javascript在(Zai)Web开(Kai)发(Fa)中(Zhong)分(Fen)别(Bie)起(Qi)什(Shi)么(Me)作(Zuo)用(Yong)?(?)

1、(?)什(Shi)么(Me)是(Shi)HTML((?)超(Chao)文(Wen)本(Ben)标(Biao)记(Ji)语(Yu)言(Yan) Hyper Text Markup Language)(?),(?)HTML 是(Shi)用(Yong)来(Lai)描(Miao)述(Shu)网(Wang)页(Ye)的(De)一(Yi)种(Zhong)语(Yu)言(Yan)。(?)

2、(?)CSS(层(Ceng)叠(Die)样(Yang)式(Shi)表(Biao) Cascading Style Sheets),样(Yang)式(Shi)定(Ding)义(Yi)如(Ru)何(He)显(Xian)示(Shi) HTML 元(Yuan)素(Su),(?)语(Yu)法(Fa)为(Wei):(?)selector {property:(?)value} (选(Xuan)择(Ze)符(Fu) {属(Shu)性(Xing):(?)值(Zhi)})

3、(?)JavaScript是(Shi)一(Yi)种(Zhong)脚(Jiao)本(Ben)语(Yu)言(Yan),(?)其(Qi)源(Yuan)代(Dai)码(Ma)在(Zai)发(Fa)往(Wang)客(Ke)户(Hu)端(Duan)运(Yun)行(Xing)之(Zhi)前(Qian)不(Bu)需(Xu)经(Jing)过(Guo)编(Bian)译(Yi),(?)而(?)是(Shi)将(Jiang)文(Wen)本(Ben)格(Ge)式(Shi)的(De)字(Zi)符(Fu)代(Dai)码(Ma)发(Fa)送(Song)给(Gei)浏(Liu)览(Lan)器(Qi)由(You)浏(Liu)览(Lan)器(Qi)解(Jie)释(Shi)运(Yun)行(Xing)

对(Dui)于(Yu)一(Yi)个(Ge)网(Wang)页(Ye),(?)HTML定(Ding)义(Yi)网(Wang)页(Ye)的(De)结(Jie)构(Gou),(?)CSS描(Miao)述(Shu)网(Wang)页(Ye)的(De)样(Yang)子(Zi),(?)JavaScript设(She)置(Zhi)一(Yi)个(Ge)很(Hen)经(Jing)典(Dian)的(De)例(Li)子(Zi)是(Shi)说(Shuo)HTML就(Jiu)像(Xiang) 一(Yi)个(Ge)人(Ren)的(De)骨(Gu)骼(Ge)、(?)器(Qi)官(Guan),(?)而(?)CSS就(Jiu)是(Shi)人(Ren)的(De)皮(Pi)肤(Fu),(?)有(You)了(Liao)这(Zhe)两(Liang)样(Yang)也(Ye)就(Jiu)构(Gou)成(Cheng)了(Liao)一(Yi)个(Ge)植(Zhi)物(Wu)人(Ren)了(Liao),(?)加(Jia)上(Shang)javascript这(Zhe)个(Ge)植(Zhi)物(Wu)人(Ren)就(Jiu)可(Ke)以(Yi)对(Dui)外(Wai)界(Jie)刺(Ci)激(Ji)做(Zuo)出(Chu)反(Fan)应(Ying),(?)可(Ke)以(Yi)思(Si) 考(Kao)、(?)运(Yun)动(Dong)、(?)可(Ke)以(Yi)给(Gei)自(Zi)己(Ji)整(Zheng)容(Rong)化(Hua)妆(Zhuang)((?)改(Gai)变(Bian)CSS)(?)等(Deng)等(Deng),(?)成(Cheng)为(Wei)一(Yi)个(Ge)活(Huo)生(Sheng)生(Sheng)的(De)人(Ren)。(?)

如(Ru)果(Guo)说(Shuo)HTML是(Shi)肉(Rou)身(Shen)、(?)CSS就(Jiu)是(Shi)皮(Pi)相(Xiang)、(?)Javascript就(Jiu)是(Shi)灵(Ling)魂(Hun)。(?)没(Mei)有(You)Javascript,HTML+CSS是(Shi)植(Zhi)物(Wu)人(Ren),(?)没(Mei)有(You)Javascript、(?)CSS是(Shi)个(Ge)毁(Hui)容(Rong)的(De)植(Zhi)物(Wu)人(Ren)。(?)

如(Ru)果(Guo)说(Shuo)HTML是(Shi)建(Jian)筑(Zhu)师(Shi),(?)CSS就(Jiu)是(Shi)干(Gan)装(Zhuang)修(Xiu)的(De),(?)Javascript是(Shi)魔(Mo)术(Shu)师(Shi)。(?)

296.当(Dang)DOM加(Jia)载(Zai)完(Wan)成(Cheng)后(Hou)要(Yao)执(Zhi)行(Xing)的(De)函(Han)数(Shu),(?)下(Xia)面(Mian)哪(Na)个(Ge)是(Shi)正(Zheng)确(Que)的(De)()
A. JQuery((?)expression, [context])(?)
B. JQuery((?)html, [ownerDocument])(?)
C. JQuery((?)callback)(?)
答(Da)案(An):(?)C
297.举(Ju)例(Li)说(Shuo)明(Ming)JAVA中(Zhong)如(Ru)何(He)解(Jie)析(Xi)xml,(?)不(Bu)同(Tong)方(Fang)式(Shi)有(You)和(He)优(You)缺(Que)点(Dian)?(?)

答(Da):(?)1. DOM((?)Document Object Model)

DOM是(Shi)用(Yong)与(Yu)平(Ping)台(Tai)和(He)语(Yu)言(Yan)无(Wu)关(Guan)的(De)方(Fang)式(Shi)表(Biao)示(Shi)XML文(Wen)档(Dang)的(De)官(Guan)方(Fang)W3C标(Biao)准(Zhun)。(?)DOM是(Shi)以(Yi)层(Ceng)次(Ci)结(Jie)构(Gou)组(Zu)织(Zhi)的(De)节(Jie)点(Dian)或(Huo)信(Xin)息(Xi)片(Pian)断(Duan)的(De)集(Ji)合(He)。(?)这(Zhe)个(Ge)层(Ceng)次(Ci)结(Jie)构(Gou)允(Yun)许(Xu)开(Kai)发(Fa)人(Ren)员(Yuan)在(Zai)树(Shu)中(Zhong)寻(Xun)找(Zhao)特(Te)定(Ding)信(Xin)息(Xi)。(?)分(Fen)析(Xi)该(Gai)结(Jie)构(Gou)通(Tong)常(Chang)需(Xu)要(Yao)加(Jia)载(Zai)整(Zheng)个(Ge)文(Wen)档(Dang)和(He)构(Gou)造(Zao)层(Ceng)次(Ci)结(Jie)构(Gou),(?)然(Ran)后(Hou)才(Cai)能(Neng)做(Zuo)任(Ren)何(He)工(Gong)作(Zuo)。(?)由(You)于(Yu)它(Ta)是(Shi)基(Ji)于(Yu)信(Xin)息(Xi)层(Ceng)次(Ci)的(De),(?)因(Yin)而(?)DOM被(Bei)认(Ren)为(Wei)是(Shi)基(Ji)于(Yu)树(Shu)或(Huo)基(Ji)于(Yu)对(Dui)象(Xiang)的(De)。(?)

【(?)优(You)点(Dian)】(?)

①(?)允(Yun)许(Xu)应(Ying)用(Yong)程(Cheng)序(Xu)对(Dui)数(Shu)据(Ju)和(He)结(Jie)构(Gou)做(Zuo)出(Chu)更(Geng)改(Gai)。(?)

②(?)访(Fang)问(Wen)是(Shi)双(Shuang)向(Xiang)的(De),(?)可(Ke)以(Yi)在(Zai)任(Ren)何(He)时(Shi)候(Hou)在(Zai)树(Shu)中(Zhong)上(Shang)下(Xia)导(Dao)航(Hang),(?)获(Huo)取(Qu)和(He)操(Cao)作(Zuo)任(Ren)意(Yi)部(Bu)分(Fen)的(De)数(Shu)据(Ju)。(?)

【(?)缺(Que)点(Dian)】(?)

①(?)通(Tong)常(Chang)需(Xu)要(Yao)加(Jia)载(Zai)整(Zheng)个(Ge)XML文(Wen)档(Dang)来(Lai)构(Gou)造(Zao)层(Ceng)次(Ci)结(Jie)构(Gou),(?)消(Xiao)耗(Hao)资(Zi)源(Yuan)大(Da)。(?)

2. SAX((?)Simple API for XML)

SAX处(Chu)理(Li)的(De)优(You)点(Dian)非(Fei)常(Chang)类(Lei)似(Si)于(Yu)流(Liu)媒(Mei)体(Ti)的(De)优(You)点(Dian)。(?)分(Fen)析(Xi)能(Neng)够(Gou)立(Li)即(Ji)开(Kai)始(Shi),(?)而(?)不(Bu)是(Shi)等(Deng)待(Dai)所(Suo)有(You)的(De)数(Shu)据(Ju)被(Bei)处(Chu)理(Li)。(?)而(?)且(Qie),(?)由(You)于(Yu)应(Ying)用(Yong)程(Cheng)序(Xu)只(Zhi)是(Shi)在(Zai)读(Du)取(Qu)数(Shu)据(Ju)时(Shi)检(Jian)查(Cha)数(Shu)据(Ju),(?)因(Yin)此(Ci)不(Bu)需(Xu)要(Yao)将(Jiang)数(Shu)据(Ju)存(Cun)储(Chu)在(Zai)内(Nei)存(Cun)中(Zhong)。(?)这(Zhe)对(Dui)于(Yu)大(Da)型(Xing)文(Wen)档(Dang)来(Lai)说(Shuo)是(Shi)个(Ge)巨(Ju)大(Da)的(De)优(You)点(Dian)。(?)事(Shi)实(Shi)上(Shang),(?)应(Ying)用(Yong)程(Cheng)序(Xu)甚(Shen)至(Zhi)不(Bu)必(Bi)解(Jie)析(Xi)整(Zheng)个(Ge)文(Wen)档(Dang);(?)它(Ta)可(Ke)以(Yi)在(Zai)某(Mou)个(Ge)条(Tiao)件(Jian)得(De)到(Dao)满(Man)足(Zu)时(Shi)停(Ting)止(Zhi)解(Jie)析(Xi)。(?)一(Yi)般(Ban)来(Lai)说(Shuo),(?)SAX还(Huan)比(Bi)它(Ta)的(De)替(Ti)代(Dai)者(Zhe)DOM快(Kuai)许(Xu)多(Duo)。(?)

选(Xuan)择(Ze)DOM还(Huan)是(Shi)选(Xuan)择(Ze)SAX?(?) 对(Dui)于(Yu)需(Xu)要(Yao)自(Zi)己(Ji)编(Bian)写(Xie)代(Dai)码(Ma)来(Lai)处(Chu)理(Li)XML文(Wen)档(Dang)的(De)开(Kai)发(Fa)人(Ren)员(Yuan)来(Lai)说(Shuo),(?) 选(Xuan)择(Ze)DOM还(Huan)是(Shi)SAX解(Jie)析(Xi)模(Mo)型(Xing)是(Shi)一(Yi)个(Ge)非(Fei)常(Chang)重(Zhong)要(Yao)的(De)设(She)计(Ji)决(Jue)策(Ce)。(?) DOM采(Cai)用(Yong)建(Jian)立(Li)树(Shu)形(Xing)结(Jie)构(Gou)的(De)方(Fang)式(Shi)访(Fang)问(Wen)XML文(Wen)档(Dang),(?)而(?)SAX采(Cai)用(Yong)的(De)是(Shi)事(Shi)件(Jian)模(Mo)型(Xing)。(?)

DOM解(Jie)析(Xi)器(Qi)把(Ba)XML文(Wen)档(Dang)转(Zhuan)化(Hua)为(Wei)一(Yi)个(Ge)包(Bao)含(Han)其(Qi)内(Nei)容(Rong)的(De)树(Shu),(?)并(Bing)可(Ke)以(Yi)对(Dui)树(Shu)进(Jin)行(Xing)遍(Bian)历(Li)。(?)用(Yong)DOM解(Jie)析(Xi)模(Mo)型(Xing)的(De)优(You)点(Dian)是(Shi)编(Bian)程(Cheng)容(Rong)易(Yi),(?)开(Kai)发(Fa)人(Ren)员(Yuan)只(Zhi)需(Xu)要(Yao)调(Diao)用(Yong)建(Jian)树(Shu)的(De)指(Zhi)令(Ling),(?)然(Ran)后(Hou)利(Li)用(Yong)navigation APIs访(Fang)问(Wen)所(Suo)需(Xu)的(De)树(Shu)节(Jie)点(Dian)来(Lai)完(Wan)成(Cheng)任(Ren)务(Wu)。(?)可(Ke)以(Yi)很(Hen)容(Rong)易(Yi)的(De)添(Tian)加(Jia)和(He)修(Xiu)改(Gai)树(Shu)中(Zhong)的(De)元(Yuan)素(Su)。(?)然(Ran)而(?)由(You)于(Yu)使(Shi)用(Yong)DOM解(Jie)析(Xi)器(Qi)的(De)时(Shi)候(Hou)需(Xu)要(Yao)处(Chu)理(Li)整(Zheng)个(Ge)XML文(Wen)档(Dang),(?)所(Suo)以(Yi)对(Dui)性(Xing)能(Neng)和(He)内(Nei)存(Cun)的(De)要(Yao)求(Qiu)比(Bi)较(Jiao)高(Gao),(?)尤(You)其(Qi)是(Shi)遇(Yu)到(Dao)很(Hen)大(Da)的(De)XML文(Wen)件(Jian)的(De)时(Shi)候(Hou)。(?)由(You)于(Yu)它(Ta)的(De)遍(Bian)历(Li)能(Neng)力(Li),(?)DOM解(Jie)析(Xi)器(Qi)常(Chang)用(Yong)于(Yu)XML文(Wen)档(Dang)需(Xu)要(Yao)频(Pin)繁(Fan)的(De)改(Gai)变(Bian)的(De)服(Fu)务(Wu)中(Zhong)。(?)

SAX解(Jie)析(Xi)器(Qi)采(Cai)用(Yong)了(Liao)基(Ji)于(Yu)事(Shi)件(Jian)的(De)模(Mo)型(Xing),(?)它(Ta)在(Zai)解(Jie)析(Xi)XML文(Wen)档(Dang)的(De)时(Shi)候(Hou)可(Ke)以(Yi)触(Chu)发(Fa)一(Yi)系(Xi)列(Lie)的(De)事(Shi)件(Jian),(?)当(Dang)发(Fa)现(Xian)给(Gei)定(Ding)的(De)tag的(De)时(Shi)候(Hou),(?)它(Ta)可(Ke)以(Yi)激(Ji)活(Huo)一(Yi)个(Ge)回(Hui)调(Diao)方(Fang)法(Fa),(?)告(Gao)诉(Su)该(Gai)方(Fang)法(Fa)制(Zhi)定(Ding)的(De)标(Biao)签(Qian)已(Yi)经(Jing)找(Zhao)到(Dao)。(?)SAX对(Dui)内(Nei)存(Cun)的(De)要(Yao)求(Qiu)通(Tong)常(Chang)会(Hui)比(Bi)较(Jiao)低(Di),(?)因(Yin)为(Wei)它(Ta)让(Rang)开(Kai)发(Fa)人(Ren)员(Yuan)自(Zi)己(Ji)来(Lai)决(Jue)定(Ding)所(Suo)要(Yao)处(Chu)理(Li)的(De)tag.特(Te)别(Bie)是(Shi)当(Dang)开(Kai)发(Fa)人(Ren)员(Yuan)只(Zhi)需(Xu)要(Yao)处(Chu)理(Li)文(Wen)档(Dang)中(Zhong)所(Suo)包(Bao)含(Han)的(De)部(Bu)分(Fen)数(Shu)据(Ju)时(Shi),(?)SAX这(Zhe)种(Zhong)扩(Kuo)展(Zhan)能(Neng)力(Li)得(De)到(Dao)了(Liao)更(Geng)好(Hao)的(De)体(Ti)现(Xian)。(?)但(Dan)用(Yong)SAX解(Jie)析(Xi)器(Qi)的(De)时(Shi)候(Hou)编(Bian)码(Ma)工(Gong)作(Zuo)会(Hui)比(Bi)较(Jiao)困(Kun)难(Nan),(?)而(?)且(Qie)很(Hen)难(Nan)同(Tong)时(Shi)访(Fang)问(Wen)同(Tong)一(Yi)个(Ge)文(Wen)档(Dang)中(Zhong)的(De)多(Duo)处(Chu)不(Bu)同(Tong)数(Shu)据(Ju)。(?)

【(?)优(You)势(Shi)】(?)

①(?)不(Bu)需(Xu)要(Yao)等(Deng)待(Dai)所(Suo)有(You)数(Shu)据(Ju)都(Du)被(Bei)处(Chu)理(Li),(?)分(Fen)析(Xi)就(Jiu)能(Neng)立(Li)即(Ji)开(Kai)始(Shi)。(?)

②(?)只(Zhi)在(Zai)读(Du)取(Qu)数(Shu)据(Ju)时(Shi)检(Jian)查(Cha)数(Shu)据(Ju),(?)不(Bu)需(Xu)要(Yao)保(Bao)存(Cun)在(Zai)内(Nei)存(Cun)中(Zhong)。(?)

③(?)可(Ke)以(Yi)在(Zai)某(Mou)个(Ge)条(Tiao)件(Jian)得(De)到(Dao)满(Man)足(Zu)时(Shi)停(Ting)止(Zhi)解(Jie)析(Xi),(?)不(Bu)必(Bi)解(Jie)析(Xi)整(Zheng)个(Ge)文(Wen)档(Dang)。(?)

④(?)效(Xiao)率(Lu)和(He)性(Xing)能(Neng)较(Jiao)高(Gao),(?)能(Neng)解(Jie)析(Xi)大(Da)于(Yu)系(Xi)统(Tong)内(Nei)存(Cun)的(De)文(Wen)档(Dang)。(?)

【(?)缺(Que)点(Dian)】(?)

①(?)需(Xu)要(Yao)应(Ying)用(Yong)程(Cheng)序(Xu)自(Zi)己(Ji)负(Fu)责(Ze)TAG的(De)处(Chu)理(Li)逻(Luo)辑(Ji)((?)例(Li)如(Ru)维(Wei)护(Hu)父(Fu)/子(Zi)关(Guan)系(Xi)等(Deng))(?),(?)文(Wen)档(Dang)越(Yue)复(Fu)杂(Za)程(Cheng)序(Xu)就(Jiu)越(Yue)复(Fu)杂(Za)。(?)

②(?)单(Dan)向(Xiang)导(Dao)航(Hang),(?)无(Wu)法(Fa)定(Ding)位(Wei)文(Wen)档(Dang)层(Ceng)次(Ci),(?)很(Hen)难(Nan)同(Tong)时(Shi)访(Fang)问(Wen)同(Tong)一(Yi)文(Wen)档(Dang)的(De)不(Bu)同(Tong)部(Bu)分(Fen)数(Shu)据(Ju),(?)不(Bu)支(Zhi)持(Chi)XPath。(?)

3. JDOM(Java-based Document Object Model)

JDOM的(De)目(Mu)的(De)是(Shi)成(Cheng)为(Wei)Java特(Te)定(Ding)文(Wen)档(Dang)模(Mo)型(Xing),(?)它(Ta)简(Jian)化(Hua)与(Yu)XML的(De)交(Jiao)互(Hu)并(Bing)且(Qie)比(Bi)使(Shi)用(Yong)DOM实(Shi)现(Xian)更(Geng)快(Kuai)。(?)由(You)于(Yu)是(Shi)第(Di)一(Yi)个(Ge)Java特(Te)定(Ding)模(Mo)型(Xing),(?)JDOM一(Yi)直(Zhi)得(De)到(Dao)大(Da)力(Li)推(Tui)广(Guang)和(He)促(Cu)进(Jin)。(?)正(Zheng)在(Zai)考(Kao)虑(Lu)通(Tong)过(Guo)“(?)Java规(Gui)范(Fan)请(Qing)求(Qiu)JSR-102”(?)将(Jiang)它(Ta)最(Zui)终(Zhong)用(Yong)作(Zuo)“(?)Java标(Biao)准(Zhun)扩(Kuo)展(Zhan)”(?)。(?)从(Cong)2000年(Nian)初(Chu)就(Jiu)已(Yi)经(Jing)开(Kai)始(Shi)了(Liao)JDOM开(Kai)发(Fa)。(?)

JDOM与(Yu)DOM主(Zhu)要(Yao)有(You)两(Liang)方(Fang)面(Mian)不(Bu)同(Tong)。(?)首(Shou)先(Xian),(?)JDOM仅(Jin)使(Shi)用(Yong)具(Ju)体(Ti)类(Lei)而(?)不(Bu)使(Shi)用(Yong)接(Jie)口(Kou)。(?)这(Zhe)在(Zai)某(Mou)些(Xie)方(Fang)面(Mian)简(Jian)化(Hua)了(Liao)API,(?)但(Dan)是(Shi)也(Ye)限(Xian)制(Zhi)了(Liao)灵(Ling)活(Huo)性(Xing)。(?)第(Di)二(?),(?)API大(Da)量(Liang)使(Shi)用(Yong)了(Liao)Collections类(Lei),(?)简(Jian)化(Hua)了(Liao)那(Na)些(Xie)已(Yi)经(Jing)熟(Shu)悉(Xi)这(Zhe)些(Xie)类(Lei)的(De)Java开(Kai)发(Fa)者(Zhe)的(De)使(Shi)用(Yong)。(?)

JDOM文(Wen)档(Dang)声(Sheng)明(Ming)其(Qi)目(Mu)的(De)是(Shi)“(?)使(Shi)用(Yong)20%((?)或(Huo)更(Geng)少(Shao))(?)的(De)精(Jing)力(Li)解(Jie)决(Jue)80%((?)或(Huo)更(Geng)多(Duo))(?)Java/XML问(Wen)题(Ti)”(?)((?)根(Gen)据(Ju)学(Xue)习(Xi)曲(Qu)线(Xian)假(Jia)定(Ding)为(Wei)20%)(?)。(?)JDOM对(Dui)于(Yu)大(Da)多(Duo)数(Shu)Java/XML应(Ying)用(Yong)程(Cheng)序(Xu)来(Lai)说(Shuo)当(Dang)然(Ran)是(Shi)有(You)用(Yong)的(De),(?)并(Bing)且(Qie)大(Da)多(Duo)数(Shu)开(Kai)发(Fa)者(Zhe)发(Fa)现(Xian)API比(Bi)DOM容(Rong)易(Yi)理(Li)解(Jie)得(De)多(Duo)。(?)JDOM还(Huan)包(Bao)括(Kuo)对(Dui)程(Cheng)序(Xu)行(Xing)为(Wei)的(De)相(Xiang)当(Dang)广(Guang)泛(Fan)检(Jian)查(Cha)以(Yi)防(Fang)止(Zhi)用(Yong)户(Hu)做(Zuo)任(Ren)何(He)在(Zai)XML中(Zhong)无(Wu)意(Yi)义(Yi)的(De)事(Shi)。(?)然(Ran)而(?),(?)它(Ta)仍(Reng)需(Xu)要(Yao)您(Nin)充(Chong)分(Fen)理(Li)解(Jie)XML以(Yi)便(Bian)做(Zuo)一(Yi)些(Xie)超(Chao)出(Chu)基(Ji)本(Ben)的(De)工(Gong)作(Zuo)((?)或(Huo)者(Zhe)甚(Shen)至(Zhi)理(Li)解(Jie)某(Mou)些(Xie)情(Qing)况(Kuang)下(Xia)的(De)错(Cuo)误(Wu))(?)。(?)这(Zhe)也(Ye)许(Xu)是(Shi)比(Bi)学(Xue)习(Xi)DOM或(Huo)JDOM接(Jie)口(Kou)都(Du)更(Geng)有(You)意(Yi)义(Yi)的(De)工(Gong)作(Zuo)。(?)

JDOM自(Zi)身(Shen)不(Bu)包(Bao)含(Han)解(Jie)析(Xi)器(Qi)。(?)它(Ta)通(Tong)常(Chang)使(Shi)用(Yong)SAX2解(Jie)析(Xi)器(Qi)来(Lai)解(Jie)析(Xi)和(He)验(Yan)证(Zheng)输(Shu)入(Ru)XML文(Wen)档(Dang)((?)尽(Jin)管(Guan)它(Ta)还(Huan)可(Ke)以(Yi)将(Jiang)以(Yi)前(Qian)构(Gou)造(Zao)的(De)DOM表(Biao)示(Shi)作(Zuo)为(Wei)输(Shu)入(Ru))(?)。(?)它(Ta)包(Bao)含(Han)一(Yi)些(Xie)转(Zhuan)换(Huan)器(Qi)以(Yi)将(Jiang)JDOM表(Biao)示(Shi)输(Shu)出(Chu)成(Cheng)SAX2事(Shi)件(Jian)流(Liu)、(?)DOM模(Mo)型(Xing)或(Huo)XML文(Wen)本(Ben)文(Wen)档(Dang)。(?)JDOM是(Shi)在(Zai)Apache许(Xu)可(Ke)证(Zheng)变(Bian)体(Ti)下(Xia)发(Fa)布(Bu)的(De)开(Kai)放(Fang)源(Yuan)码(Ma)。(?)

【(?)优(You)点(Dian)】(?)

①(?)使(Shi)用(Yong)具(Ju)体(Ti)类(Lei)而(?)不(Bu)是(Shi)接(Jie)口(Kou),(?)简(Jian)化(Hua)了(Liao)DOM的(De)API。(?)

②(?)大(Da)量(Liang)使(Shi)用(Yong)了(Liao)Java集(Ji)合(He)类(Lei),(?)方(Fang)便(Bian)了(Liao)Java开(Kai)发(Fa)人(Ren)员(Yuan)。(?)

【(?)缺(Que)点(Dian)】(?)

①(?)没(Mei)有(You)较(Jiao)好(Hao)的(De)灵(Ling)活(Huo)性(Xing)。(?)

②(?)性(Xing)能(Neng)较(Jiao)差(Cha)。(?)

4. DOM4J(Document Object Model for Java)

虽(Sui)然(Ran)DOM4J代(Dai)表(Biao)了(Liao)完(Wan)全(Quan)独(Du)立(Li)的(De)开(Kai)发(Fa)结(Jie)果(Guo),(?)但(Dan)最(Zui)初(Chu),(?)它(Ta)是(Shi)JDOM的(De)一(Yi)种(Zhong)智(Zhi)能(Neng)分(Fen)支(Zhi)。(?)它(Ta)合(He)并(Bing)了(Liao)许(Xu)多(Duo)超(Chao)出(Chu)基(Ji)本(Ben)XML文(Wen)档(Dang)表(Biao)示(Shi)的(De)功(Gong)能(Neng),(?)包(Bao)括(Kuo)集(Ji)成(Cheng)的(De)XPath支(Zhi)持(Chi)、(?)XML Schema支(Zhi)持(Chi)以(Yi)及(Ji)用(Yong)于(Yu)大(Da)文(Wen)档(Dang)或(Huo)流(Liu)化(Hua)文(Wen)档(Dang)的(De)基(Ji)于(Yu)事(Shi)件(Jian)的(De)处(Chu)理(Li)。(?)它(Ta)还(Huan)提(Ti)供(Gong)了(Liao)构(Gou)建(Jian)文(Wen)档(Dang)表(Biao)示(Shi)的(De)选(Xuan)项(Xiang),(?)它(Ta)通(Tong)过(Guo)DOM4J API和(He)标(Biao)准(Zhun)DOM接(Jie)口(Kou)具(Ju)有(You)并(Bing)行(Xing)访(Fang)问(Wen)功(Gong)能(Neng)。(?)从(Cong)2000下(Xia)半(Ban)年(Nian)开(Kai)始(Shi),(?)它(Ta)就(Jiu)一(Yi)直(Zhi)处(Chu)于(Yu)开(Kai)发(Fa)之(Zhi)中(Zhong)。(?)

为(Wei)支(Zhi)持(Chi)所(Suo)有(You)这(Zhe)些(Xie)功(Gong)能(Neng),(?)DOM4J使(Shi)用(Yong)接(Jie)口(Kou)和(He)抽(Chou)象(Xiang)基(Ji)本(Ben)类(Lei)方(Fang)法(Fa)。(?)DOM4J大(Da)量(Liang)使(Shi)用(Yong)了(Liao)API中(Zhong)的(De)Collections类(Lei),(?)但(Dan)是(Shi)在(Zai)许(Xu)多(Duo)情(Qing)况(Kuang)下(Xia),(?)它(Ta)还(Huan)提(Ti)供(Gong)一(Yi)些(Xie)替(Ti)代(Dai)方(Fang)法(Fa)以(Yi)允(Yun)许(Xu)更(Geng)好(Hao)的(De)性(Xing)能(Neng)或(Huo)更(Geng)直(Zhi)接(Jie)的(De)编(Bian)码(Ma)方(Fang)法(Fa)。(?)直(Zhi)接(Jie)好(Hao)处(Chu)是(Shi),(?)虽(Sui)然(Ran)DOM4J付(Fu)出(Chu)了(Liao)更(Geng)复(Fu)杂(Za)的(De)API的(De)代(Dai)价(Jia),(?)但(Dan)是(Shi)它(Ta)提(Ti)供(Gong)了(Liao)比(Bi)JDOM大(Da)得(De)多(Duo)的(De)灵(Ling)活(Huo)性(Xing)。(?)

在(Zai)添(Tian)加(Jia)灵(Ling)活(Huo)性(Xing)、(?)XPath集(Ji)成(Cheng)和(He)对(Dui)大(Da)文(Wen)档(Dang)处(Chu)理(Li)的(De)目(Mu)标(Biao)时(Shi),(?)DOM4J的(De)目(Mu)标(Biao)与(Yu)JDOM是(Shi)一(Yi)样(Yang)的(De):(?)针(Zhen)对(Dui)Java开(Kai)发(Fa)者(Zhe)的(De)易(Yi)用(Yong)性(Xing)和(He)直(Zhi)观(Guan)操(Cao)作(Zuo)。(?)它(Ta)还(Huan)致(Zhi)力(Li)于(Yu)成(Cheng)为(Wei)比(Bi)JDOM更(Geng)完(Wan)整(Zheng)的(De)解(Jie)决(Jue)方(Fang)案(An),(?)实(Shi)现(Xian)在(Zai)本(Ben)质(Zhi)上(Shang)处(Chu)理(Li)所(Suo)有(You)Java/XML问(Wen)题(Ti)的(De)目(Mu)标(Biao)。(?)在(Zai)完(Wan)成(Cheng)该(Gai)目(Mu)标(Biao)时(Shi),(?)它(Ta)比(Bi)JDOM更(Geng)少(Shao)强(Qiang)调(Diao)防(Fang)止(Zhi)不(Bu)正(Zheng)确(Que)的(De)应(Ying)用(Yong)程(Cheng)序(Xu)行(Xing)为(Wei)。(?)

DOM4J是(Shi)一(Yi)个(Ge)非(Fei)常(Chang)非(Fei)常(Chang)优(You)秀(Xiu)的(De)Java XML API,(?)具(Ju)有(You)性(Xing)能(Neng)优(You)异(Yi)、(?)功(Gong)能(Neng)强(Qiang)大(Da)和(He)极(Ji)端(Duan)易(Yi)用(Yong)使(Shi)用(Yong)的(De)特(Te)点(Dian),(?)同(Tong)时(Shi)它(Ta)也(Ye)是(Shi)一(Yi)个(Ge)开(Kai)放(Fang)源(Yuan)代(Dai)码(Ma)的(De)软(Ruan)件(Jian)。(?)如(Ru)今(Jin)你(Ni)可(Ke)以(Yi)看(Kan)到(Dao)越(Yue)来(Lai)越(Yue)多(Duo)的(De)Java软(Ruan)件(Jian)都(Du)在(Zai)使(Shi)用(Yong)DOM4J来(Lai)读(Du)写(Xie)XML,(?)特(Te)别(Bie)值(Zhi)得(De)一(Yi)提(Ti)的(De)是(Shi)连(Lian)Sun的(De)JAXM也(Ye)在(Zai)用(Yong)DOM4J.

【(?)优(You)点(Dian)】(?)

①(?)大(Da)量(Liang)使(Shi)用(Yong)了(Liao)Java集(Ji)合(He)类(Lei),(?)方(Fang)便(Bian)Java开(Kai)发(Fa)人(Ren)员(Yuan),(?)同(Tong)时(Shi)提(Ti)供(Gong)一(Yi)些(Xie)提(Ti)高(Gao)性(Xing)能(Neng)的(De)替(Ti)代(Dai)方(Fang)法(Fa)。(?)

②(?)支(Zhi)持(Chi)XPath。(?)

③(?)有(You)很(Hen)好(Hao)的(De)性(Xing)能(Neng)。(?)

【(?)缺(Que)点(Dian)】(?)

①(?)大(Da)量(Liang)使(Shi)用(Yong)了(Liao)接(Jie)口(Kou),(?)API较(Jiao)为(Wei)复(Fu)杂(Za)。(?)

二(?)、(?)比(Bi)较(Jiao)

1. DOM4J性(Xing)能(Neng)最(Zui)好(Hao),(?)连(Lian)Sun的(De)JAXM也(Ye)在(Zai)用(Yong)DOM4J。(?)目(Mu)前(Qian)许(Xu)多(Duo)开(Kai)源(Yuan)项(Xiang)目(Mu)中(Zhong)大(Da)量(Liang)采(Cai)用(Yong)DOM4J,(?)例(Li)如(Ru)大(Da)名(Ming)鼎(Ding)鼎(Ding)的(De)Hibernate也(Ye)用(Yong)DOM4J来(Lai)读(Du)取(Qu)XML配(Pei)置(Zhi)文(Wen)件(Jian)。(?)如(Ru)果(Guo)不(Bu)考(Kao)虑(Lu)可(Ke)移(Yi)植(Zhi)性(Xing),(?)那(Na)就(Jiu)采(Cai)用(Yong)DOM4J.

2. JDOM和(He)DOM在(Zai)性(Xing)能(Neng)测(Ce)试(Shi)时(Shi)表(Biao)现(Xian)不(Bu)佳(Jia),(?)在(Zai)测(Ce)试(Shi)10M文(Wen)档(Dang)时(Shi)内(Nei)存(Cun)溢(Yi)出(Chu),(?)但(Dan)可(Ke)移(Yi)植(Zhi)。(?)在(Zai)小(Xiao)文(Wen)档(Dang)情(Qing)况(Kuang)下(Xia)还(Huan)值(Zhi)得(De)考(Kao)虑(Lu)使(Shi)用(Yong)DOM和(He)JDOM.虽(Sui)然(Ran)JDOM的(De)开(Kai)发(Fa)者(Zhe)已(Yi)经(Jing)说(Shuo)明(Ming)他(Ta)们(Men)期(Qi)望(Wang)在(Zai)正(Zheng)式(Shi)发(Fa)行(Xing)版(Ban)前(Qian)专(Zhuan)注(Zhu)性(Xing)能(Neng)问(Wen)题(Ti),(?)但(Dan)是(Shi)从(Cong)性(Xing)能(Neng)观(Guan)点(Dian)来(Lai)看(Kan),(?)它(Ta)确(Que)实(Shi)没(Mei)有(You)值(Zhi)得(De)推(Tui)荐(Jian)之(Zhi)处(Chu)。(?)另(Ling)外(Wai),(?)DOM仍(Reng)是(Shi)一(Yi)个(Ge)非(Fei)常(Chang)好(Hao)的(De)选(Xuan)择(Ze)。(?)DOM实(Shi)现(Xian)广(Guang)泛(Fan)应(Ying)用(Yong)于(Yu)多(Duo)种(Zhong)编(Bian)程(Cheng)语(Yu)言(Yan)。(?)它(Ta)还(Huan)是(Shi)许(Xu)多(Duo)其(Qi)它(Ta)与(Yu)XML相(Xiang)关(Guan)的(De)标(Biao)准(Zhun)的(De)基(Ji)础(Chu),(?)因(Yin)为(Wei)它(Ta)正(Zheng)式(Shi)获(Huo)得(De)W3C推(Tui)荐(Jian)((?)与(Yu)基(Ji)于(Yu)非(Fei)标(Biao)准(Zhun)的(De)Java模(Mo)型(Xing)相(Xiang)对(Dui))(?),(?)所(Suo)以(Yi)在(Zai)某(Mou)些(Xie)类(Lei)型(Xing)的(De)项(Xiang)目(Mu)中(Zhong)可(Ke)能(Neng)也(Ye)需(Xu)要(Yao)它(Ta)((?)如(Ru)在(Zai)JavaScript中(Zhong)使(Shi)用(Yong)DOM)(?)。(?)

3. SAX表(Biao)现(Xian)较(Jiao)好(Hao),(?)这(Zhe)要(Yao)依(Yi)赖(Lai)于(Yu)它(Ta)特(Te)定(Ding)的(De)解(Jie)析(Xi)方(Fang)式(Shi)-(?)事(Shi)件(Jian)驱(Qu)动(Dong)。(?)一(Yi)个(Ge)SAX检(Jian)测(Ce)即(Ji)将(Jiang)到(Dao)来(Lai)的(De)XML流(Liu),(?)但(Dan)并(Bing)没(Mei)有(You)载(Zai)入(Ru)到(Dao)内(Nei)存(Cun)((?)当(Dang)然(Ran)当(Dang)XML流(Liu)被(Bei)读(Du)入(Ru)时(Shi),(?)会(Hui)有(You)部(Bu)分(Fen)文(Wen)档(Dang)暂(Zan)时(Shi)隐(Yin)藏(Cang)在(Zai)内(Nei)存(Cun)中(Zhong))(?)。(?)

我(Wo)的(De)看(Kan)法(Fa):(?)如(Ru)果(Guo)XML文(Wen)档(Dang)较(Jiao)大(Da)且(Qie)不(Bu)考(Kao)虑(Lu)移(Yi)植(Zhi)性(Xing)问(Wen)题(Ti)建(Jian)议(Yi)采(Cai)用(Yong)DOM4J;(?)如(Ru)果(Guo)XML文(Wen)档(Dang)较(Jiao)小(Xiao)则(Ze)建(Jian)议(Yi)采(Cai)用(Yong)JDOM;(?)如(Ru)果(Guo)需(Xu)要(Yao)及(Ji)时(Shi)处(Chu)理(Li)而(?)不(Bu)需(Xu)要(Yao)保(Bao)存(Cun)数(Shu)据(Ju)则(Ze)考(Kao)虑(Lu)SAX。(?)但(Dan)无(Wu)论(Lun)如(Ru)何(He),(?)还(Huan)是(Shi)那(Na)句(Ju)话(Hua):(?)适(Shi)合(He)自(Zi)己(Ji)的(De)才(Cai)是(Shi)最(Zui)好(Hao)的(De),(?)如(Ru)果(Guo)时(Shi)间(Jian)允(Yun)许(Xu),(?)建(Jian)议(Yi)大(Da)家(Jia)讲(Jiang)这(Zhe)四(Si)种(Zhong)方(Fang)法(Fa)都(Du)尝(Chang)试(Shi)一(Yi)遍(Bian)然(Ran)后(Hou)选(Xuan)择(Ze)一(Yi)种(Zhong)适(Shi)合(He)自(Zi)己(Ji)的(De)即(Ji)可(Ke)。(?)

298.char型(Xing)变(Bian)量(Liang)中(Zhong)能(Neng)不(Bu)能(Neng)存(Cun)储(Chu)一(Yi)个(Ge)中(Zhong)文(Wen)汉(Han)字(Zi)?(?)

答(Da):(?)1.java采(Cai)用(Yong)unicode编(Bian)码(Ma),(?)2个(Ge)字(Zi)节(Jie)((?)16位(Wei))(?)来(Lai)表(Biao)示(Shi)一(Yi)个(Ge)字(Zi)符(Fu),(?) 无(Wu)论(Lun)是(Shi)汉(Han)字(Zi)还(Huan)是(Shi)数(Shu)字(Zi),(?)字(Zi)母(Mu),(?)或(Huo)其(Qi)他(Ta)语(Yu)言(Yan)都(Du)可(Ke)以(Yi)存(Cun)储(Chu)。(?)

2.char 在(Zai)java中(Zhong)是(Shi)2个(Ge)字(Zi)节(Jie),(?)所(Suo)以(Yi)可(Ke)以(Yi)存(Cun)储(Chu)中(Zhong)文(Wen)

299.一(Yi)个(Ge)类(Lei)可(Ke)以(Yi)实(Shi)现(Xian)多(Duo)个(Ge)接(Jie)口(Kou),(?)但(Dan)只(Zhi)能(Neng)继(Ji)承(Cheng)一(Yi)个(Ge)抽(Chou)象(Xiang)类(Lei)。(?)

下(Xia)面(Mian)接(Jie)着(Zhuo)再(Zai)说(Shuo)说(Shuo)两(Liang)者(Zhe)在(Zai)应(Ying)用(Yong)上(Shang)的(De)区(Qu)别(Bie):(?)

接(Jie)口(Kou)更(Geng)多(Duo)的(De)是(Shi)在(Zai)系(Xi)统(Tong)架(Jia)构(Gou)设(She)计(Ji)方(Fang)法(Fa)发(Fa)挥(Hui)作(Zuo)用(Yong),(?)主(Zhu)要(Yao)用(Yong)于(Yu)定(Ding)义(Yi)模(Mo)块(Kuai)之(Zhi)间(Jian)的(De)通(Tong)信(Xin)契(Qi)约(Yue)。(?)而(?)抽(Chou)象(Xiang)类(Lei)在(Zai)代(Dai)码(Ma)实(Shi)现(Xian)方(Fang)面(Mian)发(Fa)挥(Hui)作(Zuo)用(Yong),(?)可(Ke)以(Yi)实(Shi)现(Xian)代(Dai)码(Ma)的(De)重(Zhong)用(Yong),(?)例(Li)如(Ru),(?)模(Mo)板(Ban)方(Fang)法(Fa)设(She)计(Ji)模(Mo)式(Shi)是(Shi)抽(Chou)象(Xiang)类(Lei)的(De)一(Yi)个(Ge)典(Dian)型(Xing)应(Ying)用(Yong),(?)假(Jia)设(She)某(Mou)个(Ge)项(Xiang)目(Mu)的(De)所(Suo)有(You)Servlet类(Lei)都(Du)要(Yao)用(Yong)相(Xiang)同(Tong)的(De)方(Fang)式(Shi)进(Jin)行(Xing)权(Quan)限(Xian)判(Pan)断(Duan)、(?)记(Ji)录(Lu)访(Fang)问(Wen)日(Ri)志(Zhi)和(He)处(Chu)理(Li)异(Yi)常(Chang),(?)那(Na)么(Me)就(Jiu)可(Ke)以(Yi)定(Ding)义(Yi)一(Yi)个(Ge)抽(Chou)象(Xiang)的(De)基(Ji)类(Lei),(?)让(Rang)所(Suo)有(You)的(De)Servlet都(Du)继(Ji)承(Cheng)这(Zhe)个(Ge)抽(Chou)象(Xiang)基(Ji)类(Lei),(?)在(Zai)抽(Chou)象(Xiang)基(Ji)类(Lei)的(De)service方(Fang)法(Fa)中(Zhong)完(Wan)成(Cheng)权(Quan)限(Xian)判(Pan)断(Duan)、(?)记(Ji)录(Lu)访(Fang)问(Wen)日(Ri)志(Zhi)和(He)处(Chu)理(Li)异(Yi)常(Chang)的(De)代(Dai)码(Ma),(?)在(Zai)各(Ge)个(Ge)子(Zi)类(Lei)中(Zhong)只(Zhi)是(Shi)完(Wan)成(Cheng)各(Ge)自(Zi)的(De)业(Ye)务(Wu)逻(Luo)辑(Ji)代(Dai)码(Ma),(?)伪(Wei)代(Dai)码(Ma)如(Ru)下(Xia):(?)

public abstract classBaseServlet extends HttpServlet{
        public final void service(HttpServletRequest request,HttpServletResponse response) throws IOExcetion,ServletException       {
               记(Ji)录(Lu)访(Fang)问(Wen)日(Ri)志(Zhi)
               进(Jin)行(Xing)权(Quan)限(Xian)判(Pan)断(Duan)
if(具(Ju)有(You)权(Quan)限(Xian)){
       try{
              doService(request,response);
}
       catch(Excetpion e)  {
                     记(Ji)录(Lu)异(Yi)常(Chang)信(Xin)息(Xi)
       }
}
        }
        protected abstract void doService(HttpServletRequest request,HttpServletResponse response) throws IOExcetion,ServletException;
//注(Zhu)意(Yi)访(Fang)问(Wen)权(Quan)限(Xian)定(Ding)义(Yi)成(Cheng)protected,(?)显(Xian)得(De)既(Ji)专(Zhuan)业(Ye),(?)又(You)严(Yan)谨(Jin),(?)因(Yin)为(Wei)它(Ta)是(Shi)专(Zhuan)门(Men)给(Gei)子(Zi)类(Lei)用(Yong)的(De)
}

public class MyServlet1 extendsBaseServlet
{
protected voiddoService(HttpServletRequest request, HttpServletResponse response) throwsIOExcetion,ServletException
        {
               本(Ben)Servlet只(Zhi)处(Chu)理(Li)的(De)具(Ju)体(Ti)业(Ye)务(Wu)逻(Luo)辑(Ji)代(Dai)码(Ma)
        }

}

父(Fu)类(Lei)方(Fang)法(Fa)中(Zhong)间(Jian)的(De)某(Mou)段(Duan)代(Dai)码(Ma)不(Bu)确(Que)定(Ding),(?)留(Liu)给(Gei)子(Zi)类(Lei)干(Gan),(?)就(Jiu)用(Yong)模(Mo)板(Ban)方(Fang)法(Fa)设(She)计(Ji)模(Mo)式(Shi)。(?)

备(Bei)注(Zhu):(?)这(Zhe)道(Dao)题(Ti)的(De)思(Si)路(Lu)是(Shi)先(Xian)从(Cong)总(Zong)体(Ti)解(Jie)释(Shi)抽(Chou)象(Xiang)类(Lei)和(He)接(Jie)口(Kou)的(De)基(Ji)本(Ben)概(Gai)念(Nian),(?)然(Ran)后(Hou)再(Zai)比(Bi)较(Jiao)两(Liang)者(Zhe)的(De)语(Yu)法(Fa)细(Xi)节(Jie),(?)最(Zui)后(Hou)再(Zai)说(Shuo)两(Liang)者(Zhe)的(De)应(Ying)用(Yong)区(Qu)别(Bie)。(?)比(Bi)较(Jiao)两(Liang)者(Zhe)语(Yu)法(Fa)细(Xi)节(Jie)区(Qu)别(Bie)的(De)条(Tiao)理(Li)是(Shi):(?)先(Xian)从(Cong)一(Yi)个(Ge)类(Lei)中(Zhong)的(De)构(Gou)造(Zao)方(Fang)法(Fa)、(?)普(Pu)通(Tong)成(Cheng)员(Yuan)变(Bian)量(Liang)和(He)方(Fang)法(Fa)((?)包(Bao)括(Kuo)抽(Chou)象(Xiang)方(Fang)法(Fa))(?),(?)静(Jing)态(Tai)变(Bian)量(Liang)和(He)方(Fang)法(Fa),(?)继(Ji)承(Cheng)性(Xing)等(Deng)6个(Ge)方(Fang)面(Mian)逐(Zhu)一(Yi)去(Qu)比(Bi)较(Jiao)回(Hui)答(Da),(?)接(Jie)着(Zhuo)从(Cong)第(Di)三(San)者(Zhe)继(Ji)承(Cheng)的(De)角(Jiao)度(Du)的(De)回(Hui)答(Da),(?)特(Te)别(Bie)是(Shi)最(Zui)后(Hou)用(Yong)了(Liao)一(Yi)个(Ge)典(Dian)型(Xing)的(De)例(Li)子(Zi)来(Lai)展(Zhan)现(Xian)自(Zi)己(Ji)深(Shen)厚(Hou)的(De)技(Ji)术(Shu)功(Gong)底(Di)。(?)

300.比(Bi)较(Jiao)一(Yi)下(Xia)Java 和(He)JavaSciprt

答(Da):(?)JavaScript 与(Yu)Java是(Shi)两(Liang)个(Ge)公(Gong)司(Si)开(Kai)发(Fa)的(De)不(Bu)同(Tong)的(De)两(Liang)个(Ge)产(Chan)品(Pin)。(?)Java 是(Shi)原(Yuan)Sun 公(Gong)司(Si)推(Tui)出(Chu)的(De)面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)程(Cheng)序(Xu)设(She)计(Ji)语(Yu)言(Yan),(?)特(Te)别(Bie)适(Shi)合(He)于(Yu)互(Hu)联(Lian)网(Wang)应(Ying)用(Yong)程(Cheng)序(Xu)开(Kai)发(Fa);(?)而(?)JavaScript是(Shi)Netscape公(Gong)司(Si)的(De)产(Chan)品(Pin),(?)为(Wei)了(Liao)扩(Kuo)展(Zhan)Netscape浏(Liu)览(Lan)器(Qi)的(De)功(Gong)能(Neng)而(?)开(Kai)发(Fa)的(De)一(Yi)种(Zhong)可(Ke)以(Yi)嵌(Qian)入(Ru)Web页(Ye)面(Mian)中(Zhong)运(Yun)行(Xing)的(De)基(Ji)于(Yu)对(Dui)象(Xiang)和(He)事(Shi)件(Jian)驱(Qu)动(Dong)的(De)解(Jie)释(Shi)性(Xing)语(Yu)言(Yan),(?)它(Ta)的(De)前(Qian)身(Shen)是(Shi)LiveScript;(?)而(?)Java 的(De)前(Qian)身(Shen)是(Shi)Oak语(Yu)言(Yan)。(?)

下(Xia)面(Mian)对(Dui)两(Liang)种(Zhong)语(Yu)言(Yan)间(Jian)的(De)异(Yi)同(Tong)作(Zuo)如(Ru)下(Xia)比(Bi)较(Jiao):(?)

1)(?)基(Ji)于(Yu)对(Dui)象(Xiang)和(He)面(Mian)向(Xiang)对(Dui)象(Xiang):(?)Java是(Shi)一(Yi)种(Zhong)真(Zhen)正(Zheng)的(De)面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)语(Yu)言(Yan),(?)即(Ji)使(Shi)是(Shi)开(Kai)发(Fa)简(Jian)单(Dan)的(De)程(Cheng)序(Xu),(?)必(Bi)须(Xu)设(She)计(Ji)对(Dui)象(Xiang);(?)JavaScript是(Shi)种(Zhong)脚(Jiao)本(Ben)语(Yu)言(Yan),(?)它(Ta)可(Ke)以(Yi)用(Yong)来(Lai)制(Zhi)作(Zuo)与(Yu)网(Wang)络(Luo)无(Wu)关(Guan)的(De),(?)与(Yu)用(Yong)户(Hu)交(Jiao)互(Hu)作(Zuo)用(Yong)的(De)复(Fu)杂(Za)软(Ruan)件(Jian)。(?)它(Ta)是(Shi)一(Yi)种(Zhong)基(Ji)于(Yu)对(Dui)象(Xiang)((?)Object-Based)(?)和(He)事(Shi)件(Jian)驱(Qu)动(Dong)((?)Event-Driven)(?)的(De)编(Bian)程(Cheng)语(Yu)言(Yan)。(?)因(Yin)而(?)它(Ta)本(Ben)身(Shen)提(Ti)供(Gong)了(Liao)非(Fei)常(Chang)丰(Feng)富(Fu)的(De)内(Nei)部(Bu)对(Dui)象(Xiang)供(Gong)设(She)计(Ji)人(Ren)员(Yuan)使(Shi)用(Yong);(?)

2)(?)解(Jie)释(Shi)和(He)编(Bian)译(Yi):(?)Java 的(De)源(Yuan)代(Dai)码(Ma)在(Zai)执(Zhi)行(Xing)之(Zhi)前(Qian),(?)必(Bi)须(Xu)经(Jing)过(Guo)编(Bian)译(Yi);(?)JavaScript 是(Shi)一(Yi)种(Zhong)解(Jie)释(Shi)性(Xing)编(Bian)程(Cheng)语(Yu)言(Yan),(?)其(Qi)源(Yuan)代(Dai)码(Ma)不(Bu)需(Xu)经(Jing)过(Guo)编(Bian)译(Yi),(?)由(You)浏(Liu)览(Lan)器(Qi)解(Jie)释(Shi)执(Zhi)行(Xing);(?)

3)(?)强(Qiang)类(Lei)型(Xing)变(Bian)量(Liang)和(He)类(Lei)型(Xing)弱(Ruo)变(Bian)量(Liang):(?)Java采(Cai)用(Yong)强(Qiang)类(Lei)型(Xing)变(Bian)量(Liang)检(Jian)查(Cha),(?)即(Ji)所(Suo)有(You)变(Bian)量(Liang)在(Zai)编(Bian)译(Yi)之(Zhi)前(Qian)必(Bi)须(Xu)作(Zuo)声(Sheng)明(Ming);(?)JavaScript中(Zhong)变(Bian)量(Liang)声(Sheng)明(Ming),(?)采(Cai)用(Yong)其(Qi)弱(Ruo)类(Lei)型(Xing)。(?)即(Ji)变(Bian)量(Liang)在(Zai)使(Shi)用(Yong)前(Qian)不(Bu)需(Xu)作(Zuo)声(Sheng)明(Ming),(?)而(?)是(Shi)解(Jie)释(Shi)器(Qi)在(Zai)运(Yun)行(Xing)时(Shi)检(Jian)查(Cha)其(Qi)数(Shu)据(Ju)类(Lei)型(Xing);(?)

4)(?)代(Dai)码(Ma)格(Ge)式(Shi)不(Bu)一(Yi)样(Yang)。(?)

补(Bu)充(Chong):(?)上(Shang)面(Mian)列(Lie)出(Chu)的(De)四(Si)点(Dian)是(Shi)原(Yuan)来(Lai)所(Suo)谓(Wei)的(De)标(Biao)准(Zhun)答(Da)案(An)中(Zhong)给(Gei)出(Chu)的(De)。(?)其(Qi)实(Shi)Java和(He)JavaScript最(Zui)重(Zhong)要(Yao)的(De)区(Qu)别(Bie)是(Shi)一(Yi)个(Ge)是(Shi)静(Jing)态(Tai)语(Yu)言(Yan),(?)一(Yi)个(Ge)是(Shi)动(Dong)态(Tai)语(Yu)言(Yan)。(?)目(Mu)前(Qian)的(De)编(Bian)程(Cheng)语(Yu)言(Yan)的(De)发(Fa)展(Zhan)趋(Qu)势(Shi)是(Shi)函(Han)数(Shu)式(Shi)语(Yu)言(Yan)和(He)动(Dong)态(Tai)语(Yu)言(Yan)。(?)在(Zai)Java中(Zhong)类(Lei)((?)class)(?)是(Shi)一(Yi)等(Deng)公(Gong)民(Min),(?)而(?)JavaScript中(Zhong)函(Han)数(Shu)((?)function)(?)是(Shi)一(Yi)等(Deng)公(Gong)民(Min)。(?)对(Dui)于(Yu)这(Zhe)种(Zhong)问(Wen)题(Ti),(?)在(Zai)面(Mian)试(Shi)时(Shi)还(Huan)是(Shi)用(Yong)自(Zi)己(Ji)的(De)语(Yu)言(Yan)回(Hui)答(Da)会(Hui)更(Geng)加(Jia)靠(Kao)谱(Pu)。(?)

301.什(Shi)么(Me)时(Shi)候(Hou)用(Yong)assert?(?)

答(Da):(?)assertion(断(Duan)言(Yan))在(Zai)软(Ruan)件(Jian)开(Kai)发(Fa)中(Zhong)是(Shi)一(Yi)种(Zhong)常(Chang)用(Yong)的(De)调(Diao)试(Shi)方(Fang)式(Shi),(?)很(Hen)多(Duo)开(Kai)发(Fa)语(Yu)言(Yan)中(Zhong)都(Du)支(Zhi)持(Chi)这(Zhe)种(Zhong)机(Ji)制(Zhi)。(?)一(Yi)般(Ban)来(Lai)说(Shuo),(?)assertion用(Yong)于(Yu)保(Bao)证(Zheng)程(Cheng)序(Xu)最(Zui)基(Ji)本(Ben)、(?)关(Guan)键(Jian)的(De)正(Zheng)确(Que)性(Xing)。(?)assertion检(Jian)查(Cha)通(Tong)常(Chang)在(Zai)开(Kai)发(Fa)和(He)测(Ce)试(Shi)时(Shi)开(Kai)启(Qi)。(?)为(Wei)了(Liao)提(Ti)高(Gao)性(Xing)能(Neng),(?)在(Zai)软(Ruan)件(Jian)发(Fa)布(Bu)后(Hou),(?) assertion检(Jian)查(Cha)通(Tong)常(Chang)是(Shi)关(Guan)闭(Bi)的(De)。(?)在(Zai)实(Shi)现(Xian)中(Zhong),(?)断(Duan)言(Yan)是(Shi)一(Yi)个(Ge)包(Bao)含(Han)布(Bu)尔(?)表(Biao)达(Da)式(Shi)的(De)语(Yu)句(Ju),(?)在(Zai)执(Zhi)行(Xing)这(Zhe)个(Ge)语(Yu)句(Ju)时(Shi)假(Jia)定(Ding)该(Gai)表(Biao)达(Da)式(Shi)为(Wei)true;(?)如(Ru)果(Guo)表(Biao)达(Da)式(Shi)计(Ji)算(Suan)为(Wei)false,(?)那(Na)么(Me)系(Xi)统(Tong)会(Hui)报(Bao)告(Gao)一(Yi)个(Ge)AssertionError。(?)

断(Duan)言(Yan)用(Yong)于(Yu)调(Diao)试(Shi)目(Mu)的(De):(?)

assert(a > 0); // throws an AssertionError if a <= 0

断(Duan)言(Yan)可(Ke)以(Yi)有(You)两(Liang)种(Zhong)形(Xing)式(Shi):(?)

assert Expression1;

assert Expression1 : Expression2 ;

Expression1 应(Ying)该(Gai)总(Zong)是(Shi)产(Chan)生(Sheng)一(Yi)个(Ge)布(Bu)尔(?)值(Zhi)。(?)

Expression2 可(Ke)以(Yi)是(Shi)得(De)出(Chu)一(Yi)个(Ge)值(Zhi)的(De)任(Ren)意(Yi)表(Biao)达(Da)式(Shi);(?)这(Zhe)个(Ge)值(Zhi)用(Yong)于(Yu)生(Sheng)成(Cheng)显(Xian)示(Shi)更(Geng)多(Duo)调(Diao)试(Shi)信(Xin)息(Xi)的(De)字(Zi)符(Fu)串(Chuan)消(Xiao)息(Xi)。(?)

断(Duan)言(Yan)在(Zai)默(Mo)认(Ren)情(Qing)况(Kuang)下(Xia)是(Shi)禁(Jin)用(Yong)的(De),(?)要(Yao)在(Zai)编(Bian)译(Yi)时(Shi)启(Qi)用(Yong)断(Duan)言(Yan),(?)需(Xu)使(Shi)用(Yong)source 1.4 标(Biao)记(Ji):(?)

javac -source 1.4 Test.java

要(Yao)在(Zai)运(Yun)行(Xing)时(Shi)启(Qi)用(Yong)断(Duan)言(Yan),(?)可(Ke)使(Shi)用(Yong)-enableassertions 或(Huo)者(Zhe)-ea 标(Biao)记(Ji)。(?)

要(Yao)在(Zai)运(Yun)行(Xing)时(Shi)选(Xuan)择(Ze)禁(Jin)用(Yong)断(Duan)言(Yan),(?)可(Ke)使(Shi)用(Yong)-da 或(Huo)者(Zhe)-disableassertions 标(Biao)记(Ji)。(?)

要(Yao)在(Zai)系(Xi)统(Tong)类(Lei)中(Zhong)启(Qi)用(Yong)断(Duan)言(Yan),(?)可(Ke)使(Shi)用(Yong)-esa 或(Huo)者(Zhe)-dsa 标(Biao)记(Ji)。(?)还(Huan)可(Ke)以(Yi)在(Zai)包(Bao)的(De)基(Ji)础(Chu)上(Shang)启(Qi)用(Yong)或(Huo)者(Zhe)禁(Jin)用(Yong)断(Duan)言(Yan)。(?)可(Ke)以(Yi)在(Zai)预(Yu)计(Ji)正(Zheng)常(Chang)情(Qing)况(Kuang)下(Xia)不(Bu)会(Hui)到(Dao)达(Da)的(De)任(Ren)何(He)位(Wei)置(Zhi)上(Shang)放(Fang)置(Zhi)断(Duan)言(Yan)。(?)断(Duan)言(Yan)可(Ke)以(Yi)用(Yong)于(Yu)验(Yan)证(Zheng)传(Chuan)递(Di)给(Gei)私(Si)有(You)方(Fang)法(Fa)的(De)参(Can)数(Shu)。(?)不(Bu)过(Guo),(?)断(Duan)言(Yan)不(Bu)应(Ying)该(Gai)用(Yong)于(Yu)验(Yan)证(Zheng)传(Chuan)递(Di)给(Gei)公(Gong)有(You)方(Fang)法(Fa)的(De)参(Can)数(Shu),(?)因(Yin)为(Wei)不(Bu)管(Guan)是(Shi)否(Fou)启(Qi)用(Yong)了(Liao)断(Duan)言(Yan),(?)公(Gong)有(You)方(Fang)法(Fa)都(Du)必(Bi)须(Xu)检(Jian)查(Cha)其(Qi)参(Can)数(Shu)。(?)不(Bu)过(Guo),(?)既(Ji)可(Ke)以(Yi)在(Zai)公(Gong)有(You)方(Fang)法(Fa)中(Zhong),(?)也(Ye)可(Ke)以(Yi)在(Zai)非(Fei)公(Gong)有(You)方(Fang)法(Fa)中(Zhong)利(Li)用(Yong)断(Duan)言(Yan)测(Ce)试(Shi)后(Hou)置(Zhi)条(Tiao)件(Jian)。(?)另(Ling)外(Wai),(?)断(Duan)言(Yan)不(Bu)应(Ying)该(Gai)以(Yi)任(Ren)何(He)方(Fang)式(Shi)改(Gai)变(Bian)程(Cheng)序(Xu)的(De)状(Zhuang)态(Tai)。(?)

302.UML是(Shi)什(Shi)么(Me)?(?)UML中(Zhong)有(You)哪(Na)些(Xie)图(Tu)?(?)

答(Da):(?)UML是(Shi)统(Tong)一(Yi)建(Jian)模(Mo)语(Yu)言(Yan)((?)Unified Modeling Language)(?)的(De)缩(Suo)写(Xie),(?)它(Ta)发(Fa)表(Biao)于(Yu)1997年(Nian),(?)综(Zong)合(He)了(Liao)当(Dang)时(Shi)已(Yi)经(Jing)存(Cun)在(Zai)的(De)面(Mian)向(Xiang)对(Dui)象(Xiang)的(De)建(Jian)模(Mo)语(Yu)言(Yan)、(?)方(Fang)法(Fa)和(He)过(Guo)程(Cheng),(?)是(Shi)一(Yi)个(Ge)支(Zhi)持(Chi)模(Mo)型(Xing)化(Hua)和(He)软(Ruan)件(Jian)系(Xi)统(Tong)开(Kai)发(Fa)的(De)图(Tu)形(Xing)化(Hua)语(Yu)言(Yan),(?)为(Wei)软(Ruan)件(Jian)开(Kai)发(Fa)的(De)所(Suo)有(You)阶(Jie)段(Duan)提(Ti)供(Gong)模(Mo)型(Xing)化(Hua)和(He)可(Ke)视(Shi)化(Hua)支(Zhi)持(Chi)。(?)使(Shi)用(Yong)UML可(Ke)以(Yi)帮(Bang)助(Zhu)沟(Gou)通(Tong)与(Yu)交(Jiao)流(Liu),(?)辅(Fu)助(Zhu)应(Ying)用(Yong)设(She)计(Ji)和(He)文(Wen)档(Dang)的(De)生(Sheng)成(Cheng),(?)还(Huan)能(Neng)够(Gou)阐(Chan)释(Shi)系(Xi)统(Tong)的(De)结(Jie)构(Gou)和(He)行(Xing)为(Wei)。(?)UML定(Ding)义(Yi)了(Liao)多(Duo)种(Zhong)图(Tu)形(Xing)化(Hua)的(De)符(Fu)号(Hao)来(Lai)描(Miao)述(Shu)软(Ruan)件(Jian)系(Xi)统(Tong)部(Bu)分(Fen)或(Huo)全(Quan)部(Bu)的(De)静(Jing)态(Tai)结(Jie)构(Gou)和(He)动(Dong)态(Tai)结(Jie)构(Gou),(?)包(Bao)括(Kuo):(?)用(Yong)例(Li)图(Tu)((?)use case diagram)(?)、(?)类(Lei)图(Tu)((?)class diagram)(?)、(?)时(Shi)序(Xu)图(Tu)((?)sequence diagram)(?)、(?)协(Xie)作(Zuo)图(Tu)((?)collaboration diagram)(?)、(?)状(Zhuang)态(Tai)图(Tu)((?)statechart diagram)(?)、(?)活(Huo)动(Dong)图(Tu)((?)activity diagram)(?)、(?)构(Gou)件(Jian)图(Tu)((?)component diagram)(?)、(?)部(Bu)署(Shu)图(Tu)((?)deployment diagram)(?)等(Deng)。(?)在(Zai)这(Zhe)些(Xie)图(Tu)形(Xing)化(Hua)符(Fu)号(Hao)中(Zhong),(?)有(You)三(San)种(Zhong)图(Tu)最(Zui)为(Wei)重(Zhong)要(Yao),(?)分(Fen)别(Bie)是(Shi):(?)用(Yong)例(Li)图(Tu)((?)用(Yong)来(Lai)捕(Bu)获(Huo)需(Xu)求(Qiu),(?)描(Miao)述(Shu)系(Xi)统(Tong)的(De)功(Gong)能(Neng),(?)通(Tong)过(Guo)该(Gai)图(Tu)可(Ke)以(Yi)迅(Xun)速(Su)的(De)了(Liao)解(Jie)系(Xi)统(Tong)的(De)功(Gong)能(Neng)模(Mo)块(Kuai)及(Ji)其(Qi)关(Guan)系(Xi))(?)、(?)类(Lei)图(Tu)((?)描(Miao)述(Shu)类(Lei)以(Yi)及(Ji)类(Lei)与(Yu)类(Lei)之(Zhi)间(Jian)的(De)关(Guan)系(Xi),(?)通(Tong)过(Guo)该(Gai)图(Tu)可(Ke)以(Yi)快(Kuai)速(Su)了(Liao)解(Jie)系(Xi)统(Tong))(?)、(?)时(Shi)序(Xu)图(Tu)((?)描(Miao)述(Shu)执(Zhi)行(Xing)特(Te)定(Ding)任(Ren)务(Wu)时(Shi)对(Dui)象(Xiang)之(Zhi)间(Jian)的(De)交(Jiao)互(Hu)关(Guan)系(Xi)以(Yi)及(Ji)执(Zhi)行(Xing)顺(Shun)序(Xu),(?)通(Tong)过(Guo)该(Gai)图(Tu)可(Ke)以(Yi)了(Liao)解(Jie)对(Dui)象(Xiang)能(Neng)接(Jie)收(Shou)的(De)消(Xiao)息(Xi)也(Ye)就(Jiu)是(Shi)说(Shuo)对(Dui)象(Xiang)能(Neng)够(Gou)向(Xiang)外(Wai)界(Jie)提(Ti)供(Gong)的(De)服(Fu)务(Wu))(?)。(?)

用(Yong)例(Li)图(Tu):(?)

303.XML 文(Wen)档(Dang)定(Ding)义(Yi)有(You)几(Ji)种(Zhong)形(Xing)式(Shi)?(?)它(Ta)们(Men)之(Zhi)间(Jian)有(You)何(He)本(Ben)质(Zhi)区(Qu)别(Bie)?(?)解(Jie)析(Xi)XML 文(Wen)档(Dang)有(You)哪(Na)几(Ji)种(Zhong)方(Fang)式(Shi)?(?)

答(Da):(?) XML文(Wen)档(Dang)定(Ding)义(Yi)分(Fen)为(Wei)DTD和(He)Schema两(Liang)种(Zhong)形(Xing)式(Shi);(?)其(Qi)本(Ben)质(Zhi)区(Qu)别(Bie)在(Zai)于(Yu)Schema本(Ben)身(Shen)也(Ye)是(Shi)一(Yi)个(Ge)XML文(Wen)件(Jian),(?)可(Ke)以(Yi)被(Bei)XML解(Jie)析(Xi)器(Qi)解(Jie)析(Xi)。(?)对(Dui)XML的(De)解(Jie)析(Xi)主(Zhu)要(Yao)有(You)DOM((?)文(Wen)档(Dang)对(Dui)象(Xiang)模(Mo)型(Xing))(?)、(?)SAX、(?)StAX((?)JDK 1.6中(Zhong)引(Yin)入(Ru)的(De)新(Xin)的(De)解(Jie)析(Xi)XML的(De)方(Fang)式(Shi),(?)Streaming API for XML)(?) 等(Deng),(?)其(Qi)中(Zhong)DOM处(Chu)理(Li)大(Da)型(Xing)文(Wen)件(Jian)时(Shi)其(Qi)性(Xing)能(Neng)下(Xia)降(Jiang)的(De)非(Fei)常(Chang)厉(Li)害(Hai),(?)这(Zhe)个(Ge)问(Wen)题(Ti)是(Shi)由(You)DOM 的(De)树(Shu)结(Jie)构(Gou)所(Suo)造(Zao)成(Cheng)的(De),(?)这(Zhe)种(Zhong)结(Jie)构(Gou)占(Zhan)用(Yong)的(De)内(Nei)存(Cun)较(Jiao)多(Duo),(?)而(?)且(Qie)DOM 必(Bi)须(Xu)在(Zai)解(Jie)析(Xi)文(Wen)件(Jian)之(Zhi)前(Qian)把(Ba)整(Zheng)个(Ge)文(Wen)档(Dang)装(Zhuang)入(Ru)内(Nei)存(Cun),适(Shi)合(He)对(Dui)XML 的(De)随(Sui)机(Ji)访(Fang)问(Wen)((?)典(Dian)型(Xing)的(De)用(Yong)空(Kong)间(Jian)换(Huan)取(Qu)时(Shi)间(Jian)的(De)策(Ce)略(Lue))(?);(?)SAX是(Shi)事(Shi)件(Jian)驱(Qu)动(Dong)型(Xing)的(De)XML解(Jie)析(Xi)方(Fang)式(Shi),(?)它(Ta)顺(Shun)序(Xu)读(Du)取(Qu)XML文(Wen)件(Jian),(?)不(Bu)需(Xu)要(Yao)一(Yi)次(Ci)全(Quan)部(Bu)装(Zhuang)载(Zai)整(Zheng)个(Ge)文(Wen)件(Jian)。(?)当(Dang)遇(Yu)到(Dao)像(Xiang)文(Wen)件(Jian)开(Kai)头(Tou),(?)文(Wen)档(Dang)结(Jie)束(Shu),(?)或(Huo)者(Zhe)标(Biao)签(Qian)开(Kai)头(Tou)与(Yu)标(Biao)签(Qian)结(Jie)束(Shu)时(Shi),(?)它(Ta)会(Hui)触(Chu)发(Fa)一(Yi)个(Ge)事(Shi)件(Jian),(?)用(Yong)户(Hu)通(Tong)过(Guo)在(Zai)其(Qi)回(Hui)调(Diao)事(Shi)件(Jian)中(Zhong)写(Xie)入(Ru)处(Chu)理(Li)代(Dai)码(Ma)来(Lai)处(Chu)理(Li)XML文(Wen)件(Jian),(?)适(Shi)合(He)对(Dui)XML 的(De)顺(Shun)序(Xu)访(Fang)问(Wen);(?)如(Ru)其(Qi)名(Ming)称(Cheng)所(Suo)暗(An)示(Shi)的(De)那(Na)样(Yang),(?)StAX把(Ba)重(Zhong)点(Dian)放(Fang)在(Zai)流(Liu)上(Shang)。(?)实(Shi)际(Ji)上(Shang),(?)StAX与(Yu)其(Qi)他(Ta)方(Fang)法(Fa)的(De)区(Qu)别(Bie)就(Jiu)在(Zai)于(Yu)应(Ying)用(Yong)程(Cheng)序(Xu)能(Neng)够(Gou)把(Ba)XML作(Zuo)为(Wei)一(Yi)个(Ge)事(Shi)件(Jian)流(Liu)来(Lai)处(Chu)理(Li)。(?)将(Jiang)XML作(Zuo)为(Wei)一(Yi)组(Zu)事(Shi)件(Jian)来(Lai)处(Chu)理(Li)的(De)想(Xiang)法(Fa)并(Bing)不(Bu)新(Xin)颖(Ying)((?)事(Shi)实(Shi)上(Shang) SAX 已(Yi)经(Jing)提(Ti)出(Chu)来(Lai)了(Liao))(?),(?)但(Dan)不(Bu)同(Tong)之(Zhi)处(Chu)在(Zai)于(Yu)StAX允(Yun)许(Xu)应(Ying)用(Yong)程(Cheng)序(Xu)代(Dai)码(Ma)把(Ba)这(Zhe)些(Xie)事(Shi)件(Jian)逐(Zhu)个(Ge)拉(La)出(Chu)来(Lai),(?)而(?)不(Bu)用(Yong)提(Ti)供(Gong)在(Zai)解(Jie)析(Xi)器(Qi)方(Fang)便(Bian)时(Shi)从(Cong)解(Jie)析(Xi)器(Qi)中(Zhong)接(Jie)收(Shou)事(Shi)件(Jian)的(De)处(Chu)理(Li)程(Cheng)序(Xu)。(?)

304.你(Ni)在(Zai)项(Xiang)目(Mu)中(Zhong)哪(Na)些(Xie)地(Di)方(Fang)用(Yong)到(Dao)了(Liao)XML?(?)

答(Da):(?) XML的(De)主(Zhu)要(Yao)作(Zuo)用(Yong)有(You)两(Liang)个(Ge)方(Fang)面(Mian):(?)数(Shu)据(Ju)交(Jiao)换(Huan)((?)曾(Zeng)经(Jing)被(Bei)称(Cheng)为(Wei)业(Ye)界(Jie)数(Shu)据(Ju)交(Jiao)换(Huan)的(De)事(Shi)实(Shi)标(Biao)准(Zhun),(?)现(Xian)在(Zai)此(Ci)项(Xiang)功(Gong)能(Neng)在(Zai)很(Hen)多(Duo)时(Shi)候(Hou)都(Du)被(Bei)JSON取(Qu)代(Dai))(?)和(He)信(Xin)息(Xi)配(Pei)置(Zhi)。(?)在(Zai)做(Zuo)数(Shu)据(Ju)交(Jiao)换(Huan)时(Shi),(?)XML将(Jiang)数(Shu)据(Ju)用(Yong)标(Biao)签(Qian)组(Zu)装(Zhuang)成(Cheng)起(Qi)来(Lai),(?)然(Ran)后(Hou)压(Ya)缩(Suo)打(Da)包(Bao)加(Jia)密(Mi)后(Hou)通(Tong)过(Guo)网(Wang)络(Luo)传(Chuan)送(Song)给(Gei)接(Jie)收(Shou)者(Zhe),(?)接(Jie)收(Shou)解(Jie)密(Mi)与(Yu)解(Jie)压(Ya)缩(Suo)后(Hou)再(Zai)从(Cong)XML文(Wen)件(Jian)中(Zhong)还(Huan)原(Yuan)相(Xiang)关(Guan)信(Xin)息(Xi)进(Jin)行(Xing)处(Chu)理(Li)。(?)目(Mu)前(Qian)很(Hen)多(Duo)软(Ruan)件(Jian)都(Du)使(Shi)用(Yong)XML来(Lai)存(Cun)储(Chu)配(Pei)置(Zhi)信(Xin)息(Xi),(?)很(Hen)多(Duo)项(Xiang)目(Mu)中(Zhong)我(Wo)们(Men)通(Tong)常(Chang)也(Ye)会(Hui)将(Jiang)作(Zuo)为(Wei)配(Pei)置(Zhi)的(De)硬(Ying)代(Dai)码(Ma)((?)hard code)(?)写(Xie)在(Zai)XML文(Wen)件(Jian)中(Zhong),(?)Java的(De)很(Hen)多(Duo)框(Kuang)架(Jia)也(Ye)是(Shi)这(Zhe)么(Me)做(Zuo)的(De)。(?)

305.用(Yong)JavaScript实(Shi)现(Xian)用(Yong)正(Zheng)则(Ze)表(Biao)达(Da)式(Shi)验(Yan)证(Zheng),(?)某(Mou)个(Ge)字(Zi)符(Fu)串(Chuan)是(Shi)合(He)法(Fa)的(De)6位(Wei)数(Shu)字(Zi)的(De)邮(You)编(Bian)的(De)函(Han)数(Shu)
Function testE(ss){
  var reg=/^[1-9][0-9]{5}$/;(?)
  if(req.test(ss)){
    alert(“(?)邮(You)编(Bian)OK”(?))
}else{
  alert(“(?)邮(You)编(Bian)格(Ge)式(Shi)不(Bu)正(Zheng)确(Que)”(?));(?)
}
}
306.请(Qing)使(Shi)用(Yong)JQuery将(Jiang)页(Ye)面(Mian)上(Shang)的(De)所(Suo)有(You)元(Yuan)素(Su)边(Bian)框(Kuang)设(She)置(Zhi)为(Wei)2pix宽(Kuan)的(De)虚(Xu)线(Xian)?(?)

$(“(?)*”(?)).css(“(?)border”(?),”(?)2px dashed”(?))

307.如(Ru)何(He)设(She)定(Ding)JQuery异(Yi)步(Bu)调(Diao)用(Yong)还(Huan)是(Shi)同(Tong)步(Bu)调(Diao)用(Yong)?(?)

答(Da)案(An):(?)调(Diao)用(Yong)jQuery中(Zhong)的(De)ajax函(Han)数(Shu),(?)设(She)置(Zhi)其(Qi)async属(Shu)性(Xing)来(Lai)表(Biao)明(Ming)是(Shi)异(Yi)步(Bu)还(Huan)是(Shi)同(Tong)步(Bu),(?)如(Ru)下(Xia):(?)

$.ajax({
async:true//表(Biao)示(Shi)异(Yi)步(Bu),(?)false表(Biao)示(Shi)同(Tong)步(Bu)
})

308.说(Shuo)出(Chu)3条(Tiao)以(Yi)上(Shang)firefox和(He)IE的(De)浏(Liu)览(Lan)器(Qi)兼(Jian)容(Rong)问(Wen)题(Ti)?(?)

答(Da)案(An):(?)兼(Jian)容(Rong)firefox的(De) outerHTML,(?)FF中(Zhong)没(Mei)有(You)outerHtml的(De)方(Fang)法(Fa)

IE下(Xia),可(Ke)以(Yi)使(Shi)用(Yong)()或(Huo)[]获(Huo)取(Qu)集(Ji)合(He)类(Lei)对(Dui)象(Xiang);Firefox下(Xia),只(Zhi)能(Neng)使(Shi)用(Yong)[]获(Huo)取(Qu)集(Ji)合(He)类(Lei)对(Dui)象(Xiang).解(Jie)决(Jue)方(Fang)法(Fa):统(Tong)一(Yi)使(Shi)用(Yong)[]获(Huo)取(Qu)集(Ji)合(He)类(Lei)对(Dui)象(Xiang).

IE下(Xia),可(Ke)以(Yi)使(Shi)用(Yong)获(Huo)取(Qu)常(Chang)规(Gui)属(Shu)性(Xing)的(De)方(Fang)法(Fa)来(Lai)获(Huo)取(Qu)自(Zi)定(Ding)义(Yi)属(Shu)性(Xing),也(Ye)可(Ke)以(Yi)使(Shi)用(Yong)getAttribute()获(Huo)取(Qu)自(Zi)定(Ding)义(Yi)属(Shu)性(Xing);Firefox下(Xia),只(Zhi)能(Neng)使(Shi)用(Yong)getAttribute()获(Huo)取(Qu)自(Zi)定(Ding)义(Yi)属(Shu)性(Xing).解(Jie)决(Jue)方(Fang)法(Fa):统(Tong)一(Yi)通(Tong)过(Guo)getAttribute()获(Huo)取(Qu)自(Zi)定(Ding)义(Yi)属(Shu)性(Xing)

309.请(Qing)用(Yong)Jquery语(Yu)言(Yan)写(Xie)出(Chu)ajax请(Qing)求(Qiu)或(Huo)者(Zhe)post请(Qing)求(Qiu)代(Dai)码(Ma)
$.post(“(?)show”(?),{uname=”(?)张(Zhang)三(San)”(?),(?)pwd=”(?)123”(?)},function(data){
  alert(data)
})
310.body中(Zhong)的(De)onload ((?))(?)函(Han)数(Shu)和(He)jQuery中(Zhong)document.ready()有(You)什(Shi)么(Me)区(Qu)别(Bie)?(?)

答(Da)案(An):(?)ready 事(Shi)件(Jian)的(De)触(Chu)发(Fa),(?)表(Biao)示(Shi)文(Wen)档(Dang)结(Jie)构(Gou)已(Yi)经(Jing)加(Jia)载(Zai)完(Wan)成(Cheng)((?)不(Bu)包(Bao)含(Han)图(Tu)片(Pian)等(Deng)非(Fei)文(Wen)字(Zi)媒(Mei)体(Ti)文(Wen)件(Jian))(?)

onload 事(Shi)件(Jian)的(De)触(Chu)发(Fa),(?)表(Biao)示(Shi)页(Ye)面(Mian)包(Bao)含(Han)图(Tu)片(Pian)等(Deng)文(Wen)件(Jian)在(Zai)内(Nei)的(De)所(Suo)有(You)元(Yuan)素(Su)都(Du)加(Jia)载(Zai)完(Wan)成(Cheng)。(?)

311.jQuery中(Zhong)有(You)哪(Na)几(Ji)种(Zhong)类(Lei)型(Xing)的(De)选(Xuan)择(Ze)器(Qi)?(?)

答(Da)案(An):(?)

基(Ji)本(Ben)选(Xuan)择(Ze)器(Qi)

层(Ceng)次(Ci)选(Xuan)择(Ze)器(Qi)

基(Ji)本(Ben)过(Guo)滤(Lu)选(Xuan)择(Ze)器(Qi)

内(Nei)容(Rong)过(Guo)滤(Lu)选(Xuan)择(Ze)器(Qi)

可(Ke)见(Jian)性(Xing)过(Guo)滤(Lu)选(Xuan)择(Ze)器(Qi)

属(Shu)性(Xing)过(Guo)滤(Lu)选(Xuan)择(Ze)器(Qi)

子(Zi)元(Yuan)素(Su)过(Guo)滤(Lu)选(Xuan)择(Ze)器(Qi)

表(Biao)单(Dan)选(Xuan)择(Ze)器(Qi)

表(Biao)单(Dan)过(Guo)滤(Lu)选(Xuan)择(Ze)器(Qi)

312.EasyUI中(Zhong)datagrid刷(Shua)新(Xin)当(Dang)前(Qian)数(Shu)据(Ju)的(De)方(Fang)法(Fa)?(?)

答(Da)案(An):(?)使(Shi)用(Yong)reload()即(Ji)可(Ke)

313.分(Fen)别(Bie)写(Xie)出(Chu)一(Yi)个(Ge)div居(Ju)中(Zhong)和(He)其(Qi)中(Zhong)的(De)内(Nei)容(Rong)居(Ju)中(Zhong)的(De)css属(Shu)性(Xing)设(She)置(Zhi)

Div居(Ju)中(Zhong):(?)

margin:auto 0px;

内(Nei)容(Rong)居(Ju)中(Zhong):

text-align:center;

314.概(Gai)述(Shu)一(Yi)下(Xia)session与(Yu)cookie的(De)区(Qu)别(Bie)

答(Da)案(An):(?)

存(Cun)储(Chu)角(Jiao)度(Du):(?)

Session是(Shi)服(Fu)务(Wu)器(Qi)端(Duan)的(De)数(Shu)据(Ju)存(Cun)储(Chu)技(Ji)术(Shu),(?)cookie是(Shi)客(Ke)户(Hu)端(Duan)的(De)数(Shu)据(Ju)存(Cun)储(Chu)技(Ji)术(Shu)

解(Jie)决(Jue)问(Wen)题(Ti)角(Jiao)度(Du):(?)

Session解(Jie)决(Jue)的(De)是(Shi)一(Yi)个(Ge)用(Yong)户(Hu)不(Bu)同(Tong)请(Qing)求(Qiu)的(De)数(Shu)据(Ju)共(Gong)享(Xiang)问(Wen)题(Ti),(?)cookie解(Jie)决(Jue)的(De)是(Shi)不(Bu)同(Tong)请(Qing)求(Qiu)的(De)请(Qing)求(Qiu)数(Shu)据(Ju)的(De)共(Gong)享(Xiang)问(Wen)题(Ti)

生(Sheng)命(Ming)周(Zhou)期(Qi)角(Jiao)度(Du):(?)

Session的(De)id是(Shi)依(Yi)赖(Lai)于(Yu)cookie来(Lai)进(Jin)行(Xing)存(Cun)储(Chu)的(De),(?)浏(Liu)览(Lan)器(Qi)关(Guan)闭(Bi)id就(Jiu)会(Hui)失(Shi)效(Xiao)

Cookie可(Ke)以(Yi)单(Dan)独(Du)的(De)设(She)置(Zhi)其(Qi)在(Zai)浏(Liu)览(Lan)器(Qi)的(De)存(Cun)储(Chu)时(Shi)间(Jian)。(?)

315.JavaScript 中(Zhong) null和(He) undefined 是(Shi)否(Fou)有(You)区(Qu)别(Bie)?(?)有(You)哪(Na)些(Xie)区(Qu)别(Bie)?(?)

答(Da)案(An):(?)

赋(Fu)值(Zhi)角(Jiao)度(Du)说(Shuo)明(Ming):(?)

null 表(Biao)示(Shi)此(Ci)处(Chu)没(Mei)有(You)值(Zhi),(?)undefined表(Biao)示(Shi)此(Ci)处(Chu)定(Ding)义(Yi)了(Liao)但(Dan)是(Shi)没(Mei)有(You)赋(Fu)值(Zhi)

从(Cong)数(Shu)据(Ju)转(Zhuan)换(Huan)角(Jiao)度(Du):(?)

Null在(Zai)做(Zuo)数(Shu)值(Zhi)转(Zhuan)换(Huan)时(Shi)会(Hui)被(Bei)转(Zhuan)换(Huan)为(Wei)0,(?)undefined会(Hui)被(Bei)转(Zhuan)换(Huan)为(Wei)NaN

316.Servlet中(Zhong)的(De)doPost和(He)doGet方(Fang)法(Fa)有(You)什(Shi)么(Me)区(Qu)别(Bie)?它(Ta)们(Men)在(Zai)传(Chuan)递(Di)和(He)获(Huo)取(Qu)参(Can)数(Shu)上(Shang)有(You)什(Shi)么(Me)区(Qu)别(Bie)?(?)

答(Da)案(An):(?)

区(Qu)别(Bie):(?)doPost用(Yong)来(Lai)处(Chu)理(Li)post请(Qing)求(Qiu),(?)doGet用(Yong)来(Lai)处(Chu)理(Li)get请(Qing)求(Qiu),(?)获(Huo)取(Qu)参(Can)数(Shu):(?)获(Huo)取(Qu)的(De)参(Can)数(Shu)是(Shi)相(Xiang)同(Tong)的(De)都(Du)是(Shi)HttpServletRequest \HttpServletResponse

317.请(Qing)写(Xie)出(Chu)一(Yi)段(Duan)jQuery代(Dai)码(Ma),(?)实(Shi)现(Xian)把(Ba)当(Dang)前(Qian)页(Ye)面(Mian)中(Zhong)所(Suo)有(You)的(De)a元(Yuan)索(Suo)中(Zhong)class 属(Shu)性(Xing)为(Wei)“(?)view-link”(?)的(De)链(Lian)接(Jie)都(Du)改(Gai)为(Wei)在(Zai)新(Xin)窗(Chuang)口(Kou)中(Zhong)打(Da)开(Kai)

答(Da)案(An):(?)$(“(?)a[class=view-link]”(?)).attr(“(?)target”(?),”(?)_blank”(?))

318.如(Ru)