原创 JVM理解(一):JVM概述

JVM概述 什麼是JVM JRE(JavaRuntimeEnvironment,Java運行環境),也就是Java平臺。所有的Java 程序都要在JRE下才能運行。 JDK(Java Development Kit)是程序開發者用來來編

原创 spring boot2配置Prometheus

spring boot2配置Prometheus&Grafana micrometer micrometer簡介 Springboot2在spring-boot-actuator中引入了micrometer,對1.x的metrics進行了

原创 netty總結

IO網絡相關 I/0 操作 主要分成兩部分 ① 數據準備,將數據加載到內核緩存 ② 將內核緩存中的數據加載到用戶緩存 I/O的四種模型 Synchronous blocking I/O    Synchronous non-blocki

原创 線程和併發(二)lock鎖相關

concurrent包概述   concurrent包結構 concurrent包類圖結構 concurrent包綜述 綜述: 在整個併發包設計上,Doug Lea大師採用了3.1 Concurrent包整體架構的三層結構 補充: 併

原创 線程和併發(三)阻塞隊列和線程池

concurrent之atomic相關 概述 java.util.concurrent.atomic原子操作類包裏面提供了一組原子變量類。其基本的特性就是在多線程環境下,當有多個線程同時執行這些類的實例包含的方法時,具有排他性,即當某個線

原创 rabbitmq簡介

基礎簡介 基本概念 AMQP AMQP,即Advanced Message Queuing Protocol,高級消息隊列協議,是應用層協議的一個開放標準,爲面向消息的中間件設計。消息中間件主要用於組件之間的解耦,消息的發送者無需知道消息

原创 zookeeper總結

ZK簡介 zk背景 zookeeper實際上是yahoo開發的,用於分佈式中一致性處理的框架。最初其作爲研發Hadoop時的副產品。由於分佈式系統中一致性處理較爲困難,其他的分佈式系統沒有必要費勁重複造輪子,故隨後的分佈式系統中大量應用了

原创 Linux基礎(一)

Linux基礎 用戶模式和內核模式 MS-DOS等操作系統在單一的CPU模式下運行,但是一些類Unix的操作系統則使用了雙模式,可以有效地實現時間共享。在Linux機器上,CPU要麼處於受信任的內核模式,要麼處於受限制的用戶模式。除了內核

原创 java基礎(二)

反射 反射的原理 基本原理 java的反射(java.lang.reflect)其實就是爲了解決java自身作爲靜態語言的不足之處,它允許用戶在運行時期動態的生成對象並且訪問對象的成員,因爲作爲java語言本身而言通常情況下是在代碼進行編

原创 java 基礎(一)

java語法 抽象類和接口的區別 抽象類和接口的對比  什麼時候使用抽象類或接口 如果你擁有一些方法並且想讓它們中的一些有默認實現,那麼使用抽象類吧。 如果你想實現多重繼承,那麼你必須使用接口。由於Java不支持多繼承,子類不能夠繼承多

原创 分佈式事務

分佈式事務相關概念 背景 一般來說,數據庫事務正確執行的四個基本要素的縮寫(ACID): 原子性(Autmic):一個原子事務要麼完整執行,要麼乾脆不執行。也就是說,工作單元中的每項任務都必須正確執行,如果有任一任務執行失敗,則整個事務就

原创 Spring總結

基礎概述 概述 Spring是一個輕量級的Java開源框架,是爲了簡化企業級系統開發而誕生的。Spring的核心是控制反轉(IOC)和麪向切面編程(AOP)。主要有以下幾個特點: 輕量:從大小和開銷兩方面而言Spring都是輕量的 控制反

原创 線程和併發(一)

線程基礎知識 線程基本概念 進程 進程是資源(CPU、內存等)分配的基本單位,它是程序執行時的一個實例。程序運行時系統就會創建一個進程,併爲它分配資源,然後把該進程放入進程就緒隊列,進程調度器選中它的時候就會爲它分配CPU時間,程序開始真

原创 JVM理解(三)類加載

類加載過程 我們把Java的類加載過程分爲三個主要步驟:加載、鏈接、初始化。鏈接階段又包括驗證、準備、解析三個過程。 上圖中,加載、驗證、準備、初始化、卸載這個5個階段的順序是確定的,類的加載過程必須按照這種順序按部就班的開始,而解析階

原创 JVM理解(二):垃圾回收

目錄 堆內存結構 堆內部結構 新生代 老年代 永久代 總結 堆外內存 分層編譯(-XX:+TieredCompilation) OOM 垃圾回收 四種引用類型 強引用 軟引用 弱引用 幻象引用(虛引用) 判定對象是否存活的方法 引用計數算