原创 原 Redis 的設計與實現——數據結構實現之(五)Redis對象

對象        Redis並沒有直接用上面的幾種數據結構實現kv數據庫,而是將他們組合成爲不同對象。Key對象與value對象。 對象的數據結構定義如下:(zset爲有序集合) 下面是對象類型與實現的關係: 字符串對象——Stri

原创 Redis 的設計與實現——數據結構實現之(二)鏈表與字典

鏈表       首先Redis中存在的抽象結構爲List,而鏈表是其一種實現方式,當list元素較多或者元素都爲比較長的字符串時,採用鏈表作爲底層實現。此外,鏈表還用在Redis服務器保存客戶端狀態、發佈與訂閱功能等等。       

原创 Redis 的設計與實現——數據結構實現之(四)壓縮列表

Ziplist 是Redis中對於少量列表項的實現用於hash和list的實現,是由連續的內存塊組成的數據結構,主要是爲了節約內存,沒有一個struct: 其中每個節點的entry的值爲: 其中previous_entry_lengt

原创 MQ的簡單思考

原创 [Spring]spring的工作原理以及注入方式簡介

Spring 工作原理          spring是一個用於web服務的框架,可以用於將struts2和hibernate進行整合,並且可以配置各種bean,和維護bean與bean之間的關係,主要採用面向切面(AOP)和控制反轉(I

原创 java設計模式筆記

  創建型模式:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式     結構型模式:適配器模式、裝飾器模式、代理模式、外觀模式、               橋接模式、組合模式、享元模式     行爲型模式:策略模式、模版方法

原创 java synchronized詳解

記下來,很重要。 Java語言的關鍵字,當它用來修飾一個方法或者一個代碼塊的時候,能夠保證在同一時刻最多隻有一個線程執行該段代碼。      一、當兩個併發線程訪問同一個對象object中的這個synchronized(this)同步代

原创 阿里2013筆試

1. 同一進程的線程共享: 1.進程代碼段 2.進程的公有數據(利用這些共享的數據,線程很容易的實現相互之間的通訊) 3.進程打開的文件描述符、 4.信號的處理器、 5.進程的當前目錄和 6.進程用戶ID與進程組ID 線程獨有的內容包括:

原创 筆試總結2

1 有7克,2克砝碼各一個,天平一隻,如何只用這些物品3次將140的鹽分爲50、90克各一份? 1、將140克鹽放天平兩邊平分兩份各70克; 2、將一份70克鹽平分兩份各35克; 3、將7克和2克砝碼各方天平一側,取一份35克鹽向天平兩端

原创 排序方法簡單總結

排序算法總結: 排序可分爲兩大類,其中內部排序指待排序記錄存放在隨機存儲器中進行的排序過程,外部排序是指:待排序數據數量很大,不能一次存放在內存中,在排序過程中尚需要訪問外存。 內部排序 大致分爲5類:插入排序、交換排序、選擇排序、歸併排

原创 TCP協議建立連接與釋放連接

TCP協議建立連接與釋放連接 TCP協議是面向連接的協議,要傳送數據,需要進行建立連接、傳送數據、釋放連接三個階段。其中建立連接需要三次握手,而釋放連接需要四次握手,其原理如下: 建立連接: 首先,服務器端要開啓服務,創建TCB(傳輸控制

原创 關於搜索引擎

  提到搜索引擎,不得不說到Google和百度,現如今,搜索引擎主要是通過兩種方法來獲取網頁內容,一個是由爬蟲去爬,也就意味着,如果你的網站沒有被外部引用,就不會被搜索引擎發現,這也就是友情鏈接的作用,幫助你的朋友被搜索到;另一個是主動去

原创 IPv6路由器配置

這是一篇關於IPv6的內容的簡單整理,初衷是爲了Google,但是在找資料的過程中發現很多有趣的事情,整理如下。       首先,IPv6,是下一代互聯網IP協議,主要目的是爲了解決IP地址短缺的問題,而所謂的教育網可以直接Google