原创 linux 文件系統與磁盤

總結 文件系統(1)磁道(2)扇區:一個磁道上分多個扇區,目前有 512bytes 和 4k 兩種格式(3)分區:把多個扇區組合 做分區,每種分區類型下的分區表決定最大支持的磁盤容量,如MBR,GPT分區(4)文件系統:對每個分區格式化成

原创 Java分佈式鎖的幾種實現

什麼是鎖? 在單進程的系統中,當存在多個線程可以同時改變某個變量(可變共享變量)時,就需要對變量或代碼塊做同步,使其在修改這種變量時能夠線性執行消除併發修改變量。 而同步的本質是通過鎖來實現的。爲了實現多個線程在一個時刻同一個代碼塊只能有

原创 mysql隔離級別與mvcc 關係的理解

MVCC(Mutil-Version Concurrency Control),就是多版本併發控制。MVCC 是一種併發控制的方法,一般在數據庫管理系統中,實現對數據庫的併發訪問。 主要通過以下兩個方式組合 來實現隔離級別的 版本鏈:用於

原创 Mysql的四個隔離級別 與mvcc(2)

一、Mysql的四個隔離級別 預備工作: 先創建一個test數據庫及account表,   create database test; use test; create table account( id int not null, b

原创 mysql索引底層實現

目前大部分數據庫系統及文件系統都採用B-Tree(B樹)或其變種B+Tree(B+樹)作爲索引結構。B+Tree是數據庫系統實現索引的首選數據結構。在MySQL中,索引屬於存儲引擎級別的概念,不同存儲引擎對索引的實現方式是不同的,本文主要

原创 pig 教程及 自定義udf 的java版

pig教程 https://www.w3cschool.cn/apache_pig/ Apache Pig 用戶定義函數(UDF) 原文:https://www.w3cschool.cn/apache_pig/apache_pig_use

原创 AQS、ReentrantLock、ReentrantReadWriteLock.共享/獨佔 公平/非公平

前提     一、AQS AbstractQueuedSynchronizer(簡稱AQS),隊列同步器,是用來構建鎖或者其他同步組建的基礎框架。該類主要包括: 1、模式,分爲共享和獨佔。 2、volatile int state,用來

原创 vnc 之 centos 安裝遠程桌面,windows、centos可遠程操作centos桌面,

(1)需要被操控的centos(簡稱server)需要先安裝 tigervnc,命令如下 yum install tigervnc tigervnc-server (2)centos server 需要開啓tigervnc-server

原创 java Syntronized 原理與 爲何鎖升級及過程

關於鎖升級 java1.6之前Syntronized 沒有鎖升級概念,只有重量鎖:即用戶態和內核態的上下文切換 會比較浪費時間。 java1.6之後,Syntronized關鍵字 開始有鎖升級的概念,即偏向鎖,輕量級鎖,重量級鎖。   注

原创 原碼反碼補碼 與 位移運算總結(Java)

在計算機系統中,數值一律用補碼來表示和存儲。原因在於,使用補碼,可以將符號位和數值域統一處理;同時,加法和減法也可以統一處理 以下代碼基於java java 中數字做位運算時,都會補全32位(Short也是),如果強轉爲Long類型則會用

原创 tcp三次握手及四次揮手

一、TCP connection 客戶端與服務器之間數據的發送和返回的過程當中需要創建一個叫TCP connection的東西; 由於TCP不存在連接的概念,只存在請求和響應,請求和響應都是數據包,它們之間都是經過由TCP創建的一個從客

原创 mysql 種隔離級別 以及每種級別對應的問題

mysql 4種隔離級別(1)未提交讀(2)提交讀(3)可重複讀(4)串行化 (1)幻讀:t1查詢出兩天記錄,此時t2插入一條id=3的記錄然後commit,t1此時插入id=3的記錄 報主鍵錯誤,對與delete和insert。(2)

原创 知識圖譜構建過程

在本文中,筆者主要想分享一下自底向上構建知識圖譜的全過程,拋磚引玉,歡迎大家交流。 “The world is not made of strings , but is made of things.” ——辛格博士,from Googl

原创 kylin 教程與原理

官方教程請參考:http://kylin.apache.org/cn/ 參考文章:https://www.cnblogs.com/honey01/p/8351145.html 總結: kylin是一個olap引擎 (1)首先kylin從先

原创 gradle緩存位置及拷貝jar到maven資源庫

gradle構建工具是當下最流行的java項目構建工具,不僅僅是在android開發中用得很普遍,而且在javaee開發中也越來越普及。甚至其熱度超過了maven構建工具。 gradle可以通過指定倉庫地址爲本地maven倉庫地址和遠程倉