原创 五種IO模型透徹分析

1. 基礎 在引入IO模型前,必須得對某一段數據的整個”經歷”做一番解釋。如圖:   當某個程序或已存在的進程/線程(後文將不加區分的只認爲是進程)需要某段數據時,它只能在用戶空間中屬於它自己的內存中訪問、修改,這段內存暫且稱之爲app

原创 程序是怎樣跑起來的--二進制基礎運算

一、什麼是二進制數  爲了更清晰地說明二進制數的機制,首先讓我們把00100111這個二進制數值轉換成十進制數值來看一下。二進制數的值轉換成十進制數的值,只需將二進制數的各數位的值和位權相乘,然後將相乘的結果相加即可。 首先,讓我們從位

原创 擴展Ribbon支持基於元數據的版本管理

一個微服務在線上可能多版本共存,例如: 服務提供者有兩個版本:v1、v2 服務消費者也有兩個版本:v1、v2 v1/v2是不兼容的。 1、服務消費者v1只能調用服務提供者v1;消費者v2只能調用提供者v2。 2、優先調用同集羣下的實例。

原创 Springboot2.x+mybatis多數據源(MySQL+Oracle)集成

  背景:最近項目需求需要同時查詢MySQL和Oracle的數據,項目已經上線,總結一下,以備後續查看(該文檔並不是完整的項目)。 項目基於gradle管理的標準的Web MVC架構: build.gradle group 'com.d

原创 mybatisplus逆向工程記錄

mybatisplus確實是非常實用,在創建項目是節省很多重複工作,下面記錄一下。 1.新建maven或者gradle工程 2.添加相關依賴 <?xml version="1.0" encoding="UTF-8"?> <projec

原创 IDEA快捷鍵使用記錄

ctrl+alt+h和alt+f7:查看方法調用層級 Ctrl + F12 :查看所有方法

原创 Javaagent入門介紹

Javaagent是一個簡單優雅的java agent,利用java自帶的instrument特性+javassist字節碼編輯技術,實現了無侵入的方法級性能監控。 創建agent。作爲agent的jar包必須有兩個要求。 一、必須實現p

原创 Java項目查找資源文件搜索路徑原理簡析

一、在用eclipse構建的項目中,根目錄下會有.classpath文件中指定classpath路徑。   說明:kind="src"所指的路徑就是classpath路徑。   二、在用idea構建項目中,會在根目錄下的.idea/mo

原创 ACID

      在計算機科學中,ACID(原子性、一致性、隔離性、持久性)是數據庫事務的一組屬性,目的是在發生錯誤、斷電等情況下保證有效性。在數據庫上下文中,滿足ACID屬性的數據庫操作序列(可以將其視爲數據上的單個邏輯操作)稱爲事務。例如,

原创 JNDI怎麼理解

原文鏈接:https://www.cnblogs.com/study-everyday/p/6723313.html JNDI 是什麼 JNDI是 Java 命名與目錄接口(Java Namin

原创 ambari集成第三方應用

背景:最近遇到一個需求,公司運維人員可以通過ambari界面addservice按鈕添加、啓動、停止我們公司的系統,就花時間研究了一下ambari的集成。 步驟:萬事皆套路,ambari集成也同樣,一是告訴ambari我加添加什麼服務,二

原创 自定義ClassLoader加載mysql驅動

背景:最近在研究自定義類加載器ClassLoader加載自定義目錄的jar時,當加載mysql驅動時總是報ClassNotFoundException。 原因:當DriverManager加載驅動時只承認當前系統的加載器加載的jar,自定

原创 MR中的iterator與ArrayList的iterator區別以及用法

背景:最近在寫MR程序時遇到一個奇怪的問題,利用iterator迭代器遍歷數據添加到List中時,保存在List中的元素都是最後遍歷的數據。 原因:因爲MR中的iterator.next()方法返回的是數據的引用,每次向List中添加都是

原创 IDEA中使用Spark SQL查詢Hive

1、使用Maven搭建項目環境,添加Maven依賴 <properties> <scala.version>2.11.8</scala.version> <spark.version>2.3.1</spark.versi

原创 基於kafka1.1.1版本流處理代碼以及演示

Kafka Stream定位是輕量級的流計算類庫,所有功能放在Lib中實現,實現的程序不依賴單獨執行環境。 一、測試環境搭建 1、下載kafka_2.11-1.1.1.tgz包解壓後修改config目錄下server.properties