原创 Java模擬FTP客戶端登錄阿里雲輕量服務器連接超時:解決方案

Java模擬FTP客戶端登錄阿里雲輕量服務器 報錯:java.net.ConnectException: Connection timed out 分析原因是由於ftpClient.enterLocalPassiveMode()

原创 顏色遷移——圖片校正

Color Balance 變化檢測之光照魯棒性 傳統變化檢測——即圖像差值法 在複雜的自然場景下,無法抑制光照對多時相圖造成的影響。爲了 能準確的獲得有效的變換區域。我將大致的介紹一下顏色平衡算法,並進行算法實現 Color B

原创 分佈式一致性原理與實踐(1)

分佈式一致性原理與實踐分佈式概要 分佈式概要 系統對分佈式的需求: 火車站的售票系統:既要快速地響應客戶,同時還要保證系統的數據對於任何客戶端都是真實可靠的 銀行轉賬系統:需要保證客戶絕對可靠的數據安全,可以存在延時。但是最終的

原创 ZooKeeper概要

初識ZookeeperZookeeper介紹ZooKeeper的基本概念Zab算法 Zookeeper介紹 Zookeeper是一個典型的分佈式數據一致性的解決方案,分佈式應用程序可以基於它實現數據發佈/訂閱、負載均衡、命名服務、

原创 Docker網絡模式

Docker網絡模式實現原理四類網絡模式*bridge模式*多機覆蓋網絡*Ingress 網絡*覆蓋網絡 轉 Docker網絡模式 實現原理 Docker使用Linux橋接,在宿主機虛擬一個Docker容器網橋(docker0),

原创 Mysql Innodb技術內幕(1)

Mysql Innodb技術內幕(1) 同步機制 InnoDB存儲引擎並沒有使用操作吸引自帶的mutex和rw-lock,而是自己進行了封裝。並通過Spin(自旋) 以及 wait arry(等待隊列)的設計來提高性能 Inno

原创 InooDB——鎖內幕

InooDB——鎖內幕 InnoDB存儲引擎默認的支持隔離級別是REPEATABLE READ,但是與標準SQL不同的是,InnoDB存儲引擎在REPEATABLE READ事務隔離級別下,使用Next-Key Lock鎖算法,因

原创 ZooKeeper一次會話的創建過程

ZooKeeper一次會話的創建過程初始化階段會話創建階段響應處理階段 初始化階段 private final ZKWatchManager watchManager = new ZKWatchManager();

原创 進程、線程與處理器的調度(轉)

原文鏈接:進程、線程與處理器的調度 (1)進程的概念(Dijkstra) 進程是可併發執行的程序在某個數據集合上的一次計算活動,也是操作系統進行資源分配和調度的基本單位。 (2)進程與程序的聯繫與區別 ① 程序是指令的有序集合,其本身沒有

原创 ConcurrentHashMap源碼分析

ConcurrentHashMap源碼分析CourrentHashMap如何實現線程安全? 相比HashTable?底層數據結構源碼分析 CourrentHashMap如何實現線程安全? 相比HashTable? Courren

原创 Spring XML Bean常用標識符

Spring XML Bean常用標識符Bean的scope 如果只是使用了property進行依賴注入的話,需要確保對象提供了默認的構造方法。 <bean id="classA" class="com.spring.ci

原创 分佈式一致性原理與實踐之一致性協議

分佈式一致性原理與實踐一致性協議2pc3pc 一致性協議 2pc 2pc——Two-Phase Commit,二階段提交。 階段一:提交事務請求 協調者組織各參與者對一次事務操作的投票表態 階段二:執行事務請求 協調者會根據各參

原创 Java線程池源碼分析

Java線程池的架構 Executor (接口)-> ExecutorService (接口)-> AbstractExecutorService (抽 象類) -> ThreadPoolExecutor (重點關注類) 其中

原创 Java併發關鍵字synchronized——優化

synchronized的實現原理與應用 synchronized實現同步的基礎:Java中的每個對象都可以作爲鎖。具體表現爲以下三種方式 1.對於普通的同步方法,鎖的是當前實例對象 2.對於靜態的同步方法,鎖是當前類的Class

原创 ReentranReadWriteLock源碼分析

ReentranReadWriteLock源碼分析構造函數Sync類寫鎖的獲取與釋放(core) 【相對讀鎖簡單】讀鎖的獲取與釋放(core) 構造函數 public ReentrantReadWriteLock() {