java連接數(shù)據(jù)庫的代碼 java什么時候該寫.close()釋放資源,不寫可以嗎?
java什么時候該寫.close()釋放資源,不寫可以嗎?雖然Java有自動內(nèi)存恢復(fù)機制,但如果是數(shù)據(jù)庫連接、網(wǎng)絡(luò)連接、文件操作等,不關(guān)閉不會被回收,這是不正確的代碼。換句話說,如果有close方法,
java什么時候該寫.close()釋放資源,不寫可以嗎?
雖然Java有自動內(nèi)存恢復(fù)機制,但如果是數(shù)據(jù)庫連接、網(wǎng)絡(luò)連接、文件操作等,不關(guān)閉不會被回收,這是不正確的代碼。
換句話說,如果有close方法,您必須自己調(diào)用它。
垃圾回收機制僅在Java虛擬機控制的范圍內(nèi)釋放資源。
對于數(shù)據(jù)庫連接、套接字、文件操作等
如果有close方法,請在完成任務(wù)后執(zhí)行
最好在finally塊中關(guān)閉,因為即使有異常,也可以調(diào)用這些代碼。
對于已用對象,Java不建議使用類似于C的析構(gòu)函數(shù)來釋放內(nèi)存(在C中刪除new之后的內(nèi)容,并在Java中設(shè)置為null new之后的內(nèi)容),因為GC將調(diào)整最合適的時間來釋放內(nèi)存。在程序中濫用delete將降低Java程序的性能(但不應(yīng)導(dǎo)致額外的錯誤)。
Java常用,的數(shù)據(jù)庫有哪些?
Java可以實現(xiàn)與大多數(shù)主流數(shù)據(jù)庫的連接和操作。
大多數(shù)日常企業(yè)開發(fā)都使用開源數(shù)據(jù)庫。
1)MySQL數(shù)據(jù)庫是目前應(yīng)用最廣泛、最好的免費開源數(shù)據(jù)庫
2)MariaDB數(shù)據(jù)庫是MySQL的一個分支,與MySQL保持著高度的兼容性,保證了數(shù)據(jù)庫二進制奇偶校驗的直接替換功能,以及與MySQL的兼容性3)PostgreSQL數(shù)據(jù)庫采用了經(jīng)典的C/S(client/server)結(jié)構(gòu),即一個客戶端對應(yīng)一個服務(wù)器端守護程序模式。PostgreSQL有一個完美的驅(qū)動程序,并支持標(biāo)準(zhǔn)的ansi sql和擴展函數(shù)
其他高薪產(chǎn)品,如Oracle和sql server。