原创 intellij idea的插件開發小結

最近在做一個intellij idea的插件,作用是讀取數據庫的表及字段的信息和預先定義的模板來生成代碼文件(實體,service,springmvc中的controller,freemark文件等等)。 查找了很多資料,發現intel

原创 postgresql 索引類型

postgresql提供了B-tree,R-tree,GiST和hash索引類型。不同的索引類型適合特定的查詢類型。 絕大多數數據庫都支持B-tree索引類型,postgresql默認的create index語句也是創建B-tree索

原创 從springmvc源碼看方法參數綁定的註解和返回值處理

在使用springmvc提供的註解進行方法參數的解析綁定和方法返回值處理的時候,比如說有時候會報出令人不解的400或500之類的錯誤;自以爲掌握了註解的用法但是實現起來複雜不簡潔,這情況下進行參數綁定的擴展更爲合理,等等這些情況都需要我們

原创 網絡爬蟲採集數據幾個問題

最近在做網絡爬蟲抓取數據,遇到幾個重要問題,記錄下來,以免忘記。 目前用的是第三方開源爬蟲框架webmagic,所以暫時記錄下來的不是爬蟲實現和結構上的問題,而主要是在此框架上的邏輯開發問題。 1.要採集的數據在不同的頁面上    

原创 spring核心之設計原理總結

本文采用問題探究的方式來加深對spring的架構和設計原理的理解,探究的問題如下: 爲什麼要使用spring ioc容器?spring ioc容器和工廠模式的比較? spring有什麼樣的設計目標?從而採用了什麼設計理念? 爲什麼要使用s

原创 RocketMQ入門實例和基礎概念介紹

RocketMQ發送消息的3種方法: 可靠同步發送(reliable synchronous)、 可靠異步發送(reliable asynchronous) 單向發送(one-way transmission) 具體參考RocketMQ官

原创 服務端IM消息處理經驗

   I M的業務場景中消息是最核心且最頻繁使用到的,很容易影響客戶端的體驗,也是通信處理的瓶頸和系統性能瓶頸之處,因此設計好消息的處理方案對IM系統至關重要。在此根據自身的經驗和遇到的問題,總結下IM消息的處理思路,希望對讀者有所啓發。

原创 RocketMQ核心機制之保證消息不丟失

概述 分別從Producer發送機制、Broker的持久化機制,以及消費者的offSet機制來最大程度保證消息不易丟失 從Producer的視角來看:如果消息未能正確的存儲在MQ中,或者消費者未能正確的消費到這條消息,都是消息丟失。 從B

原创 mysql分表方案

一、 概述分表是個目前算是比較炒的比較流行的概念,特別是在大負載的情況下,分表是一個良好分散數據庫壓力的好方法。首先要了解爲什麼要分表,分表的好處是什麼。我們先來大概瞭解以下一個數據庫執行SQL的過程:接收到SQL --> 放入SQ

原创 HTTP 的keepalive模式

故事發生在10月份的一次面試經歷中,本來我不想說出來丟人顯眼,但是爲了警醒自己和告誡後人,我決定寫成博文發出來。因爲在面試過程中,我講在2009年寫過QQ農場助手,在這期間深入學習了HTTP協議,而且在2010-05-18寫了博文:HT

原创 mysql分表,分區的區別和聯繫

一,什麼是mysql分表,分區 什麼是分表,從表面意思上看呢,就是把一張表分成N多個小表,具體請看mysql分表的3種方法 什麼是分區,分區呢就是把一張表的數據分成N多個區塊,這些區塊可以在同一個磁盤上,也可以在不同的磁盤上

原创 javaee6的核心特性--bean驗證框架(整理)

概述 在Java EE 6的Bean Validation出現之前,開發者不得不在表示層框架、業務層/持久層中編寫驗證規則以保證這些規則的同步性,但這麼做非常浪費時間而且極易出錯。Bean Validation是通過約束實現的,這些約

原创 SQL行轉列,列轉行

目錄結構如下: 行轉列列轉行 [一]、行轉列   1.1、初始測試數據   表結構:TEST_TB_GRADE [sql] view plaincopy create table TEST_TB_GRADE 

原创 數據庫爲什麼要分庫分表

1 基本思想之什麼是分庫分表? 從字面上簡單理解,就是把原本存儲於一個庫的數據分塊存儲到多個庫上,把原本存儲於一個表的數據分塊存儲到多個表上。 2 基本思想之爲什麼要分庫分表? 數據庫中的數據量不一定是可控的,在未進行分庫分表的情況

原创 工作中常用的linux操作整理

文件編輯操作命令 ----------------------------------------------------------------- 在vi中查找字符串的方法如下: 1、命令模式下輸入“/字符串”,例如“/Section