原创 被一道算法題所點化=>(0-9 a-z A-Z 四位全排列總數){..

package suanfa; import org.junit.Test; import java.util.concurrent.atomic.AtomicInteger; public class quanpailie {

原创 多線程分派任務的MW組件初步設想?持續更新...

public class Master<E> { //存放E類型任務的容器,只對taskQuueu進行寫 private volatile BlockingQueue<? super E> TaskQueue;

原创 zk的一點學習感悟?

**狀態感知、配置管理、主從選舉 **zookeeper 是一個分佈式協調服務,就是爲用戶的分佈式應用程序提供協調服務; 1.爲別的分佈式程序服務的 2.zookeeper本身就是一個分佈式程序(只要半數以上的節點存活,zk就能正常

原创 微博java正則匹配熱搜頁面熱搜詞+還原中文

import java.io.*; import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * C

原创 每天一個設計模式之Decorator模式解決類間組合爆炸問題

模式動機 Decorator模式是一種相對簡單的對象結構性模式,動態和對象是個對應的關係,正如靜態和類這樣的對應關係,編譯時能夠決定的特質是靜態特質,動態則表示在運行時進行操作,傳統情況下使用的繼承是靜態的給類添加職責,動態的給對象添加職

原创 statement prepareStatement的一點體會?

1、PrepareStatement 是預編譯的,對於批量處理(Batch)處理可以大大提高效率,也叫JDBC存儲過程 2、使用Statement對象。在對數據庫只執行一次性存取的時候,用Statement對象進行處理,PrepareSt

原创 用UUID做主鍵和用19位的bigint做主鍵,插入性能那個更ok?

解惑: 在公司的機器上跑了30萬的數據,建了一個test_sg_student(主鍵爲UUID)和 test_bigintAsString_t (主鍵爲19位的bigint),分別用10個線程和批處理進行插入,發現性能相差接近100倍,

原创 zookeeper選舉簡單流程?

zk 投票數據結構   每個投票中包含了兩個最基本的信息,所推舉服務器的SID和ZXID,投票(Vote)在Zookeeper中包含字段如下   id:被推舉的Leader的SID。   zxid:被推舉的Leader事務ID。   el

原创 enum實現的枚舉?(同時滿足懶漢的懶加載和惡漢的線程安全)

enum實現的枚舉是effective java中比較推薦的做法 上代碼 public class enumSingleton { private enumSingleton(){} public static en

原创 分佈式自增算法snowflake,但是效率 ?

生成的id結構 SnowFlake所生成的ID一共分成四部分: 1.第一位 佔用1bit,其值始終是0,沒有實際作用。 2.時間戳 佔用41bit,精確到毫秒,總共可以容納約69 年的時間。 3.工作機器id 佔用10bit,其中

原创 InnoDB中事務隔離級別和鎖的關係 思路?個人理解?

1 數據庫遵循兩段鎖協議,加鎖階段和解鎖階段,在對任何數據進行讀操作之前要申請並獲得S鎖,在寫操作之前要申請並獲得X鎖 2 事務中的加鎖方式,事務的四種隔離級別,未提交讀,已提交讀(RC),可重複讀(RR),可串行化,

原创 內存管理最先分配算法

import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import org.

原创 高併發下的緩存一致性,併發,穿透問題

緩存在高併發場景下的常見問題 緩存一致性問題 當數據時效性要求很高的時候,需要保證緩存中的數據與數據庫中的保持一致,而且需要保證緩存節點和副本中的數據也要保持一致,不能出現差異現象。這樣就比較依賴緩存的過期和更新策略。一般會在數據庫發生更

原创 tcp的擁塞控制?

tcp的擁塞控制 1.擁塞: 即對資源的需求超過了可用的資源。若網絡中許多資源同時供應不足,網絡的性能就要明顯變壞,整個網絡的吞吐量隨之負荷地增大而下降 擁塞控制:防止過多的數據注入到網絡中,這樣可用是網絡中的路由器或鏈路不至過載。 擁

原创 SQL語句中exists和in的區別?

查詢中涉及到的兩個表,一個books和一個borrow表,具體表的內容如下: 書單(books)表: 借書表borrow IN 一、確定給定的值是否與子查詢或列表中的值相匹配。in在查詢的時候,首先查詢子查詢的表,然後將內表和外