51、JDBC操作的步驟
52抗斤、在使用jdbc的時候囚企,如何防止出現(xiàn)sql注入的問題?怎么在JDBC內(nèi)調(diào)用一個存儲過程瑞眼?
53龙宏、是否了解連接池,使用連接池有什么好處伤疙?
54银酗、你所了解的數(shù)據(jù)源技術(shù)有那些?使用數(shù)據(jù)源有什么好處徒像?
55黍特、Java的io流分為哪兩種?字節(jié)流與字符流的區(qū)別锯蛀?
56灭衷、final、finalize()旁涤、finally
57翔曲、線程同步的方法
58、如果對象的引用被置為null劈愚,垃圾收集器是否會立即釋放對象占用的內(nèi)存部默?
59、java 創(chuàng)建對象的幾種方式
60造虎、java當中的四種引用
51、JDBC操作的步驟
加載數(shù)據(jù)庫驅(qū)動類
打開數(shù)據(jù)庫連接
執(zhí)行sql語句
處理返回結(jié)果
關(guān)閉資源
52纷闺、在使用jdbc的時候算凿,如何防止出現(xiàn)sql注入的問題份蝴?怎么在JDBC內(nèi)調(diào)用一個存儲過程?
防止注入:使用PreparedStatement類氓轰,而不是使用Statement類
調(diào)用存儲過程:使用CallableStatement
53婚夫、是否了解連接池,使用連接池有什么好處署鸡?
數(shù)據(jù)庫連接是非常消耗資源的案糙,影響到程序的性能指標。
連接池是用來分配靴庆、管理时捌、釋放數(shù)據(jù)庫連接的,可以使應用程序重復使用同一個數(shù)據(jù)庫連接炉抒,而不是每次都創(chuàng)建一個新的數(shù)據(jù)庫連接奢讨。
通過釋放空閑時間較長的數(shù)據(jù)庫連接避免數(shù)據(jù)庫因為創(chuàng)建太多的連接而造成的連接遺漏問題,提高了程序性能焰薄。
54拿诸、你所了解的數(shù)據(jù)源技術(shù)有那些?使用數(shù)據(jù)源有什么好處塞茅?
Dbcp,c3p0等亩码,用的最多還是c3p0,因為c3p0比dbcp更加穩(wěn)定野瘦,安全描沟;通過配置文件的形式來維護數(shù)據(jù)庫信息,而不是通過硬編碼缅刽。
當連接的數(shù)據(jù)庫信息發(fā)生改變時啊掏,不需要再更改程序代碼就實現(xiàn)了數(shù)據(jù)庫信息的更新。
55衰猛、Java的io流分為哪兩種迟蜜?字節(jié)流與字符流的區(qū)別?
按功能來分:輸入流(input)啡省,輸出流(output)
按類型來分:字節(jié)流娜睛,字符流
以字節(jié)為單位輸入輸出數(shù)據(jù),字節(jié)流按照8位傳輸
以字符為單位輸入輸出數(shù)據(jù)卦睹,字符流按照16位傳輸
56畦戒、final、finalize()结序、finally
final | finalize() | finally |
---|---|---|
關(guān)鍵字 | 方法 | 區(qū)塊標志障斋,用于try語句中 |
用于標識常量的關(guān)鍵字,final標識的關(guān)鍵字存儲在常量池中 | finalize()方法在Object中進行了定義,用于在對象“消失”時垃环,由JVM進行調(diào)用用于對對象進行垃圾回收邀层,類似于C++中的析構(gòu)函數(shù);用戶自定義時遂庄,用于釋放對象占用的資源(比如進行I/0操作) | finally{}用于標識代碼塊寥院,與try{}進行配合,不論try中的代碼執(zhí)行完或沒有執(zhí)行完(這里指有異常)涛目,該代碼塊之中的程序必定會進行秸谢; |
57、線程同步的方法
wait():讓線程等待霹肝。將線程存儲到一個線程池中估蹄。
notify():喚醒被等待的線程。通常都喚醒線程池中的第一個阿迈。讓被喚醒的線程處于臨時阻塞狀態(tài)元媚。
notifyAll():喚醒所有的等待線程。將線程池中的所有線程都喚醒苗沧。
58刊棕、如果對象的引用被置為null,垃圾收集器是否會立即釋放對象占用的內(nèi)存待逞?
- 不會甥角,在下一個垃圾回收周期中,這個對象將是可被回收的识樱。
59嗤无、java 創(chuàng)建對象的幾種方式
采用new
通過反射
采用clone
通過序列化機制
前2者都需要顯式地調(diào)用構(gòu)造方法。造成耦合性最高的恰好是第一種怜庸,因此你發(fā)現(xiàn)無論什么框架当犯,只要涉及到解耦必先減少new的使用。
60割疾、java當中的四種引用
強引用嚎卫,軟引用,弱引用宏榕,虛引用拓诸。不同的引用類型主要體現(xiàn)在GC上:
強引用:如果一個對象具有強引用,它就不會被垃圾回收器回收麻昼。即使當前內(nèi)存空間不足奠支,JVM也不會回收它,而是拋出 OutOfMemoryError 錯誤抚芦,使程序異常終止倍谜。如果想中斷強引用和某個對象之間的關(guān)聯(lián)迈螟,可以顯式地將引用賦值為null,這樣一來的話尔崔,JVM在合適的時間就會回收該對象井联。
軟引用:在使用軟引用時忘蟹,如果內(nèi)存的空間足夠沦泌,軟引用就能繼續(xù)被使用帕胆,而不會被垃圾回收器回收,只有在內(nèi)存不足時鹤盒,軟引用才會被垃圾回收器回收。
弱引用:具有弱引用的對象擁有的生命周期更短暫侦副。因為當 JVM 進行垃圾回收侦锯,一旦發(fā)現(xiàn)弱引用對象,無論當前內(nèi)存空間是否充足秦驯,都會將弱引用回收尺碰。不過由于垃圾回收器是一個優(yōu)先級較低的線程,所以并不一定能迅速發(fā)現(xiàn)弱引用對象译隘。
虛引用:顧名思義亲桥,就是形同虛設,如果一個對象僅持有虛引用固耘,那么它相當于沒有引用题篷,在任何時候都可能被垃圾回收器回收