




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、單選題下面是一段考查Java序列化知識的測試代碼:public class Person implements Serializable private transient int age;private String name; private String sex;/ 省略 get setpublic static void main(String args) throws Exception serializePerson();Person p = deserializePerson();System.out.printin(p.getName()+”;+p getAge(); )pri
2、vate static void serializePerson () throws FileNotFoundException, lOException Person person = new Person();prson . stName (測試實例”);person.setAge(25);person.setSex(nmalen);ObjectOutputStream oo = new ObjectOutputstream(new FileOutputStream(nw File(n/xxx/data.txtn);oo.writeObject(person);oo close (); )
3、private static Person dsrializPrson () throws 工OExcption, Exception ObjectInputStream ois = new Objectinputstream(new FileInputStream(new File(H/xxx/data.txt);Person person = (Person) ois.readobject(); return person; ) )執(zhí)行上述代碼并輸出相關(guān)結(jié)果,執(zhí)行完成后,添加salary的int屬性和getset方法, 然后只執(zhí)行deserializePerson方法,輸出相關(guān)結(jié)果。根據(jù)以
4、上操作,以下哪一項中的執(zhí) 行結(jié)果是正確的? 回答正確載,-n用于查看網(wǎng)絡(luò)相關(guān)統(tǒng)計信息,而PSI (Pressure-Stall Information)信息可以用來查看Page Cache產(chǎn)生壓力情況,因此答案為C。單選題在異常處理中,如釋放資源,關(guān)閉數(shù)據(jù)庫、關(guān)閉文件,應(yīng)由以下哪一項語句完成? 回答正確try子句catch子句finally 子句throw子句正確選項C點Java基礎(chǔ)-異常處理解析選項A中,try用來執(zhí)行正常的程序,該程序可能發(fā)生異常。選項B中,catch捕捉try 代碼塊中的異常,并進(jìn)行處理操作。選項C中,finally無論如果最終都將執(zhí)行的代碼, 一般用來關(guān)閉資源的消耗。選
5、項D中,throw在方法體中拋出異常對象。綜上所述,本 題選Co單選題以下哪種情況不會對業(yè)務(wù)線程造成性能影響?回答錯誤關(guān)閉系統(tǒng)的軟中斷軟中斷的執(zhí)行時間太長軟中斷函數(shù)在ksoftirqd里執(zhí)行將基于CPU的網(wǎng)卡多隊列改為硬件網(wǎng)卡的硬件多隊列 正確選項D*士考點基礎(chǔ)工具-Linux解析硬中斷、軟中斷、ksoftirqd內(nèi)核線程都會對用戶線程帶來一定的延遲,而D選項能夠?qū)?處理網(wǎng)卡隊列的CPU資源改為網(wǎng)卡的硬件資源,因此答案為Do單選題在討論數(shù)據(jù)庫鎖的時候,我們會有樂觀鎖和悲觀鎖的說法,以下關(guān)于兩者的說法中,哪一項 是不正確的?回答錯誤悲觀鎖是指總是假設(shè)最壞的情況,每次訪問數(shù)據(jù)都加鎖傳統(tǒng)的數(shù)據(jù)庫鎖,
6、大多數(shù)都是悲觀鎖,例如行鎖、表鎖都是悲觀鎖樂觀鎖總是假設(shè)最好的情況,只有在沖突的時候才會加鎖悲觀鎖都是排他鎖正確選項D考占Q八、數(shù)據(jù)庫-MySQL解析悲觀鎖和樂觀鎖是一個??嫉狞c。但是悲觀鎖、樂觀鎖和是否排他沒有關(guān)系,它們是兩個維 度上的事情。一般來說,我們會優(yōu)先考慮使用樂觀鎖,以獲得更好的性能,故答案為Do單選題以下哪種情況不會導(dǎo)致TCP重傳?回答錯誤TCP數(shù)據(jù)包在傳輸過程中被第三方篡改后被服務(wù)端接收TCP數(shù)據(jù)包再網(wǎng)絡(luò)傳輸過程中,因為路由變化導(dǎo)致的亂序接收端的ACK包在未到達(dá)發(fā)送端之前,在某個交換機(jī)上排隊數(shù)據(jù)包在傳輸過程發(fā)送錯誤,被接收端丟棄正確選項A考點基礎(chǔ)工具-Linux解析引發(fā)TCP重
7、傳,主要有兩大類問題,一個是丟包、一個是擁塞。丟包是指接收端將數(shù)據(jù)包 丟棄,擁塞是指發(fā)送端和接收端中某個設(shè)備或鏈路導(dǎo)致數(shù)據(jù)包排隊造成超時。因此只有A 選項被服務(wù)器接收,不屬于這兩大類問題,所以答案為Ao單選題分析進(jìn)程的內(nèi)存泄漏原因,是有一定的步驟的,那么以下定位一個業(yè)務(wù)進(jìn)程內(nèi)存泄漏的基本 步驟,哪一項的順序是正確的?通過/proc/PID, /proc/meminfo等虛擬文件系統(tǒng),得知該進(jìn)程造成的更具體的資源 開銷數(shù)據(jù)通過top、pidstat等命令,觀察該進(jìn)程哪個地址空間被消耗資源顯著增大,以及隨著 時間變化逐漸增大通過簡單的模擬程序,復(fù)現(xiàn)問題使用strace、systemtap或stra
8、cepoint等工具定位申請、釋放內(nèi)存的關(guān)鍵調(diào)用,分 析程序行為回答錯誤正確選項D考點基礎(chǔ)工具-Linux解析分析內(nèi)存泄漏的一般步驟要遵循逐步細(xì)化,校驗改進(jìn)的方式進(jìn)行,因此首先應(yīng)該從整體內(nèi)存 中,分析出內(nèi)存的哪一部分出現(xiàn)內(nèi)存泄漏問題,再逐步細(xì)化到系統(tǒng)/庫函數(shù)調(diào)用,定位出 現(xiàn)問題的代碼位置。由于業(yè)務(wù)程序多伴有邏輯復(fù)雜的特點,因此需要剔除業(yè)務(wù)邏輯,復(fù)現(xiàn)內(nèi) 存泄漏的邏輯。多半采用編寫模擬程序復(fù)現(xiàn)問題,最后再進(jìn)行代碼bug的修復(fù),以及再次 觀察問題是否解決的通用解決步驟,因此正確的分析步驟應(yīng)該為Do單選題以下關(guān)于Java中枚舉的說法中,哪一項是錯誤的?回答正確枚舉不允許繼承類,JVM在生成枚舉時已經(jīng)繼
9、承了 Enum類,由于Java語言是單繼承, 不支持再繼承額外的類枚舉可以用等號比較,JVM會為每個枚舉實例對應(yīng)生成一個類對象,這個類對象是用public static final修飾的,在static代碼塊中初始化,是一個單例枚舉不可以繼承枚舉,JVM在生成枚舉類時,將它聲明為final枚舉的valueOf方法傳入不存在的枚舉名稱時,會返回null正確選項D考占J八、Java基礎(chǔ)-面向?qū)ο缶幊探馕鰒alueOf在傳入不存在的枚舉名稱時,會直接拋出異常,不返回null,所以答案為D。單選題當(dāng)你已經(jīng)得知pread(2)系統(tǒng)調(diào)用在業(yè)務(wù)中調(diào)用耗時過長,后續(xù)應(yīng)該采用哪個工具分析根 因更適合? 回答錯誤
10、straceftracegdbptrace正確選項B考點基礎(chǔ)工具-Linux解析strace的原理是發(fā)生系統(tǒng)調(diào)用后產(chǎn)生SIGTRAP信號,而已經(jīng)確定pread系統(tǒng)調(diào)用問題, strace無法繼續(xù)追蹤內(nèi)核層的原因;gdb用于代碼跟蹤;ptrace是系統(tǒng)調(diào)用,它能夠讓 父進(jìn)程觀察子進(jìn)程的執(zhí)行過程。因此只有B選項能夠追蹤pread(2)在哪里耗費了這么 長的時間。單選題以下哪個操作不會使Page Cache占用內(nèi)存的水位上升? 回答錯誤swap inswap out向/dev/shm文件夾里寫入數(shù)據(jù)打開一個文件并嘗試讀取文件的內(nèi)容正確選項B考占V八、基礎(chǔ)工具-Linux解析開啟swap分區(qū)后,swa
11、p out操作可以將匿名內(nèi)存換出到磁盤,釋放內(nèi)存空間讓內(nèi)存水 位下降。swap in操作是將硬盤上的匿名頁換回內(nèi)存。而/dev/shm使用是tmpfs,寫 入數(shù)據(jù)會導(dǎo)致內(nèi)存占用增加,打開文件會經(jīng)由vfs產(chǎn)生緩存,同樣會導(dǎo)致內(nèi)存水位上升, 因此答案為Bo單選題以下語句中,哪一項不是DDL語句?回答正確CREATE DATABASE nba;CREATE TABLE play工 (player_id int(11) NOT NULL AUTO_工NCREMENT, player_name varchar (2 55) NOT NULL);ALTER TABLE player ADD (age in
12、t (11);select * from nba;正確選項D考點數(shù)據(jù)庫-SQL解析選項A用于創(chuàng)建一個名為nba的數(shù)據(jù)庫,屬于DDL;選項B用于創(chuàng)建一個建一個球員表,表名為player,里面有兩個字段,一個是player_id ,它是int類型,另一個player_name字段是varchar(255)類型,屬于DDL;選項C是在nba表中添加一個age字段,類型為int(ll),也屬于DDL;而選項D是一個數(shù)據(jù)庫查詢語句, 所以答案為Do單選題以下關(guān)于Druid數(shù)據(jù)源配置熟悉的說法中,哪一項是錯誤的?回答正確validationQuery屬性用來檢測連接是否有效的sql,要求是一個查詢語句,常
13、用select*xvalidationQueryTimeout 屬性底層調(diào)用 jdbc Statement 對象的 void setTimeout(int seconds)方法testWhileldle屬性建議配置為true,不影響性能,并且保證安全性testOnBorrow屬性含義是申請連接時執(zhí)行validationQuery檢測連接是否有效,做了 這個配置會降低性能 正確選項B考點框架-Spring基礎(chǔ)解析選項B中validationQueryTimeout調(diào)用的底層方法是Statement中的 setQueryTimeout方法,不是setTimeout方法,其他正確,所以答案為B。單選
14、題以下關(guān)于Mybatis的說法中,哪一項是錯誤的? 回答正確Mybatis中的DefaultSqISession作用是執(zhí)行crud操作,不同線程之間可以互相使用Mybatis的緩存分為一級緩存和二級緩存Mybatis的全局配置文件中useGeneratedKeys默認(rèn)值為falseMybatis中的SQLSessionFactory應(yīng)該在應(yīng)用運行期間都存在,不能頻繁銷毀和創(chuàng)建, 它是應(yīng)用范圍級別 正確選項A考占P八、框架-Spring基礎(chǔ)解析DefaultSqISession是線程不安全的,不同線程之間不能共享使用,因此A的說法是錯 誤的,故答案為Ao單選題在以下選項中,哪個選項存取數(shù)據(jù)的速度
15、最快? 回答錯誤LI CacheSRAMDRAM寄存器正確選項D考點基礎(chǔ)工具-Linux解析CPU對自身以及存儲器的訪問速度是不同的,速度越快,容量越小。其中最快的是寄存器, 其次是SRAM即CPU的LI、L2、L3 Cache,之后是DRAM主內(nèi)存,最后是磁盤。 因此訪問速度最快的是D選項。單選題為了解決Linux的數(shù)據(jù)同步的問題,以下選項引入的數(shù)據(jù)同步機(jī)制中,哪一項是有效的? 回答錯誤為了保證多個進(jìn)程同時打開一個文件時,計數(shù)器變量能夠準(zhǔn)確計數(shù),可以使用一個原子類型 變量 atomic_t在代碼中使用volatile int *是為了讓編譯器對內(nèi)存地址讀寫進(jìn)行優(yōu)化,同樣可以實現(xiàn)原 子操作為了
16、讓CPU支持中斷響應(yīng),經(jīng)常會使用dowhile(0)表達(dá)式保證。中的代碼片段可以 循環(huán)執(zhí)行,即使發(fā)生CPU中斷也不會影響代碼片段的執(zhí)行順序自旋鎖會引起加鎖進(jìn)程休眠,當(dāng)自旋鎖被別的進(jìn)程持有,加鎖進(jìn)程定時被喚醒,查看是否該 自旋鎖的持有者已經(jīng)釋放了鎖正確選項A考占J八、基礎(chǔ)工具-Linux解析選項B中,volatile int *是在編譯階段讓編譯器不要優(yōu)化內(nèi)存地址讀寫,每次必須強(qiáng)制 對內(nèi)存讀寫;選項c中,dowhile(0)表達(dá)式會保證。中的代碼片段執(zhí)行一次,保證 宏展開時這個代碼片段是一個整體;選項D中,自旋鎖不會引起加鎖進(jìn)程休眠,如果自旋 鎖已經(jīng)被別的進(jìn)程持有,加鎖進(jìn)程就需要一直循環(huán)在那里,
17、查看是否該自旋鎖的持有者已經(jīng) 釋放了鎖,這也是自旋鎖的定義,綜上所述,只有選項A是有效的,所以答案為Ao單選題請看如下這段關(guān)于字符串初始化的測試代碼,以下哪一項的輸出結(jié)果是正確的?public class StringTest public static void main(String args) String si = new String (程序員”);String s2 = ern();String s3 = 程序員”;System.out.printin(si = s2);System.out.printin(s3 = s2);String strl = nstrn;String s
18、tr2 = ningH;String str3 = str” + ning;String str4 = strl + str2;String str5 = string;System.out.printIn(str3 = str4);System.out.printIn(str3 = str5);System.out.printIn(str4 = str5);) ) 回答正確A.false true falsetrue falseB.falsetruetrue falsetrue C.truetruefalsetruefalseD.falsefalsetruefalsefalse正確選項A考占
19、J八、Java基礎(chǔ)-編程基礎(chǔ)解析_System, out .printIn (si = s2) ; /false,因為一個是堆內(nèi)存中的 String 對象 一個是常量池中的String對象System. out .printin (s3 = s2) ; /true,因為兩個都是常量池中的 String 對象String str3 = str + ingn ; / 常量:也中的對象String str4 = strl + str2; /在堆上創(chuàng)建的新的對象String str5 = string;/ 常量)也中的對象System.out.printIn(str3 = str4);/falseSy
20、stem.out.printin(str3 = str5);/trueSystem.out.printin(str4 = str5);/false單選題以下關(guān)于Java中抽象類和接口的說法中,哪一項是錯誤的?回答正確abstract修飾的類不能被實例化,必須被子類繼承,類只要有一個抽象方法就必定是抽象 類,但抽象類不一定要有抽象方法接口中不能有構(gòu)造方法,抽象類中可以有,初始化抽象類的成員,可以被繼承它的子類使用一個類可以實現(xiàn)多個接口,同樣也可以繼承多個抽象類接口中的方法一定是抽象方法,所以不用abstract修飾正確選項C考點Java基礎(chǔ)-面向?qū)ο缶幊探馕鲞x項ABD均為正確表述,容易混淆的是選
21、項C, 一個類只能繼承一個其他的類,在Java 語言中禁止多重繼承,如果一個類繼承了兩個類,但是這兩個類中有相同的方法,那么子類 調(diào)用,無法確定應(yīng)該調(diào)用哪個方法,因此選項C的說法是錯誤的,所以答案為Co單選題請看如下這段關(guān)于字符串初始化的測試代碼,以下哪一項的輸出結(jié)果是正確的?public class StringTest public static void main(String f args) String si = new String (程序員);String s2 = ern();String s3 = 程序員”;Systm.out.printin(si = s2);System.
22、out.printIn(s3 = s2);String strl=nstrn;String str2=ingH;String str3 = nstrn + ningn;String str4=strl +str2;String str5=string;Systm.out.printin(str3 = str4);System.out.printin(str3 = str5);System.out.printIn(str4 = str5);)回答正確A.falsetruefalsetruefalseB.falsetruetruefalsetrueC.測試實例;25測試實例;25測試實例;0測試實
23、例;0測試實例;25拋出異常測試實例;0拋出異常正確選項D考點Java基礎(chǔ)-編程基礎(chǔ)解析已經(jīng)使用transient修飾過的對象是不能被序列化的,所以輸出為0。另外在序列化到硬 盤以后,新增加了屬性,而題目的代碼中沒有加serialVersionUID,所以反序列化失敗, 所以選擇Do相關(guān)定義:serialVersionUID常量:是指JVM在序列化對象的時候,會把這個常量表示 序列化對象所屬的類的類ID。在反序列化時,反序列化對象的serialVersionUID能匹配 上程序里面的類的serialVersionUID時,就判斷這個反序列化的對象就是這個類生成的, 因此允許反序列化。根據(jù)上面定
24、義。題目中由于沒有添加serialVersionUID相關(guān)屬性。所以在字段增加以后 反序列化出現(xiàn)異常,所以選D,其他結(jié)果不正確。單選題如下是一段關(guān)于字符集的代碼,以下輸出的結(jié)果中,哪一項是正確的?import j ava.io.UnsupportedEncodingException;public class EncodeTestpublic static void main(String args) throws UnsupportdEncociingExcption String str = na;String str2 = 中”;System.out.printIn(str.getByt
25、es(nUTF-8 ) .length);System.out.printin(str2.getBytes(nUTF-8).length);System.out.printin(str.getBytes(nUTF-16n).length);truetruefalsetruefalseD.falsefalsetruefalsefalse正確選項A考點Java基礎(chǔ)-編程基礎(chǔ)解析System. out .printIn (si = s2) ; /false,因為個是堆內(nèi)存中的 String 對象 一個是常量池中的String對象System. out .printin (s3 = s2) ; /tr
26、ue,因為兩個都是常量池中的 String 對象String str3 = str + Hingn; / 常量7也中的對象String str4 = strl + str2; /在堆上創(chuàng)建的新的對象String str5 = string;/ 常量池中的對象System.out.printin(str3 = str4);/falseSystem.out.printIn(str3 = str5);/trueSystem.out.printIn(str4 = str5);/false綜合以上,本題選Ao單選題關(guān)于Java反射機(jī)制的描述,以下哪一項說法是錯誤的? 回答正確在運行時判斷對象所屬的類在運
27、行時判斷類所具有的成員變量和方法在運行時改變方法的實現(xiàn)在運行時調(diào)用一個對象的方法正確選項C考點Java基礎(chǔ)-編程基礎(chǔ)解析在運行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象, 都能夠調(diào)用它的任意一個方法和屬性;這種動態(tài)(在運行時)獲取類的信息以及動態(tài)調(diào)用對 象的方法的功能稱為Java語言的反射機(jī)制。簡單來說,就是Java對每一個類和類中的 所有成員都進(jìn)行了封裝,這樣每個類都有一個與之對應(yīng)的Class對象(編譯之后產(chǎn)生的 class對象),通過這個對象可以直接訪問類中的所有成員,因此C選項中改變方法的實 現(xiàn)是錯誤的。單選題下面關(guān)于 Spring Redis 中 Red
28、isTemplate 和 StringRedisTemplate 區(qū)別的說法中, 哪一項是錯誤的?回答正確StringRedisTemplate 繼承自 RedisTemplateStringRedisTemplate 默認(rèn)使用 String 序列化方式,RedisTemplate 默認(rèn)使用 jdk 自帶的序列化方式StringRedisTemplate和RedisTemplate兩者數(shù)據(jù)不互通,只能各自管理各自處理過 的數(shù)據(jù),推薦使用StringRedisTemplateRedisTemplate是非線程安全的,需要每次使用的期間new 一個實例執(zhí)行redis操作 正確選項D考占Q八、框架-
29、Spring基礎(chǔ)解析RedisTemplate是線程安全的,開箱即用,可以在多個實例中重復(fù)使用,所以答案為D。單選題以下關(guān)于Java監(jiān)控命令的描述中,哪一項是錯誤的?回答正確jps -v輸出完全的包名,應(yīng)用主類名,jar的完全路徑名j stat -gcutil pid是垃圾回收統(tǒng)計C.jmap -dump : live, f ormat=b, f ile=/home/dev pid 是 dump 存活的對象堆文件以特定的格式到指定的文件名D.在程序發(fā)生死鎖時可以用jstack -1 pid來觀察鎖持有情況正確選項A考占J 八、Java基礎(chǔ)-工具類解析jps主要用來輸出JVM進(jìn)程狀態(tài)信息:-q不
30、輸出類名、Jar名和傳入main方法的參數(shù);-m輸出傳入main方法的參數(shù);-1輸出main類或Jar的全限名;-v輸出傳入JVM的參數(shù)。所以選項A中應(yīng)為-I,故答案為Ao單選題為了監(jiān)控內(nèi)核臟頁回寫的開始和結(jié)束時間,以下哪個操作是必須執(zhí)行的?cat /sys/kernel/debug/tracing/traceecho 1 /sys/kernel/debug/tracing/events/writeback/writeback_start/enableecho 1 /sys/kernel/debug/tracing/events/writeback/writeback_written/enab
31、leecho 1 /sys/kernel/debug/tracing/events/writeback/writeback_startecho 1 /sys/kernel/debug/tracing/events/writeback/writeback_written 回答錯誤 正確選項 B考占P八、基礎(chǔ)工具-Linux解析為了能夠觀察tracepoint,首先需要打開調(diào)試開關(guān);選項中是開關(guān)的正確路徑,其 他內(nèi)核參數(shù)會在/sys/kernel/debug/tracing/events下,以目錄方式存在,并在該目錄 下采用enable文件記錄開關(guān)的打開和關(guān)閉狀態(tài)。如果監(jiān)控內(nèi)核臟頁回寫的開始和結(jié)束
32、時 間,必須采用覆蓋模式()將對應(yīng)路徑下的enable文件的值改寫為1,同時使用 文件來查看kernel tracer捕獲的開始和結(jié)束時間,因此正確答案為B。單選題下面關(guān)于Java單元測試的說法,哪一項是錯誤的?回答錯誤JUnit的Test依附在public void方法,可以作為一個測試案例JUnit的Before依附的方法全局只會執(zhí)行一次,而且是第一個運行JUnit的After依附的方法在測試方法運行之后運行采用Mockito框架虛擬出一個單元測試的外部依賴,通過只注重測試代碼的流程與結(jié)果, 真正地實現(xiàn)測試目的正確選項B考點Java基礎(chǔ)-編程基礎(chǔ)解析Before:方法之前運行一次,不是只能
33、全局執(zhí)行一次,所以B錯誤。BeforeClass:測試類所有方法之前運行一次,所以答案B應(yīng)該是用BeforeClass才 對。單選題drop和truncate雖然從語義上來說很不一樣,但是當(dāng)我們試圖清理一張表的所有數(shù)據(jù)的 時候,可以用truncate,也可以drop之后新建。那么關(guān)于這兩者在MySQL實現(xiàn)上的 不同點的描述,哪一項是錯誤的? 回答正確truncate 和 drop 都屬于 DDLtruncate和drop都是不可回滾操作truncate不僅僅把所有數(shù)據(jù)都刪除了,還把索引也刪除了兩者的速度都很快正確選項C考占V八、數(shù)據(jù)庫-MySQL解析兩者的核心區(qū)別就在于,truncate會保留
34、表結(jié)構(gòu),包含索引。這里的索引是指索引本身, 而不是指索引的數(shù)據(jù)。另外一個要注意的是,truncate和drop都是不可回滾操作,現(xiàn)實 中要謹(jǐn)慎使用,故答案為Co多選題下列關(guān)于類方法的描述中,哪些說法是錯誤的?回答錯誤在類方法中可用this來調(diào)用本類的類方法漏選在類方法中調(diào)用本類的類方法時可直接調(diào)用在類方法中只能調(diào)用本類中的類方法在類方法中絕對不能調(diào)用實例方法正確選項A、C、D考點Java基礎(chǔ)一線程解析選項A中,在類方法中不能使用this關(guān)鍵字;選項C中,在類方法中可以調(diào)用其它類 中的類方法;選項D中,在類方法中可以通過實例化對象調(diào)用實例方法。多選題以下關(guān)于Spring事務(wù)說法中,哪些選項是正確
35、的?回答錯誤Spring提供了兩種編程式事務(wù)管理的方法:使用TransactionTemplate或者TransactionalOperator,直接實現(xiàn) TransactionManager 接口漏選Spring事務(wù)隔離級別中的REQUIRES_NEW指的是如果當(dāng)前線程已經(jīng)在一個事務(wù)中,則 加入該事務(wù),否則新建一個事務(wù)TransactionTemplate是線程安全的,我們可以全局配置一個TransactionTemplate, 然后所有的類都共享這個TransactionTemplate在方法上面加上Transactional注解,然后在方法中throw new Exception錯誤 “
36、),可以回滾事務(wù)正確選項A、C考占口八、框架-Spring基礎(chǔ)解析選項B中,概念錯誤,REQUIRES_NEW是無論如何都會創(chuàng)建一個新的事務(wù),如果當(dāng)前 線程已經(jīng)在一個事務(wù)中,則掛起當(dāng)前事務(wù),創(chuàng)建一個新的事務(wù);選項D中,這樣事務(wù)不生 效,因為默認(rèn)回滾的是RuntimeException,如果想觸發(fā)其他異常的回滾,需要在注解上 配置一下,如:Transactional(rollbackFor = Exception.class)綜上所述,答案為ACo多選題假設(shè)你要使用Java的Stack類完成一個學(xué)生學(xué)號的輸入,其中有4個學(xué)生的學(xué)號分別 為1、2、3、4,那么借助這個Stack類得到的學(xué)號輸出序列
37、可能的是以下哪些情況? 回答錯誤123443211342漏選4123正確選項A、B、C考點Java基礎(chǔ)-編程基礎(chǔ)解析根據(jù)棧先進(jìn)后出,后進(jìn)先出的規(guī)則,我們對以上選項進(jìn)行綜合分析:A. 1進(jìn)棧再出棧, 2進(jìn)棧再出棧,3進(jìn)棧再出棧,4進(jìn)棧再出棧,所以出棧順序可以是1234; B. 1234依 次進(jìn)棧,再4321依次出棧,所以B的順序也對;C. 1進(jìn)棧再出棧,然后2和3依次 進(jìn)棧,然后3出棧(這時棧里只有2),接著4進(jìn)棧再出棧,最后2出棧,所以1342的 順序也是可能的,所以ABC均有可能出現(xiàn);而依據(jù)規(guī)則,不可能得到4123的輸出序列, 因此答案為ABCo多選題以下事務(wù)隔離的級別中,哪些是正確的?回答
38、錯誤讀未提交讀已提交漏選可重復(fù)讀串行化正確選項A、 B、 C、 D考點數(shù)據(jù)庫-SQL解析讀未提交,也就是允許讀到未提交的數(shù)據(jù),這種情況下查詢是不會使用鎖的,可能會產(chǎn)生臟 讀、不可重復(fù)讀、幻讀等情況。讀已提交就是只能讀到已經(jīng)提交的內(nèi)容,可以避免臟讀的產(chǎn) 生,屬于RDBMS中常見的默認(rèn)隔離級別(比如說Oracle和SQL Server),但如果 想要避免不可重復(fù)讀或者幻讀,就需要我們在SQL查詢的時候編寫帶加鎖的SQL語句(我會在進(jìn)階篇里講加鎖)??芍貜?fù)讀,保證一個事務(wù)在相同查詢條件下兩次查詢得到的數(shù) 據(jù)結(jié)果是一致的,可以避免不可重復(fù)讀和臟讀,但無法避免幻讀。MySQL默認(rèn)的隔離級別 就是可重復(fù)讀
39、??纱谢瑢⑹聞?wù)進(jìn)行串行化,也就是在一個隊列中按照順序執(zhí)行,可串行 化是最高級別的隔離等級,可以解決事務(wù)讀取中所有可能出現(xiàn)的異常情況,但是它犧牲了系 統(tǒng)的并發(fā)性。多選題以下四種異常中,哪些屬于非檢查型異常? 回答正確SQLExceptionEOFExceptionIllegalArgumentExceptionNumberFormatException正確選項C、D考點Java基礎(chǔ)-異常處理解析在Java中所有不是RuntimeException派生的Exception都是檢查型異常。當(dāng)函數(shù) 中存在拋出檢查型異常的操作時該函數(shù)的函數(shù)聲明中必須包含throws語句。調(diào)用改函數(shù)的函數(shù)也必須對該異
40、常進(jìn)行處理,如不進(jìn)行處理則必須在調(diào)用函數(shù)上聲明 throws 語句。SQLException和EOFException沒有繼承RuntimeException。所以是檢查型異常在 Java中所有RuntimeException的派生類都是非檢查型異常,與檢查型異常相對拋出非 檢查型異??梢圆辉诤瘮?shù)聲明中添加throws語句,調(diào)用函數(shù)上也不需要強(qiáng)制處理。IIlegalArgumentException 和 NumberFormatException 繼承了 RuntimeExceptiono所以是非檢查異常,所以答案為CD。多選題從數(shù)據(jù)庫查詢出的數(shù)據(jù)集合在遍歷過程中,需要基于某些條件對里面的部分
41、元素進(jìn)行刪除。 以下說法中,哪些是錯誤的?回答錯誤集合在ForEach循環(huán)里進(jìn)行元素的remove操作集合采用Iterator進(jìn)行元素的刪除操作,絕對是線程安全的 漏選集合無法實現(xiàn)在遍歷時,進(jìn)行刪除元素操作集合使用Iterator方式,如果有并發(fā),需要對Iterator對象加鎖 正確選項A、B、C考占P八、Java基礎(chǔ)-編程基礎(chǔ)解析在 ForEach 刪除過程中 remove 會拋出 ConcurrentModificationException,異常出 現(xiàn)在checkForComodification()方法中。而在多線程中通過Iterator來訪問容器的話, 事實上是不需要獲取鎖就可以訪問
42、。所以多線程的解決方法有以下兩種,分別是:1.在使 用Iterator迭代的時候使用synchronized或者Lock進(jìn)行同步;2.使用并發(fā)容器 CopyOnWriteArrayList代替ArrayList和Vector,所以D是正確的,綜上所述,答 案為ABCoSystem.out.printin(str2.getBytes(nUTF-16n).length);)回答正確A.44B.1C.D.3正確選項B考點Java基礎(chǔ)-編程基礎(chǔ)解析UTF-8編碼下一個英文占用1個字節(jié),一個漢字占用了 3個字節(jié);在UTF-16下輸出 為4個字節(jié)。前兩個字節(jié)是相同的,均為十六進(jìn)制下的FEFF,第三個字節(jié)與
43、第四個字節(jié)的組合正是字符 本身在UTF-16下的代碼單元,所以答案為Bo單選題以下關(guān)于Maven命令的說法中,哪一項是錯誤的?回答錯誤A.mvn install將打包的jar/war文件復(fù)制到你的本地倉庫中,供其他模塊使用 B.mvn deploy將打包的文件發(fā)布到遠(yuǎn)程參考,提供其他人員進(jìn)行下載依賴mvn -D是使用指定的Profile配置,mvn -P是傳入屬性參數(shù)mvn dependency: tree是打印出項目的整個依賴樹正確選項C考點Java基礎(chǔ)-工具類解析mvn -D的功能是傳入屬性參數(shù),比如命令:mvn package -Dmavn,tstskip=tru以-D開頭,將的值設(shè)為t
44、rue,就是告訴maven打包的時候跳過 單元測試。同理,mvn deploy-Dmaven.test.skip=true代表部署項目并跳過單元測試。-P使用指定的Profile配置??梢允莔vn package -P dev , C的表述與概念相反,所以答案為Co單選題MySQL支持視圖,以下關(guān)于視圖說法中,哪一項是錯誤的?回答正確創(chuàng)建視圖或者刪除視圖,都不會影響源表視圖可以由來自不同的表的列組成所有的視圖都可以修改數(shù)據(jù)對視圖的修改,會直接影響源表正確選項C考點數(shù)據(jù)庫-MySQL解析視圖可以看做是一個虛表,是一個邏輯上的抽象,它只是按照我們的要求,聚合了數(shù)據(jù)。 在修改視圖數(shù)據(jù)的時候,有兩種情
45、況,如果該視圖是通過多張表產(chǎn)生的,那么該視圖是無法 修改的;而如果視圖只是來源于單一的表,那么修改會直接影響源表,故答案為Co單選題如下是一段Java代碼,現(xiàn)需要你在橫線處寫一行代碼,從而讓代碼輸出run方法內(nèi)容, 關(guān)于這一行應(yīng)該補(bǔ)充的代碼,以下哪一項是正確的?_public class ThreadTest implements Runnable public static void main(String args) throws InterruptedException t start ();System.out.printIn(hello main);Thread.sleep(1000
46、);)public void run () System.out.printin(hello thread!);)回答正確Thread t = new Thread(new ThreadTest();ThreadTest t = nw ThreadTest();Thread t = new Test();Thread t = new Thread();正確選項A考點Java基礎(chǔ)一線程解析線程的創(chuàng)建有兩種方式,其中之一就是實現(xiàn)Runnable接口。此接口只有一個抽象方法 run()方法,啟動線程又需要start()方法,此時還需要借助Thread類,根據(jù)Thread 類的構(gòu)造方法:public
47、Thread(Runnable run)需要傳入Runnable接口對象,所以選項A是正確的。除了此方法外,還有另一種方法,即定義一個類繼承Thread類,并重寫Thread類的 run()方法,但試題中沒有符合該方法的選項,故答案為Ao單選題兩臺Linux服務(wù)器采用TCP通信時出現(xiàn)了連接超時的情況,通過觀察日志后發(fā)起,發(fā)起 TCP連接的服務(wù)器在啟動網(wǎng)絡(luò)通信的程序后,等待約7秒并提示了如下錯誤:javant,SocktTimoutExcption: Read timd out為了讓客戶端程序盡早報告錯誤,減少等待時間,可以修改以下哪個內(nèi)核參數(shù)? 回答正確net . ipv4.tcp_syn_r
48、etriesnet . ipv4.tcp_max_syn_backlognet . ipv4.tcp_syncookiesnet . ipv4.tcp_synack_retries正確選項A考點基礎(chǔ)工具-Linux解析作為Client服務(wù)器,在發(fā)出SYN后1秒,還沒有收到Server的ACK響應(yīng),那么 內(nèi)核默認(rèn)會進(jìn)行第一次重傳。如果tcp_syn_retries為3。如果SYN 一直發(fā)送失 敗,會在1 + 2 + 4秒后產(chǎn)生TIMEOUT的錯誤。為了讓Client盡早報錯,可以減 少net. ipv4 . tcp_syn_retries的值,即減少重試次數(shù),因此答案為A。單選題事務(wù)并發(fā)處理時,可能會存在異常,以下異常中,哪一項是不可能會在事務(wù)并發(fā)處理時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基因藥物開發(fā)與轉(zhuǎn)化醫(yī)學(xué)-洞察闡釋
- 工業(yè)數(shù)據(jù)安全防護(hù)體系的動態(tài)優(yōu)化研究-洞察闡釋
- 智能醫(yī)療平臺架構(gòu)研究-洞察闡釋
- 幼兒園裝修工程結(jié)算及付款合同
- 財務(wù)部門財務(wù)人員晉升管理合同
- 車輛運輸與道路救援服務(wù)協(xié)議
- 汽車銷售區(qū)域代理合作協(xié)議
- 車位租賃合同續(xù)簽違約責(zé)任補(bǔ)充協(xié)議范本
- 高級財務(wù)會計崗位全面職責(zé)勞動合同
- 財務(wù)分析報告撰寫與解讀合同
- 2025年高考數(shù)學(xué)二輪熱點題型歸納與演練(上海專用)專題02函數(shù)(九大題型)(原卷版+解析)
- 中華民族共同體概論知到課后答案智慧樹章節(jié)測試答案2025年春麗水學(xué)院
- 2024年浙江省中考社會試卷真題(含標(biāo)準(zhǔn)答案及評分標(biāo)準(zhǔn))
- 第五版-FMEA培訓(xùn)教材-新版
- NB-T32036-2017光伏發(fā)電工程達(dá)標(biāo)投產(chǎn)驗收規(guī)程
- 食品安全與日常飲食智慧樹知到期末考試答案章節(jié)答案2024年中國農(nóng)業(yè)大學(xué)
- PE袋化學(xué)品安全技術(shù)說明書MSDS(聚乙烯塑膠袋)
- 100以內(nèi)進(jìn)退位加減法口算題每天60道
- 醫(yī)院檢驗科實驗室生物安全管理手冊
- 七人學(xué)生小品《如此課堂》劇本臺詞手稿
- 公司業(yè)務(wù)運營流程圖(共1頁)
評論
0/150
提交評論