原创 lombak引發的對equals和hashcode方法理解

覆蓋 equals 時請遵守通用約定: 自反性(reflexive)。對於任何非 null 的引用值 x,x.equals(x) 必須返回 true。 對稱性(symmetric)。對於任何非 null 的引用值 x 和 y,當且僅當 y

原创 仰望星空 腳踏實地

  1.認真完成工作 2.中間件選擇性重點學習深入 4.Docker和K8S瞭解學習 3.技術棧回頭自己出一個

原创 Java - 項目路徑問題淺析

遇到的一個Java項目路徑問題 文件位置: 天真的以爲直接用相對路徑就可以獲取文件: File file = new File( "src/main/resources/test.xlsx"); Fil

原创 Hive - 基礎入門

關於Hive 官方定義:The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residin

原创 分佈式理論 - 數據分佈的方式

數據分佈方式          所謂分佈式系統顧名思義就是利用多臺計算機協同解決單臺計算機所不能解決的計算、存儲等問題。單機系統與分佈式系統的最大的區別在於問題的規模,即計算、存儲的數據量的區別。將一個單機問題使用分佈式解決,首先要解決的

原创 分佈式服務理論 - 服務中可能出現的網絡異常

   網絡異常       分佈式服務節點間通過不可靠的網絡進行通信,可能出現以下幾種異常。 消息丟失  消息丟失是最常見的網絡異常。對於常見的 IP 網絡來說,網絡層不保證數據報文(IP fragment)的可靠傳遞,在發生網絡擁塞

原创 Java - 高效解析Execl

這裏的場景是將execl放在項目下,啓動項目時對其解析,加載到內存中使用。 pom: <dependency> <groupId>com.monitorjbl</groupId>

原创 Java - 函數式編程(2):常用的流操作

流操作: 即stream接口針對於集合類提供的操作。集合類.stream()集合獲取到stream(流),隨之進行自己想要的操作。 filter():按照一定條件過濾集合的元素 。 list.stream().filter(x ->

原创 Druid - 源碼分析與學習

找BUG時不得不接觸到Druid源碼。單看源碼還是很吃力,結合下面的文章努力理解一些。 原文:https://blog.csdn.net/herriman/article/details/51759479

原创 Druid - 源碼淺析(1) - 初始化

實現類DruidDataSource:      一些重要變量:         private volatile DruidConnectionHolder[] connections;  //存連接的數組,不一定會滿      

原创 Druid - 源碼淺析(2) 獲取連接

獲取連接     getConnection(); public DruidPooledConnection getConnection() throws SQLException { return getConnec

原创 Druid - SpringBoot配置數據庫連接池druid

關於Druid     DRUID是阿里巴巴開源平臺上一個數據庫連接池實現,它結合了C3P0、DBCP、PROXOOL等DB池的優點,同時加入了日誌監控,可以很好的監控DB池連接和SQL的執行情況,可以說是針對監控而生的DB連接池,是

原创 Spring - yml配置文件錯讀數字字符串

項目中碰到一個詭異問題,yml文件中配置了一個值爲字符串的屬性,用@Value注入時確發現不對應,出現了全項目中都找不到的值。研究了半天才發現,yml會把0開頭的數字作爲8進制對待,注入時轉化爲十進制注入。 datasource

原创 java - 中轉上傳文件

遇到一個問題,我們的服務只做代理功能,有時候需要轉發文件,又不能把文件先保存下來後再讀取文件上傳到第三方服務器,這時候就要直接發送流文件。 restTemplate(親測有效,很費勁才找到的): class MultipartInp

原创 Java - 使用RestTemplate代理Http請求

使用RestTemplate代理Http請求(請求方式不限),下面對POST請求的Body進行了封裝。 HttpEntity:請求實體。 封裝Body還可以用MultiValueMap。 public ResponseEntity<b