原创 Java中的四種引用類型之強引用、軟引用、弱引用和虛引用

Java中有一個java.lang.ref.*包,該包提供了引用對象類,支持在某種程度上與垃圾回收器之間的交互(通過引用對象類判斷對象被垃圾回收器處理的狀態)。   引用的抽象接口:java.lang.ref.Reference Refe

原创 什麼是try-with-resources?

之前有博客說過IO流關閉工具類,即IOCloseUtil,可即便用了工具類,大多時候,我們關閉流釋放資源的時候,還是要採取try-catch-finally的方式,比如像這種: public void readTxt() { Fil

原创 Java中war包項目生產中應該如何變更?

因爲一個新來的小夥伴參與的一個項目,在我不知情的情況下上線了,他的上線方式非常粗暴,開發調試好以後,直接打了一個war包丟上去,結果導致項目不可用了,前面兩天,我都在調試這個項目,所以我覺得有必要說一下,針對這種Web項目的變更,應該採取

原创 Java中如何理解可重入鎖的概念?爲什麼ReentrantLock不手動釋放鎖會造成死鎖?

之前有文章說過,synchronized和ReenTrantLock都是可重入鎖,那麼什麼是可重入鎖? 可重入鎖從字面意思就比較容易理解,自己獲取了鎖以後,可以再次獲取該鎖(重入)就叫可重入鎖,同一個線程每次獲取鎖,鎖計數器都自增1,所以

原创 如何理解Java中的公平鎖和非公平鎖?

從字面意思理解,其實灰常簡單,公平就是大家買票都排隊,不公平就是有人開了超級VIP,插隊了。所以在多線程中,就存在公平鎖和非公平鎖,如何理解呢? 公平鎖:多個線程按照申請鎖的順序去獲得鎖,所有線程都在隊列裏排隊,這樣就保證了隊列中的第一個

原创 雙重檢驗鎖方式實現單例模式的原理是什麼?

單例模式大概是Java編程中最常用的設計模式之一了,之前也有文章說過什麼是單例模式,鏈接如下: https://blog.csdn.net/weixin_39309402/article/details/98126883 雖然這篇文章中也

原创 synchronized和ReenTrantLock有什麼區別和聯繫?

synchronized是Java內建的同步機制,它提供了互斥的語義和可見性,當一個線程已經獲取當前的鎖時,其他試圖獲取的線程只能等待或者阻塞在那裏。ReentrantLock和synchronized類似,都是可重入鎖,但是Reentr

原创 多線程中如何解決資源爭搶的問題(synchronized關鍵字)?

說到解決多線程中資源爭搶的問題,大多數第一個想到的關鍵字就是synchronized,它能夠保證多個線程之間資源訪問的同步性(即它修飾的方法或者代碼塊在任意時刻只能有一個線程執行)。 /** * 一個座位一個人 兩個電影窗口賣票 不加

原创 無論什麼外包公司,大部分人都待不過3年

之前有一篇文章說過,爲什麼不建議去外包公司,結果博主收到了很多小夥伴的私信,其中有一個小夥伴問了一個很有意思的問題:爲什麼你建議年輕人不要去外包,自己還待在外包公司呢?那麼,針對這個問題,今天我就詳細地說說,爲什麼樓主不建議去外包?雖然樓

原创 說出來你可能不信:你們肯定從未見過如此垃圾的接口

某個小夥伴離職了,領導安排我接手了一個不動產抵押登記的項目(主要就是項目維護啦),這個項目的情況是這樣的: 業務人員錄件(頁面進行抵押信息登記),然後調用掃描儀上傳掃描件(房產證之類的信息),做完這些操作以後,就調用不動產提供的接口1,進

原创 犯了一個低級錯誤:忽略console.log()在IE下不兼容的問題

在開發電子化的新功能的過程中,我犯了一個很低級的問題,在開發者模式下,無論是IE瀏覽器,還是谷歌瀏覽器,其實對console.log()都是支持的,所以個人調試無誤以後,就部署了測試環境,讓另外一個老師進行測試,收到他的測試報告以後我就對

原创 什麼是數據庫方言?爲什麼要配置數據庫方言?

好久沒更新博客了,這段時間都在寫P8文檔,主要就是開發手冊和指南之類的。上週剛剛寫完,其中一個小夥伴看了這個文檔,問了一個很有意思的問題,我覺得有必要拿出來說一下。他問什麼是數據庫方言? 說這個問題之前,簡單介紹一下P8,P8是總行鍼對