原创 跳躍表實現與原理

/** * 跳錶節點數據存儲結構 */ class SkipNode<E extends Comparable<? super E>> { public final E value; //節點存儲的數據

原创 寫個單例

public class Singleten { /** * 關鍵點 1.靜態函數以及靜態對象 * 2.私有構造函數 * 3.雙重檢查 */ private st

原创 Integer==陷阱

Part 1.創建Integer //話不多說,Integer==1;與Integer j=1000;源碼執行如下 public static Integer valueOf(int i) { if (i >= Int

原创 sleep與wait區別

1、每個對象都有一個鎖來控制同步訪問,Synchronized關鍵字可以和對象的鎖交互,來實現同步方法或同步塊。sleep()方法正在執行的線程主動讓出CPU(然後CPU就可以去執行其他任務),在sleep指定時間後CPU再回到該線程

原创 http相關知識點

http相關知識點 http是一種基於tcp協議的無狀態的應用層協議,1.1加入keepAlive機制 由三部分組成 請求行 消息報頭 請求體 1.常用的http方法有哪些 .get 請求被uri識別的資源

原创 mysql之mvcc

事物隔離級別就是通過mvcc做的,readCommitted:讀最新版本號的;repeadable read:讀同一個版本號的; 在併發讀寫數據庫時,讀操作可能會不一致的數據(髒讀)。爲了避免這種情況,需要實現數據庫的併發訪問控

原创 hibernate的悲觀鎖與樂觀鎖實現

實際情況:多個事物同時更新某一條數據,第一個事物讀取完之後掛起,第二個事務查詢並做了修改,第一個事物提交,這個時候會覆蓋掉第二個事物提交的東西 另外,減少整個對象save,save單獨字段是更好的方式 悲觀鎖(Pessimi

原创 寫個觀察者模式

public class PriceObservable extends Observable { private Double price; public PriceObservable(Double price){

原创 寫個責任鏈模式(混用觀察者)

定義: 責任鏈模式重點在於鏈上,可以在發生者和處理者之間解耦,使事件在鏈上傳遞,直到有一個類處理了這個事件。 在工作中,我們跟觀察者模式混用在一起, 處理方法實現對應的接口,在spring中可以加入@Order定義加載順序 觀察者:@C

原创 msql分表

http://blog.csdn.net/xlgen157387/article/details/53976153

原创 mysql-刪除重複數據

#就是兩個條件,一是找到要刪的,而是找到哪些需要留下來 ps.mysql這樣寫可能有些問題,需要在刪除的時候,把id用select再包一層,否則會報錯delete FROM table_demo WHERE NAME IN (

原创 爲什麼常規HashMap不是線程安全的?

一直以來只是知道HashMap是線程不安全的,但是到底HashMap爲什麼線程不安全,多線程併發的時候在什麼情況下可能出現問題? HashMap底層是一個Entry數組,當發生hash衝突的時候,hashmap是採用鏈表的方式來解決的,在

原创 nio簡單demo,幫助理解io與nio區別

服務器 import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer;

原创 高級程序員的自我修養

() 1.中間件 1.mq 2.netty 2.數據庫 1.redis 結構 集羣 api 事物 2.mysql 引擎 索引 3.mongo 2.數據結構算法 3.併發多線程 併發Map 爲什麼

原创 mybatis generator tinyint 處理

1.tinyInt1isBit=false 控制jdbcType爲byte而不是boolean 2.table加上 <columnOverride column="status" javaType="java.lang.Integer"