原创 兩個時間段是否有交集 + 數據庫時間類型選擇問題

1.判斷兩個時間段是否有交集 兩個時間段:[start,end],[startTime,endTime] 存在交集的情況比較多,但是不存在交集的情況只有兩種,所以只要排除了不存在交集的情況,剩下的就是存在交集的情況了。 不存在交集判

原创 MongoDB 之 aggregate $lookup 關聯查詢 進階篇

 需求:要對 topics 問題表根據 teach_id(教師ID),tips._id(問題標籤ID) 字段進行分組統計教師的答題情況生成報表,所以得根據 教師ID,標籤ID 關聯查詢出 教師信息,標籤信息 用作報表展示。 本文基於 Mo

原创 MySQL -- INSERT ON DUPLICATE KEY UPDATE 使用

前言:  MySQL 中 INSERT ON DUPLICATE KEY UPDATE 這個方法可能不是很常用,但卻很好用,它主要功能是:當插入的數據中的主鍵 與 數據庫中現有的數據主鍵 重複的情況下就不會執行插入操作,而是可以對現有的數

原创 Git 命令使用筆記

小白篇: Git新手上路,讓你快速掌握Git的基本使用 #添加電腦ssh密鑰到git: C:\Users\evan\.ssh\id_rsa.pub  -- 複製 --->> git 個人資料設置--SSH密鑰--公鑰  輸入複製內容  #

原创 MySQL索引優化 & 聚簇索引 & 字段選擇性 & 範圍查詢 & 組合索引的字段順序

索引B-Tree: 一般來說, MySQL 中的 B-Tree 索引的物理文件大多都是以 B+tree的結構來存儲的,也就是所有實際需要的數據都存放於 Tree 的 Leaf Node,而且到任何一個 Leaf Node 的最短路徑的長度

原创 classpath 及讀取 properties 文件

java代碼中獲取項目的靜態文件,如獲取 properties 文件內容是必不可少的。Spring 下只需要通過 @Value 獲取配置文件值<!-- 資源文件--> <util:properties id="application" l

原创 Spring在Web容器啓動時執行初始化方法

需求:在tomcat啓動時開啓一個定時任務。想法:容器啓動時執行方法,最容易想到的就是servlet中可以配置load-on-startup,設置一個正整數也就可以隨容器一起啓動。問題:上面的方法很好,但是由於定時任務需要去操作數據庫,而

原创 絕對完全跨域統一單點登錄登出

應用場景:多個系統下同屬於一個用戶,當用戶登錄了web1系統,那麼訪問web2,web3. . . . 時候,用戶就無需再次登錄。如:淘寶與天貓,登出也如此,一個系統登出,其他系統的登錄也隨之失效,這就是統一單點登錄登出。這裏配置三個we

原创 SpringContextHolder 靜態持有SpringContext的引用

SpringContextHolder 靜態持有SpringContext的引用 package com.test.quartz; import org.springframework.context.ApplicationContex

原创 一致性哈希算法及其在分佈式系統中的應用

from:http://blog.codinglabs.org/articles/consistent-hashing.html 摘要 本文將會從實際應用場景出發,介紹一致性哈希算法(Consistent Hashing)及其在分佈式系統

原创 Java 調用 groovy 腳本文件,groovy 訪問 MongoDB

groovy 訪問 MongoDB 示例:shell.groovypackage db import com.gmongo.GMongoClient import com.mongodb.BasicDBObject import com

原创 CXF+JAXB處理複雜數據

CXF默認使用JAXB 來實現對象和XML之間的映射。在前面的例子 中,使用CXF發佈的Webservice,其方法的參數和返回值都是簡單類型。 本文討論對象複雜性的分級,驗證對於各種複雜度JAXB的支持情況,以及使用JAXB時對於Map

原创 Spring 中出現相同名稱的 bean 的處理機制

小總結:如果啓用組件掃描,bean名稱不同時,Spring將嘗試創建一個bean,即使該類的bean已經在spring-config.xml中定義了。但是,如果在spring配置文件中定義的bean和自動發現的bean具有相同的名稱,那麼

原创 Spring 多數據源 @Transactional 註解事務管理

在 Spring,MyBatis 下兩個數據源,通過 @Transactional 註解 配置簡單的事務管理spring-mybatis.xml<!--******************************** data one s

原创 消費RabbitMQ時的注意事項,如何禁止大量的消息涌到Consumer,保證線程安全

按照官網提供的訂閱型寫法( Retrieving Messages By Subscription ("push API")) 我發現,RabbitMQ服務器會在短時間內發送大量的消息給Consumer,然後,如果你沒有來得及Ack的話,