原创 JAVA中爲什麼Map桶中個數超過8才轉爲樹
爲什麼要轉換? 因爲Map中桶的元素初始化是鏈表保存的,其查找性能是O(n),而樹結構能將查找性能提升到O(log(n))。當鏈表長度很小的時候,即使遍歷,速度也非常快,但是當鏈表長度不斷變長,肯定會對查詢性能有一定的影響,所以才需要
原创 Spring中Bean的生命週期
最近項目有用到對Spring的擴展,順便整理下Spring中Bean的生命週期。 BeanFactory中Bean的生命週期 當調用者通過getBean(beanName)向容器請求某一個bean時,如果容器註冊了org.spri
原创 Mockito初探——快速入門
Mockito是基於CGLIB代理,實現打樁。它通過攔截對象的所有操作方法,對於滿足打樁條件的調用,返回預設的返回值。 主要註解 @InjectMocks 用於標記對象屬性允許用mock或spy注入。嘗試通過按「先構造函數注入再set
原创 Dubbo原理淺析——從RPC本質看DUBBO
RPC的本質是什麼?通俗地講RPC就是要解決遠程服務間的調用問題,也就是管理服務配置並提供便捷可靠高效的服務間調用。 我們來看看dubbo的定義:dubbo是一個分佈式的服務框架,致力於提高性能和透明化的RPC遠程服務調用方案,以及S
原创 功夫貸支付服務架構演進之路——架構原型
第三方支付的作用 在沒有第三方支付時,人們交易一般都是通過現金直接交易,當場錢貨兩清(需要雙方在場);如果是大額交易的話,一般雙方先達成商品交易信息的一致,之後買家會通過銀行櫃檯轉賬,轉賬後雙方再次確認信息(流程較長)。 有了第三方支付後
原创 支付服務架構演進之路——解決的問題
前天和朋友在一起聊天,聊到在做什麼,聽着他滔滔不絕地,真佩服他的記憶力,後面他說他都有記筆記的習慣,一篇篇的,什麼CSDN、javaeye、博客園,還自建博客。確實東西做久了,自然慢慢地也就淡忘了,回想一下以前做過的事,能記起來的還真屈
原创 sql之內外連接
作爲開發,或多或少會接觸到數據庫,之前接觸的都是零零散散的皮毛而已,現階段正想系統學一下數據庫,然後就寫些以後複習用吧。。。 SQL連接常用來關聯多張表。 常見的連接有: 內連接(INNER JOIN) 左(外)連接(LEFT (O
原创 DataGridView合併列標題
下面的示例實現如下形式的列標題合併。 ----------------------------------------------------------------- | January |
原创 Struts 2 struts.xml詳解(三)
攔截器(Interceptor)配置 上節簡單地介紹了Action的配置,這節簡單介紹一下攔截器的配置。 1 攔截器棧的配置 顧名思義,攔截器就是在action的執行前後實行攔截,加入某些操作。攔截器類似
原创 深入淺出Java設計模式之備忘錄模式
一、引子 俗話說:世上難買後悔藥。所以凡事講究個“三思而後行”,但總常見有人做“痛心疾首”狀:當初我要是……。如果真的有《大話西遊》中能時光倒流的“月光寶盒”,那這世上也許會少一些傷感與後悔——當然這隻能是癡人說夢了。 但是在我
原创 Struts 2 struts.xml詳解(二)
Action配置 上節大致講了關於struts.xml的整體結構,下面講一下它的一些詳細的配置。先從action說起吧! Method屬性 在action中有一個method屬性,可以指定此action調
原创 C#在控件上有序地動態添加自定義控件
經常我們需要在一個控件的工作區上動態添加新的控件,例如在panel控件上動態添加我們自定義的UserControl,並且希望按照我們所希望的順序顯示。 比較簡單的方法:用Dock = DockStyle.Top佈局panel.Contro
原创 C#中decimal, double, float的區別
一直很奇怪C#的預定義數據類型中爲什麼加了一個decimal,有float和double不就夠了嗎?今天來挖一挖。 浮點型 Name CTS Type Description Signi
原创 DataGridView圖像文本單元格
爲了美觀,有時候我們需要文本單元格中帶有圖標,然而微軟自帶的DataGridView控件中沒有類似的控件。下面的示例就是實現這樣的一個控件。在文本前顯示圖像,顯示出的圖像如果太大,效果不好看,可以結合之前寫過的C#圖像縮放與裁剪,自己加以
原创 C#圖像縮放與裁剪
文筆不好,不廢話,直接進入正題,不解釋,相信大家都看得懂。 按百分比縮放圖像: public static Image ScaleByPercent(Image imgPhoto, int Percent) { float n