陽江市問政平臺(tái)留言整站優(yōu)化系統(tǒng)廠家
目錄
1.try-catch-finally中的finally的執(zhí)行機(jī)制
2.什么是Exception和Error
3.Throw和Throws的區(qū)別
4.Error與Exception區(qū)別
5.Java中的I/O流是什么,分為幾類
6.I/O與NI/O
7.常用的I/O的類有哪些
8.字符流與字節(jié)流的區(qū)別
9.Java反射創(chuàng)建對(duì)象
10.什么是類的加載過程
1.try-catch-finally中的finally的執(zhí)行機(jī)制
1.finally的執(zhí)行先于try或catch中的return
2.無論是否出現(xiàn)異常,finally仍然會(huì)執(zhí)行
3.finally中一般寫入一定會(huì)執(zhí)行的代碼;如數(shù)據(jù)庫的連接、輸入輸出流、數(shù)據(jù)庫的釋放
2.什么是Exception和Error
1.Java可拋出的結(jié)構(gòu)有三種:編譯時(shí)異常CheckedException、運(yùn)行時(shí)異常RuntimeException、錯(cuò)誤Error
2.編譯時(shí)異常:Exception和除了運(yùn)行異常外的Exception子類都屬于編譯時(shí)異常。Java編輯器會(huì)對(duì)其進(jìn)行檢查,要么使用throws拋出或使用try-catch進(jìn)行處理,否則無法編譯通過。
3.運(yùn)行時(shí)異常:RuntimeException及其子類都被稱為運(yùn)行時(shí)異常。Java編輯器不會(huì)對(duì)其進(jìn)行檢查,是在運(yùn)行時(shí)出現(xiàn)的異常。
4.錯(cuò)誤:Error類及其子類都屬于錯(cuò)誤。和運(yùn)行時(shí)異常一樣,Java編輯器不會(huì)對(duì)其進(jìn)行檢查,當(dāng)資源不足、約束失敗或者程序無法繼續(xù)執(zhí)行的時(shí)候會(huì)產(chǎn)生錯(cuò)誤。
3.Throw和Throws的區(qū)別
1.Throw:手段拋出一個(gè)異常;使用在方法內(nèi)部
2.Throws:處理異常的一種方式;使用在方法的聲明處
4.Error與Exception區(qū)別
1.error表示的是系統(tǒng)錯(cuò)誤,無法使用程序來進(jìn)行處理,比如內(nèi)存溢出。
? ?exception表示的是異常,異常能夠通過程序來進(jìn)行捕捉或者進(jìn)行使用優(yōu)化來避免,即當(dāng)程序運(yùn)行正常時(shí)不會(huì)出現(xiàn)異常情況。
5.Java中的I/O流是什么,分為幾類
1.I/O流用于處理設(shè)備之間的數(shù)據(jù)傳輸,在Java中,數(shù)據(jù)的輸入輸出操作以流(stream)的方式進(jìn)行。
2.流的分類:
按照流的單位不同:字符流、字節(jié)流
按照流的流向不同:輸入流、輸出流
按照流的角色不同:節(jié)點(diǎn)流、處理流
節(jié)點(diǎn)流:直接作用在文件上的流;處理流:包住節(jié)點(diǎn)流的流
6.I/O與NI/O
1.I/O:用于設(shè)置之間的數(shù)據(jù)傳輸,數(shù)據(jù)的輸入輸出以流的方式進(jìn)行,是面向流進(jìn)行的操作。
2.NI/O:1.4版本引入的一套新的I/O的API,數(shù)據(jù)的輸入輸出以塊的方式進(jìn)行,是面向緩沖區(qū)的操作。
NI/O是面向緩沖區(qū)的操作,因此能夠更加高效地進(jìn)行讀寫操作。
7.常用的I/O的類有哪些
抽象基類:InputStream OutputStream Reader Writer
文件流:FileInputStream FileOutputStream FileReader FileWriter
緩沖流:BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter
?
8.字符流與字節(jié)流的區(qū)別
字符流:以字符為單位進(jìn)行輸入輸出數(shù)據(jù),按照兩個(gè)字節(jié)16位傳輸
字節(jié)流:以字節(jié)為單位進(jìn)行輸入輸出數(shù)據(jù),按照8位傳輸
9.Java反射創(chuàng)建對(duì)象
1.Java中可以使用反射進(jìn)行對(duì)象創(chuàng)建
//通過反射:Class類中的newInstance()方法
Class clazz = Person.class;
Person p = (Person) clazz.newInstance();
2.使用反射創(chuàng)建對(duì)象需要先查找類資源,然后使用類加載器創(chuàng)建,過程繁瑣,效率沒有new+構(gòu)造器效率高
10.什么是類的加載過程
????????程序經(jīng)過javac.exe后,會(huì)生成一個(gè)或多個(gè)字節(jié)碼.class文件;然后使用java.exe對(duì)字節(jié)碼文件進(jìn)行解釋運(yùn)行,相當(dāng)于將字節(jié)碼文件加載到內(nèi)存中,這個(gè)過程就叫做類的加載。并且加載到內(nèi)存中的類,就叫做運(yùn)行時(shí)類,也就是Java.lang.Class的一個(gè)實(shí)例。