原创 事務ACID和5種狀態

事務的ACID屬性 1. 原子性(Atomicity) 原子性是指事務是一個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。   2. 一致性(Consistency) 事務必須使數據庫從一個一致性狀態變換到另外一個一致性狀態。

原创 redis的持久化存儲

Redis中數據存儲模式有2種:cache-only,persistence; cache-only即只做爲“緩存”服務,不持久數據,數據在服務終止後將消失,此模式下也將不存在“數據恢復”的手段,是一種安全性低/效率高/容易擴展的方式

原创 Java ServiceLoader使用和源碼分析

1.項目中的使用     ServiceLoader是Java中SPI(Service Provider Interface)的一種實現;主要用於提供給第三方實現或者擴展。  1.1 使用接口的實現類一般的方式;       及使用關鍵詞

原创 Java:應用Observer接口實踐Observer模式

1. 實現觀察者模式 實現觀察者模式非常簡單, [1]創建被觀察者類,它繼承自java.util.Observable類; [2]創建觀察者類,它實現java.util.Observer接口; [3]對於被觀察者類, 添加它的觀察者:

原创 JVM的GC機制、收集器與GC調優

一、回顧JVM內存分配 需要了解更多內存模式與內存分配的,請看 深入JVM系列(一)之內存模型與內存分配 1.1、內存分配: 1、對象優先在EDEN分配 2、大對象直接進入老年代  3、長期存活的對象將進入老年代  4、適

原创 幾種簡單排序算法簡介

插入排序,選擇排序,交換排序,歸併排序; 其中選擇排序分爲:基礎選擇排序和堆排序; 交換排序:冒泡排序和快速排序; 歸併暫不涉及; 插入排序:通常人們整理橋牌的方法是一張一張的來,將每一張牌插入到其他已經有序的牌中的適當位置。在計算機的

原创 解決linux系統CentOS下調整home和根分區大小

解決linux系統CentOS下調整home和根分區大小 目標:將VolGroup-lv_home縮小到20G,並將剩餘的空間添加給VolGroup-lv_root   1.首先查看磁盤使用情況 [root@localhost ~]#

原创 memcache集羣基礎

Memcache 分佈式高可用集羣介紹 分佈式緩存需考慮如下三點: 1、緩存本身的水平線性擴展的問題。 2、緩存大病罰下的本身性能問題。 3、避免緩存的單點鼓掌問題。 分佈式緩存存在的問題: 1、內存本身的管理問題。內存的分配,管理和回收

原创 Redis sentinel 高可用主從配置方案

附: Redis Cluster集羣主從方案:http://wosyingjun.iteye.com/blog/2289220 Redis Sentinel主從高可用方案:http://wosyingjun.iteye.com/blog/

原创 solr no servers hosting shard 503 SolrCloud分佈式檢索時忽略宕機的Shard

“<lst name=”error”> <str name=”msg”>no servers hosting shard:</str> <int name=”code”>503</int> </lst>”   加入下面參數,只從存

原创 redis的集羣方式介紹

Redis集羣的目的是實現數據的橫向伸縮,把一塊數據分片保存到多個機器,可以橫向擴展數據庫大小,擴展帶寬,計算能力等。   實現數據分片(集羣)方式大致有三種:  (1)客戶端實現數據分片  即客戶端自己計算數據的key應該在哪個機器上存

原创 redis簡介與分佈式鎖的實現方案

1. redis 簡介; Redis採用的是基於內存的採用的是單進程單線程模型的KV數據庫,由C語言編寫。官方提供的數據是可以達到100000+的qps。這個數據不比採用單進程多線程的同樣基於內存的KV數據庫Memcached差。 Red

原创 synchronized 與 Lock的對比

在java中可以使用 synchronized 和 Lock兩個基本工具來實現鎖。ReentrantLock 與synchronized有相同的併發

原创 & 和 nohup的對比

針對linux命令的後臺運行: & 和 nohup& 對ctrl+c(SIGINT免疫),對關閉shell終端(SIGHUP不免疫)。nohup 對ctrl+c(SIGINT不免疫),對關閉終端(SIGHUP免疫)。綜合使用:nohup

原创 redis客戶端jedis的使用異常分析

當使用Jedis客戶端進行操作的時候出現以上錯誤。說明拿不到Redis的鏈接,因爲validateObject不通過。1.首先連接redis判斷redis是否還存活,登錄一個客戶端輸入ping命令,檢查是否返回“PONG”。如果返回一下錯