原创 Java JVM 知識點整理

文章目錄1. 內存模型1.1 程序計數器1.2 虛擬機棧1.3 本地方法棧1.4 堆1.5 方法區1.6 直接內存2. 類加載器3. 類加載過程4. 對象的創建過程5. 對象訪問定位6. 對象存活6.1 引用計數法6.2 可達性分

原创 SpringMVC 統一異常處理JSON返回

文章目錄1. 自定義異常類2. 統一異常處理 1. 自定義異常類 定義接口 public interface Error { Integer getCode(); String getMessage(); } 先

原创 Zookeeper 單機及集羣安裝

文章目錄1. 下載2. 安裝2.1 單機2.2 集羣 Zookeeper 3.6.1 1. 下載 官網下載 2. 安裝 2.1 單機 默認conf下面有一個zoo_sample.cfg的配置文件,也可自己創建。 在conf下創

原创 Kafka Java客戶端使用

文章目錄1. 常用配置2. kafka-clients2.1 生產者2.2 消費者2.3 多線程3. spring-kafka 1. 常用配置 生產者 配置 描述 類型 默認值 bootstrap.servers 用

原创 Redis 底層數據結構及在類型中的使用

文章目錄1. 底層數據結構1.1 簡單動態字符串(sds)1.2 字典1.3 跳躍表(SkipList)1.4 整數集合1.5壓縮列表(ZipList)2. 在類型中的使用2.1 string2.2 list2.3 hash2.4

原创 Java 集合 知識點整理

文章目錄1. List Set Map2. List2.1 Arraylist 與 LinkedList2.2 線程安全的List3. Set3.1 HashSet如何檢查重複4. Map4.1 HashMap的底層實現4.2 H

原创 Java JVM 調優

文章目錄1. 工具2. 優化 1. 工具 jps:查看本機java進程信息。 jstack:打印線程的棧信息,製作線程dump文件。 jmap:打印內存映射,製作堆dump文件 jstat:性能監控工具 jhat:內存分析工具

原创 Jetty 嵌入使用

文章目錄1. 簡介2. 簡單使用3. 嵌入 web 應用(WebAppContext)3.1 hello-war3.2 jetty-server 1. 簡介 Jetty 提供了一個Web服務器和javax.servlet容器,以及

原创 Prometheus + Grafana 安裝使用

文章目錄1. Prometheus2. Grafana 1. Prometheus 官網下載 這裏使用Docker安裝 創建prometheus.yml文件 # 全局配置,單獨配置會覆蓋 global: # 多久收集一次數據

原创 Spring SpringMVC 知識點整理

文章目錄1. Spring1.1 IOC1.2 AOP1.3 bean1.4 事務1.5 循環依賴1.6 Spring用到了哪些設計模式?2. SpringMVC2.1 SpringMVC 流程 1. Spring Spring

原创 Elasticsearch 安裝與使用

文章目錄1. 簡介2. 主要概念2.1 Node 與 Cluster2.2 Index2.3 Document2.4 Type2.5 Shard2.6 Replica2.7 與數據庫概念對比3. 安裝4. 配置5. 安裝 Kiba

原创 Java Socket 使用

使用Socket進行網絡編程時,本質上就是兩個進程之間的網絡通信。 其中一個進程必須充當服務器端,它會主動監聽某個指定的端口;另一個進程必須充當客戶端,它必須主動連接服務器的IP地址和指定端口,如果連接成功,服務器端和客戶端就成功

原创 Java javaagent 使用

文章目錄1. 使用1.1 JVM啓動前靜態 Instrument1.2 JVM啓動後動態 Instrument 在 Java SE 5 以後,使用 Instrumentation,使得開發者可以構建一個獨立於應用程序的代理程序(A

原创 Java JMX 使用

文章目錄1. 基本概念2. 架構3. Standard MBean 使用4. Notification JMX(Java Management Extensions,Java管理擴展)是一個爲應用程序植入管理功能的框架。JMX是一

原创 Java RMI 使用

文章目錄1. Java RMI2. 使用步驟3. 存根和骨幹網通信過程4. 使用 Naming 實現 RMI5. 優缺點 1. Java RMI Java RMI(Java Remote Method Invocation),即J