切換語言為:簡體

提升程式碼除錯技巧:從思維到實踐

摘要除錯是軟件開發中的關鍵部分,它不僅幫助開發者找到程式碼中的錯誤,還能提高程式碼質量和開發效率。本文將從除錯工具的使用、錯誤資訊的解讀、問題定位以及如何培養高效的除錯思維等方面,系統地介紹提升除錯技巧的方法,並透過實際案例展示除錯過...

可靠性、可用性以及可維護性的區別?

我們生活在一個可靠性的時代,使用者依賴於對服務的一致訪問。在相互競爭的服務之間進行選擇時,對使用者來說,沒有比可靠性更重要的特性了。但是可靠性是什麼意思呢?爲了回答這個問題,我們將根據可靠性工程中的其他度量來分解可靠性:可用性和可維護...

Kafka中的key有的作用

我們在使用 Kafka 時,最簡單、最常用的方式是隻設定 topic(主題)和 value(訊息體),如下所示: 這樣的話獲取訊息的程式碼也很簡單,如下所示:java程式碼解讀複製程式碼@KafkaListener(topics ...

SPI跟API對比著瞭解更容易懂!

SPI跟API對比著瞭解更容易懂!

前言在討論什麼是SPI前,先回憶一下什麼是API什麼是API?當實現方提供了介面和實現,我們可以透過呼叫實現方的介面從而擁有實現方給我們提供的能力,這就是 API。這種情況下,介面和實現都是放在實現方的包中。呼叫方透過介面呼叫實現方的...

分享一款能夠生成 Markdown 表格的 B...

今天分享一個很實用的 bash 指令碼,可以透過手動提供單元格內容和列數或者將帶有分隔符的檔案(如 CSV、TSV 檔案)轉換為 Markdown 表格。原始碼在文末哦!原文連結:josh.fail/2022/pure-b…具體功能:...

如何開發一款自己的IntelliJ IDEA外掛

IntelliJ IDEA是JetBrains旗下的一款功能強大的Java整合開發環境(IDE),以其強大的外掛支援和靈活的定製功能著稱。透過開發外掛,開發者能夠為IDEA增加定製功能,提升生產力,並滿足團隊特定的需求。本指南將帶你深...

深入分析與解決方案:快取與資料庫雙寫不一致問題

key重建最佳化開發人員通常使用“快取+過期時間”的策略,以便既能加速資料讀寫,又能確保資料的定期更新。這種模式基本上能夠滿足絕大部分需求。然而,當以下兩個問題同時出現時,可能會對應用系統造成嚴重的影響:熱點 key 的出現:當前的 ...

高版本gradle整合aspectj

之前低版本gradle整合aspectj可以成功,但是最近用gradle7.3以上去整合時一直報錯,提示找不到外掛。嘗試了很久,最終找到了解決方案,這裏記錄下。由於android-aspectj 原作者不維護了,現在高版本的支援外掛是...

40億訂單號,如何高效去重?

40億訂單號,如何高效去重?

前言首先我們來看看如果要儲存40億QQ號需要多少記憶體?我們使用無符號整數儲存,一個整數需要4個位元組,那麼40億需要4*4000000000/1024/1024/1024≈15G,在業務中我們往往需要更多的空間。而且在Java中並不...

學會使用 Lombok 讓你的程式碼身輕如燕

學會使用 Lombok 讓你的程式碼身輕如燕

今天讓我們探討一下如何利用 Lombok 工具來提升 Java 開發中的效率。提到 Java,很多人的第一反應就是臃腫,這主要是因為在日常程式設計中,我們不得不編寫許多重複的程式碼,例如對類的屬性寫的 Setter、Getter 方法...