2010年11月18日
#
摘要: 簡單log,一些commons-logging和log4j的東西
閱讀全文
摘要: 分享一個ThreadMonitor,來自commons-io的一段小程序,感覺會有用,拿來分享一下
閱讀全文
摘要: 框架介紹:
主要分為幾個部分,核心httpClient部分,認(rèn)證相關(guān)的token部分和api調(diào)用部分。
Weibo這個類是一個主體核心,調(diào)用的入口。
當(dāng)用戶完成上面介紹的授權(quán)后,通過weibo這個類來調(diào)用api實(shí)現(xiàn)功能。
閱讀全文
摘要: 數(shù)據(jù)類型選擇方面的幾個原則:
1,更小通常更好,選擇能正確表示數(shù)據(jù)的最小類型。
2,簡單就好,用簡單類型優(yōu)于用復(fù)雜類型。
3,避免NULL,盡量定義字段為not null。性能提升很小。
閱讀全文
摘要: 這個工具是一個可定制的圖像抓取工具
我希望這個小工具的功能點(diǎn)有以下幾項(xiàng):1.給定頁面抓取頁面的圖片;2.給定頁面和過濾規(guī)則,抓取頁面的圖片并存到本地磁盤或內(nèi)存;
主要的技術(shù)點(diǎn)不多:1.圖片鏈接的獲取(htmlparser搞定);2.圖片的讀寫(imageIo搞定);3.規(guī)則的制定(來源于需求)
介于方法的多樣,第一個版本的spider只是很簡單的功能實(shí)現(xiàn),未來希望加入的就是可擴(kuò)展的規(guī)則對象
少廢話,上代碼:
閱讀全文
摘要: htmlStat主要想做什么,就是統(tǒng)計(jì)頁面的信息,我一直認(rèn)為頁面的結(jié)構(gòu)設(shè)計(jì)是設(shè)計(jì)人員按照思維套路來進(jìn)行的。數(shù)字往往反映了一個設(shè)計(jì)的一個很重要的方面,比如它使用的各個tag的比例,文字的數(shù)量,圖片的數(shù)量和大小等等。而想學(xué)習(xí)理解出這一套思路,先統(tǒng)計(jì)頁面信息是最重要的。
當(dāng)然先說下開發(fā)環(huán)境:jdk1.6.11,maven2,git
主要的依賴目前只在pom中更新了一部分,有加入的會慢慢加入,具體可以看github上的項(xiàng)目信息
有愿意一起玩代碼的,可以留言我,
閱讀全文
摘要: 沒有過多的技術(shù)含量,只是拿來分享一下LCS算法的實(shí)現(xiàn)
閱讀全文
摘要: Object pool就是一個管理對象的池子。新版本利用jdk 1.5以后的特性,結(jié)合泛型,而不是利用Object來實(shí)現(xiàn)了。
閱讀全文
摘要: 調(diào)試技巧(隨時總結(jié)):
F5單步進(jìn)入(在需要進(jìn)入某步方法時)
F6單步調(diào)試(一般用于單步執(zhí)行)
F7單步跳出(跳出該調(diào)試區(qū)段方法)
F8調(diào)試恢復(fù)
閱讀全文
摘要: 今天看了一下JTidy的使用,目的就是為了格式化一個不標(biāo)準(zhǔn)的html到標(biāo)準(zhǔn)的xhtml。
JTidy是一個用java寫的HTML語法檢查器,用JTidy可以檢查并修正語法不正確的html,同時還可以對html的DOM進(jìn)行分析。Xhtml和html有很多不同,其中幾個主要的區(qū)別是
閱讀全文
摘要: 雜七雜八的看了一些velocity的資料,把所見所得做個簡單不系統(tǒng)的筆記寫下來,算是增強(qiáng)記憶。
閱讀全文
摘要: Commons-lang記錄:
一個最常用的工具,作為jdk的補(bǔ)充,有必要看一下源碼~~
閱讀全文
摘要: 聚類可以見我以前寫過的聚類分析的文章。
回歸是一個統(tǒng)計(jì)中非常重要的概念了。在Commons Math庫中有一個regression的子包轉(zhuǎn)么實(shí)現(xiàn)了線性回歸的一些基本類型。在regression包中,有個基本接口就是MultipleLinearRegression,這個接口表達(dá)y=X*b+u這樣的基本線性回歸式。線性回歸是利用稱為線性回歸方程的最小二乘函數(shù)對一個或多個自變量和因變量之間關(guān)系進(jìn)行建模的一種回歸分析。簡單看這個公式,y代表了一個n維的列向量(回歸子),X代表了[n,k]大小的觀測值矩陣(回歸量),b是k維的回歸參數(shù),u是一個n維的剩余誤差。回歸分析干什么用的?具體講就是預(yù)測。我們在數(shù)據(jù)挖掘中定義,定性的分析叫做分類,而定量的分析叫做回歸。回歸就是根據(jù)已有的觀察值去預(yù)測未來的一個定量的指標(biāo)。記得前一段阿里云到學(xué)院來做技術(shù)交流,講到阿里和淘寶通過數(shù)據(jù)分析對中國商品交易(還是具體什么貿(mào)易,忘記了,尷尬)的預(yù)測就是工程師做的一個簡單的線性回歸分析,模型雖然簡單,但是后來與實(shí)際數(shù)據(jù)一比較,預(yù)測值與實(shí)際值的曲線基本吻合。
閱讀全文
摘要: 概率統(tǒng)計(jì)最基本的前提就是有數(shù)據(jù),而我們做模擬或者測試時總會用到大量的隨機(jī)數(shù)據(jù)。我們知道絕對的隨機(jī)是做不到的,但是可以利用算法來實(shí)現(xiàn)偽隨機(jī)數(shù)的生成。Commons Math庫提供了一個random的包,其中定義實(shí)現(xiàn)了很多可以用來生成隨機(jī)數(shù)的類和接口。random包中定義了5個接口,分別是EmpiricalDistribution、NormalizedRandomGenerator、RandomData、RandomGenerator和RandomVectorGenerator。
閱讀全文
摘要: 我們講到數(shù)學(xué)的計(jì)算,難免會遇到分?jǐn)?shù)形式,因?yàn)閷?shí)數(shù)的定義就是可以表示為一個分?jǐn)?shù)的形式的數(shù),而加入虛數(shù)的復(fù)數(shù)也是偶爾會遇到的。Commons Math包中的fraction和complex包就分別提供了方法來表示這兩種數(shù)。
閱讀全文
摘要: 概率分布是概率論的一個基礎(chǔ)。
在Commons Math包中也專門有一個子包對概率分布進(jìn)行了封裝實(shí)現(xiàn)。在distribution包中,定義了一個基本接口Distribution。該接口只有兩個方法,一個是double cumulativeProbability(double x),一個是double cumulativeProbability(double x0, double x1)。前者對于服從某種分布的隨機(jī)變量X,返回P(X<=x);后者則返回P(x0<=X<=x1)。正如其名所示,這樣也就得到了概率。
閱讀全文
摘要: 函數(shù)方程求解,其實(shí)是函數(shù)的零點(diǎn)問題,也就是說函數(shù)的曲線與X軸的交點(diǎn)。對于線性方程,我們可以輕易的求解,對于線性方程組,利用前面講過的的矩陣分解方法也可以求解。那么對于函數(shù)表達(dá)的很多非線性方程的求解。我們要依賴數(shù)值算法。Commons Math包中專門有一個analysis.solver包來解決這個問題。
閱讀全文
摘要: 積分可以說是最常見的了,在函數(shù)的一節(jié)中我們講過函數(shù)的微分和給定變量求值,這里我們講講通過函數(shù)求積分,具體的數(shù)值積分方法和應(yīng)用。什么是數(shù)值積分?在數(shù)值分析中,數(shù)值積分是計(jì)算定積分?jǐn)?shù)值的方法和理論。在數(shù)學(xué)分析中,給定函數(shù)的定積分的計(jì)算不總是可行的。許多定積分不能用已知的積分公式得到精確值。數(shù)值積分是利用黎曼積分等數(shù)學(xué)定義,用數(shù)值逼近的方法近似計(jì)算給定的定積分值。借助于電子計(jì)算設(shè)備,數(shù)值積分可以快速而有效地計(jì)算復(fù)雜的積分。Commons Math中的積分包analysis.integration提供了幾種數(shù)值積分的實(shí)現(xiàn),UnivariateRealIntegrator接口是積分包中的基礎(chǔ)接口,該接口繼承了math包中的ConvergingAlgorithm接口。具體定義了一系列方法,其中比較主要的有double integrate(UnivariateRealFunction f, double min, double max)方法,這個方法就是通過min和max設(shè)定積分區(qū)間,通過f設(shè)定被積函數(shù),最后返回定積分值的方法。可以看到這個接口的實(shí)現(xiàn)是針對單變量實(shí)函數(shù)的。多元積分的實(shí)現(xiàn),目前還沒有看
閱讀全文
摘要: 在Commons Math中的analysis.interpolation包中有所有的與函數(shù)插值相關(guān)的類和接口定義。這一篇主要從這個包分析,來研究一下函數(shù)插值的應(yīng)用。在2.1的api doc中添加了很多新的接口和類實(shí)現(xiàn),但是2.0的source code里還是只有少量的實(shí)現(xiàn)。這里以2.0的source code為標(biāo)準(zhǔn),輔助以2.1的api doc(其實(shí)這都是不影響的)。
插值是數(shù)學(xué)領(lǐng)域數(shù)值分析中的通過已知的離散數(shù)據(jù)求未知數(shù)據(jù)的過程或方法。給定n個離散數(shù)據(jù)點(diǎn)(稱為節(jié)點(diǎn))(xk,yk),k= 1,2,...,n。對于,求x所對應(yīng)的y的值稱為內(nèi)插。f(x)為定義在區(qū)間[a,b]上的函數(shù)。x1,x2,x3...xn為[a,b]上n個互不相同的點(diǎn),G為給定的某意函數(shù)類。若G上有函數(shù)g(x)滿足: g(xi) = f(xi),k = 1,2,...n
則稱g(x)為f(x)關(guān)于節(jié)點(diǎn)x1,x2,x3...xn在G上的插值函數(shù)
閱讀全文
摘要: 在Commons Math中的analysis.polynomials包中有所有的與多項(xiàng)式函數(shù)相關(guān)的類和接口定義。這一篇主要從這個包分析,來研究一下多項(xiàng)式函數(shù)的應(yīng)用。
閱讀全文
摘要: 向量和矩陣可以說是線性代數(shù)的代表,那么返還到高等數(shù)學(xué)中,函數(shù)就是我們最常用到的單位了,還有各種微積分和其他應(yīng)用,都是建立在變量、函數(shù)的基礎(chǔ)上的。Commons Math庫的下一個研讀部分就是針對函數(shù)這一塊。在Commons Math中也單獨(dú)有一個analysis包完成這部分實(shí)現(xiàn)。
閱讀全文
摘要: 補(bǔ)充上一次的矩陣知識,這次主要講講矩陣的一些分解運(yùn)算——Matrix Decomposition:
矩陣分解主要有三種方式:LU分解,QR分解和奇異值分解。當(dāng)然在Math的linear包中提供了對應(yīng)的接口有CholeskyDecomposition、EigenDecomposition、LUDecomposition、QRDecomposition和SingularValueDecomposition這5種分解方式。
閱讀全文
摘要: 今天來第二篇:矩陣——Matrix。
Math包org.apache.commons.math.linear里對矩陣的表示是有一個層次結(jié)構(gòu)的。
最頂層的AnyMatrix是一個基本的interface。下面有3個sub interface:BigMatrix, FieldMatrix
, RealMatrix。而每個sub interface分別被相應(yīng)的矩陣類實(shí)現(xiàn)。整個矩陣的層次結(jié)構(gòu)也就出來了。不過其中的BigMatrix已經(jīng)不用了。被Array2DRowFieldMatrix替代了。
閱讀全文