原创 事務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”。如果返回一下錯