原创 瀏覽器輸入網址後發生了什麼?

在你的瀏覽器中輸入www.baidu.com以後,會在你的瀏覽器呈現百度首頁,這期間發生了什麼? 首先我們需要知道TCP/IP的網絡模型,這裏我就以四層模型爲例子。 第一步:在瀏覽器中輸入www.baidu.com後,應用層會使

原创 RabbitMQ的安裝與入門

RabbitMQ的安裝 這裏暫時使用window環境,稍後補充linux下的安裝。首先,因爲RabbitMQ由ERLANG實現,所以首先需要安裝ERLANG環境,安裝好之後纔是RabbitMQ的安裝和配置。 ERLANG環境 1.

原创 MySQL—淺談MySQL存儲引擎

和大多數數據庫不同,MySQL中有一個存儲引擎的概念,對於不同的存儲需求可以選擇最優的存儲引擎。如下是MySQL種常見的幾種引擎以及其特性。 其中MyISAM和InnoDB是我們最最常用的兩個存儲引擎,下面主要將對比這兩種引擎的

原创 談談RabbitMQ

消息通信 常見的web服務之間的通信機制有兩種 ,同步和異步。 同步方法有RMI、Hessin、Burlap、HTTP invoker,雖然同步通信比較簡單,但是存在如下問題:服務需要等待,耦合度高!而異步通信就不存在這些問題,

原创 Redis數據結構及其常用命令

Redis中數據結構有五種,分別是字符串、鏈表、集合、散列、有序集合,接下來我簡單介紹這五種數據結構以及相應的操作命令。 String 在Redis中,字符串可以存儲三種類型: 字節串 整數 浮點數 常用操作命令: set

原创 MySQL—淺談優化

索引 通過使用索引,可以大大提高SQL的性能。 數據庫中索引有如下幾類: B+樹索引 :MyISAM和InnoDB引擎默認使用的索引,最傳統的索引。底層使用了B+樹結構,查詢效率和樹高度成正比,樹的高度在數據庫中就代表了I/O

原创 Spring之IOC的實現

在Springl下如果我們需要使用某一個bean,我們不需要手動的new一個,而是問Spring的BeanFactory拿一個你需要的Bean即可,這就是所謂的IOC,Spring控制了Bean的創建和毀滅,我們只需要問Sprin

原创 Spring的AOP實現

如果需要在Spring中使用AOP是非常簡單的,只需要在Bean上加上@AspectJ,在方法上加@PointCut、@Before等註解就可以實現你想要的邏輯,最後在XML配置文件中加入<aop:aspectj-autoprox

原创 個人博客Blog搭建

博客整體框架採用springmvc+spring+mybatis,並且使用了maven進行項目的管理,最後部署在阿里雲上,前端頁面參考了Tale和CSDN。 項目簡介 整個項目非常簡單。 總共就涉及到三個表格: Dao層的

原创 動態規劃:最長子序列問題

關於動態規劃中的最長子序列問題有很多優秀的解讀,在這裏推薦一位博主的關於最長子序列的文章,非常不錯,配有大量的圖片和文字解答,在這裏推薦給大家。本文章轉載自這裏 1.基本概念 首先需要科普一下,最長公共子序列(longest co

原创 使用位運算實現加減乘除

經常看到類似”不使用XXX符號的前提下,實現加、減、乘、除“?第一次遇見的同學可能會懵,如果你記起來一個叫位運算的東西就會豁然開朗了。 算法概述 加法:比如5+6。小學的時候數學老師告訴我們的是,先求不算進位的值,也就是1,然後再

原创 Spring之容器的實現

對於經常使用spring框架的同學,對於下面的這段代碼肯定不會陌生 ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xm

原创 貪心算法例題

簡介 貪心算法(greedy)分階段地工作,在每一個階段都可以認爲所做的決定是最好的,而不用考慮後果。這就意味着得到的是局部最優解決方案,當算法結束時,如果一個一個局部最優解能組成全局最優解決,那麼就說明這個算法是正確的;如果不是

原创 紅黑樹的插入3張圖讓你學會

紅黑樹的插入相比較其刪除是比較簡單的。總的分爲兩步: 第一步,找到節點位置,插入節點即可,默認插入的節點是紅色的(這樣不會影響平衡)。 第二步,將調整顏色,避免出現紅—紅的出現,這是紅黑樹不允許的。 再次強調紅黑樹的定義:

原创 MySQL—事務和鎖

MySQL鎖 和其他數據庫相比,MySQL的鎖機制比較假單,不同的引擎支持不同的鎖機制。MyISAM和MEMORY使用表級鎖,BDB使用頁面鎖和表級鎖;InnoDB默認支持行級鎖,也支持表級鎖。 表級鎖:開銷小,加鎖塊,不會出現