原创 golang string迭代和結構體初始化

1.golang字符串range時返回的類型爲rune 在某次測試時發現,string字符串,直接用下標訪問和用range訪問返回的類型不同,參看下面: func main () { str := "aA" fmt.Printf("

原创 Junit4出現java.lang.NoSuchMethodError: org.junit.runner.Request.classWithoutSuiteMethod

在使用Junit時,前面幾次連接時正常,後面突然出現錯誤如下: java.lang.NoSuchMethodError: org.junit.runner.Request.classWithoutSuiteMethod(Ljava/lan

原创 Java Web實戰07--Spring整合Hibernate

在寫之前,先說明一下在Eclipse中安裝Hibernate的插件,方便生成cfg文件和hbm文件。 在help->Install New SoftWare中,添加地址 http://download.jboss.org/jbosstoo

原创 spring4, hibernate4 整合問題

在整合spring和hibernate中,出現了以下錯誤: org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for

原创 使用Spring整合Hibernate出現無法自動建立表的問題

在使用Spring整合Hibernate時,出現一個莫名其妙的問題,Spring整合Hibernate出現無法自動建立表,花了好幾個小時也沒有查找是怎麼回事。具體如下: 1、在Hibernate配置文件中設置了: <property n

原创 Java Web實戰05--Spring之bean引用

操作實踐bean直接的引用,具體流程如下。此時省略了pom.xml設置,和之前一樣。主要實現實例依賴外部bean、內部bean的配置。 1、建立兩個類,分別Bag類,Person類,在person類中會引用bag類。 bag類: pack

原创 Java Web實戰06--Spring之AOP使用

一、AOP簡介 Spring AOP是面向切面編程,主要思想是,將代碼中的與主業務邏輯無關的公共代碼,抽離出來,單獨模塊化爲類即切面,在運行的時候動態的將切面的功能即通知加入到業務執行邏輯中。AOP模塊常用於日誌處理、事務管理、權限驗證、

原创 Java Web實戰04--Spring之屬性注入和構造器注入

和前面一樣,建立maven工程,然後進行以下操作過程, 1、新建一個bag類,設置四個字段,如下所示: package com.yefeng.spring.spring2; /** * @author yefengzhichen

原创 go消息隊列nsq源碼調用分析

nsq是一個開源的分佈式消息隊列中間件,用Go語言編寫。學習golang的時候正好看到,同時又想深入瞭解消息隊列實現原理和go的特性,就從源碼角度分析下。 nsqd Topic: 標識一類消息,各個topic之間相互獨立,ns

原创 golang mutex源碼詳細解析

目前golang的版本是1.12,其中的mutex是增加了普通模式和飢餓模式切換的優化版本,爲了便於理解,這裏先從上一個版本1.7版本的mutex開始分析,以後再對優化版本進行說明。 Mutex結構說明 定義 最初版本鎖的定義如下

原创 MongoDB索引-設置記錄超時自動刪除

MongoDB 索引說明 索引介紹 跟mysql一樣,索引通常能夠極大的提高查詢的效率,如果沒有索引,MongoDB在讀取數據時必須掃描集合中的每個文件並選取那些符合查詢條件的記錄。索引是特殊的數據結構,索引存儲在一個易於遍歷讀取

原创 利用SpaceVim打造完美Go IDE

SpaceVim介紹 之前寫c++代碼時用了比較簡易的vim-ide: https://github.com/jiangeZh/vim-ide, 上手後確實比使用source insight 快很多,但是隻提供比較簡單的功能。這次準備

原创 unikernel介紹

最近聽了一個關於容器的講座,裏面提到docker未來很可能向Unikernel發展,因此查資料學習了下。 定義 參考維基:unikernel由庫操作系統組成,是一個特殊的、單地址空間的機器鏡像。開發者從中選擇模塊化棧和最小庫集合,組成

原创 編譯protobuf靜態庫依賴順序問題

在項目中要加入protobuf協議支持,在編譯成功生成程序包動態庫後,發現啓動運行報錯 未定義的protobuf符號xxx等等,用ldd查看so文件,發現確實提示了未找到。 大致的makefile文件如下: CXX=g++ CFLAG

原创 golang數組和切片深入分析

一、數組 1.1 數組賦值給數組 Go數組是值類型,因此賦值操作和函數傳參數會複製整個數組的數據,例: func main() { a := [3]int{1, 2, 3} b := a fmt.Printf("a addr: