原创 Netty 與 RPC(貳)

Netty RPC 實現 概念 RPC,即 Remote Procedure Call(遠程過程調用),調用遠程計算機上的服務,就像調用本地服務一樣。RPC 可以很好的解耦系統,如 WebService 就是一種基於 Http 協議的

原创 Netty 與 RPC(壹)

Netty 原理 Netty 是一個高性能、異步事件驅動的 NIO 框架,基於 JAVA NIO 提供的 API 實現。它提供了對TCP、UDP 和文件傳輸的支持,作爲一個異步 NIO 框架,Netty 的所有 IO 操作都是異步非阻塞

原创 RabbitMQ工作原理分析

RabbitMQ概念 RabbitMQ 是一個由 Erlang 語言開發的 AMQP 的開源實現。 AMQP :Advanced Message Queue,高級消息隊列協議。它是應用層協議的一個開放標準,爲面向消息的中間件設計,基於此

原创 RestTemplate調用第三方接口實現數據傳輸

1、封裝工具類 @Component @Slf4j public class RestTemplateUtil{ @Value("${cebcs_get_token_url}") private String cbec

原创 MYSQL insert嵌套select的使用

假設現有兩張表,表a,表b 表a: 表b: 現有這樣的需求,根據表a中的hscode值與表b中的item_code值對比,將表b在表a中不存在的數據刪除掉。 實現方法: 1、首先創建一張表b的臨時表,假設爲b_temporar

原创 在Excel中拼接sql語句

在實際業務中,我們經常會接到產品這樣的需求: 給你一個Excel,將Excel中的數據初始化到數據庫中 Excel類似下面的截圖: 這時,開發就要想,怎麼將數據導入到數據庫中了 1、寫個導入功能?(需要寫代碼,還要讓測試再測一遍

原创 前後端分離開發,日誌應該如何進行記錄,在出現問題的時候,方便定位問題?

首先,瞭解下日誌有哪些級別 等級由低到高:DEBUG < INFO < WARN < ERROR < FATAL 常用的日誌記錄方式可以通過 log4j.xml ,log4j.properties 配置生成日誌文件到指定文件。同時可以配置

原创 SpringBoot異常的設計的原理

1,SpringBoot 中是BasicErrorController的基類來是實現錯誤的。 @Controller @RequestMapping("KaTeX parse error: Expected '}', got 'EOF'

原创 JAVA虛擬機(JVM)--叄

JVM 運行時內存 Java 堆從 GC 的角度還可以細分爲: 新生代(Eden 區、From Survivor 區和 To Survivor 區)和老年代。     新生代 是用來存放新生的對象。一般佔據堆的 1/3 空間。由

原创 JAVA虛擬機(JVM)--肆

垃圾回收與算法 如何確定垃圾 1、引用計數法 在 Java 中,引用和對象是有關聯的。如果要操作對象則必須用引用進行。因此,很顯然一個簡單的辦法是通過引用計數來判斷一個對象是否可以回收。簡單說,即一個對象如果沒有任何與之關聯的引用,即

原创 JAVA虛擬機(JVM)--伍(四種引用)

JAVA 四中引用類型   1、強引用(StrongReference) 在 Java 中最常見的就是強引用,把一個對象賦給一個引用變量,這個引用變量就是一個強引用。當一個對象被強引用變量引用時,它處於可達狀態,它是不可能被垃圾回收機制

原创 JAVA虛擬機(JVM)--貳

JVM內存區域 JVM 內存區域主要分爲線程私有區域【程序計數器、虛擬機棧、本地方法區】、線程共享區域【JAVA 堆、方法區】、直接內存。 線程私有數據區域生命週期與線程相同, 依賴用戶線程的啓動/結束 而創建/銷燬(在 Hotspo

原创 白話之Zookeeper

Zookeeper 是一個分佈式協調服務,可用於服務發現,分佈式鎖,分佈式領導選舉,配置管理等。Zookeeper 提供了一個類似於 Linux 文件系統的樹形結構(可認爲是輕量級的內存文件系統,但只適合存少量信息,完全不適合存儲大量文件

原创 微服務(配置中心、事件調度、服務跟蹤、服務熔斷、API管理)

1、配置中心 配置中心一般用作系統的參數配置,它需要滿足如下幾個要求:高效獲取、實時感知、分佈式訪問。   zookeeper 配置中心 實現的架構圖如下所示,採取數據加載到內存方式解決高效獲取的問題,藉助 zookeeper 的節

原创 JAVA虛擬機(JVM)-- 壹

JVM 是可運行 Java 代碼的假想計算機 ,包括一套字節碼指令集、一組寄存器、一個棧、一個垃圾回收,堆 和 一個存儲方法域。JVM 是運行在操作系統之上的,它與硬件沒有直接的交互。 我們都知道 Java 源文件,通過編譯器,能夠