原创 Java代碼生成利器之rapid-generate應用一

  告別無止境的增刪改查–Java代碼生成器   有感於馬上要做個比較大的業務系統,想到那無止境的增刪改查、粘貼複製,頓時腦後升起一陣涼風。於是想到個找或者寫一個Java代碼的生成器,這樣在正常開發進度下,也能餘下更多的時間去做些

原创 設計模式實踐二-開閉原則

定義:一個軟件實體如類、模塊和函數應該對擴展開放,對修改關閉。 問題由來:在軟件的生命週期內,因爲變化、升級和維護等原因需要對軟件原有代碼進行修改時,可能會給舊代碼中引入錯誤,也可能會使我們不得不對整個功能進行重構,並且需要原有

原创 設計模式實踐六-接口隔離原則

定義:客戶端不應該依賴它不需要的接口;一個類對另一個類的依賴應該建立在最小的接口上。 問題由來:類A通過接口I依賴類B,類C通過接口I依賴類D,如果接口I對於類A和類B來說不是最小接口,則類B和類D必須去實現他們不需要的方法。

原创 設計模式實踐三-單一職責原則

定義:不要存在多於一個導致類變更的原因。通俗的說,即一個類只負責一項職責。 問題由來:類T負責兩個不同的職責:職責P1,職責P2。當由於職責P1需求發生改變而需要修改類T時,有可能會導致原本運行正常的職責P2功能發生故障。 解

原创 Java代碼生成利器之rapid-generate應用四

  rapid-generate是基於freemarker編寫的,關於freemarker的語法,可以參考官網:http://freemarker.org/ 或者中文手冊。常用的一些用法也可以參考:http://www.cnblo

原创 原碼,反碼,補碼詳解及 Java中>>和>>>的區別

最近在閱讀java底層jar包的一些源碼時,發現很多涉及到對字節的位操作,所以特意去回顧了一下java在機器碼上面的表示方式以及原碼、反碼、補碼的相關概念, 發現有篇博文講解的相當透徹,特轉載以備忘。 轉載於:http://blog.cs

原创 java線程池實踐

jdk的concurrent包中提供了線程池的實現類Executors,可通過該靜態類構造線程池,下面探究一下其實現原理。 正常創建一個線程的時候,我們是這樣的:new thread(Runnable實現類)。這裏,thread是線程,R

原创 Java多線程中線程阻塞機制

一.併發控制介紹 爲了解決對共享存儲區的訪問衝突,Java 引入了同步機制,現在讓我們來考察多個線程對共享資源的訪問,顯然同步機制已經不夠了,因爲在任意時刻所要求的資源不一定已經準備好了被訪問,反過來,同一時刻準備好了的資源也可能不止一個

原创 排序算法實踐-堆排序

在網上查了很多資料,關於堆排序的理解可謂甚多,實現方式差別也較大,但是萬變不離其宗,其原理都是一樣的。 概念 堆積排序(Heapsort):是指利用堆積樹(堆)這種資料結構所設計的一種排序算法,可以利用數組的特點快速定位指定索引的元素。堆

原创 web前端技術總結-跨域問題

由於此前很少寫前端的代碼(哈哈,不合格的程序員啊),最近項目中用到json作爲系統間交互的手段,自然就伴隨着衆多ajax請求,隨之而來的就是要解決ajax的跨域問題。本篇將講述一個小白從遇到跨域不知道是跨域問題,到知道是跨域問題不知道如何

原创 akka集羣實戰

關於akka akka是JAVA虛擬機JVM平臺上構建高併發、分佈式和容錯應用的工具包和運行時。Akka用Scala語言寫成,同時提供了Scala和JAVA的開發接口。 Akka處理併發的方法基於Actor模型。在Akka裏,Actor之

原创 基於spring-scheduing擴展的cron模塊

背景 由於產品需求,需要對用戶提交的任務進行動態管理,於是聯想到spring的cron,通過研讀spring-scheduing模塊源碼,瞭解原理,決定複用並進行擴展。 閱讀本文需結合項目源碼,cron託管在:https://githu

原创 java算法實踐之快速排序

快速排序是一個知名度極高的排序算法,其對於大數據的優秀排序性能和相同複雜度算法中相對簡單的實現使它註定得到比其他算法更多的寵愛。 算法概述/思路 快速排序一般基於遞歸實現。其思路是這樣的: 1.選定一個合適的值(理想情況中值最好,但實

原创 Linux常用命令總結

玩過Linux的人都會知道,Linux中的命令的確是非常多,但是玩過Linux的人也從來不會因爲Linux的命令如此之多而煩惱,因爲我們只需要掌握我們最常用的命令就可以了。當然你也可以在使用時去找一下man,他會幫你解決不少的問題。然而每

原创 Gephi編程實戰-基於gephi-toolkit開發的一套簡單framework

簡介 Gephi是一款開源免費跨平臺基於JVM的複雜網絡分析軟件,,其主要用於各種網絡和複雜系統,動態和分層圖的交互可視化與探測開源工具。 Gephi提供客戶端工具,爲相關使用人員提供豐富的功能去分析網絡圖譜,但是想要基於Gephi做編程