原创 初識多線程及其原理-筆記

什麼情況下應該使用多線程? 通過並行計算提高程序執行性能 需要等待網絡、I/O響應導致耗費大量的執行時間, 可以採用異步線程的方式來減少阻塞 tomcat7 以前的io模型 客戶端阻塞 線程級別阻塞 BIO 如何應用多

原创 不要忽略異常(65)

請不要忽略異常, 尤其在api方法聲明將會拋出的異常,這是定義者在試圖說明某種問題 空的catch 塊起到忽略異常的作用 對空的catch 塊保持警惕,不應該出現 至少也要寫明忽略該異常的原因 有一種異

原创 在細節消息中包含能夠捕獲失敗的信息(63)

程序由於未被捕獲異常失敗時,系統會自動打印該異常的堆棧軌跡 包含異常的字符串表示法(toString) 通常包含異常的類名,以及緊隨其後的細節信息(detail message) 是檢查程序失敗的必須信息 異常的toString方法應該

原创 努力使失敗保持原子性(64)

失敗的原子調用應該使得對象保持在被調用之前的狀態,所謂:失敗原子性 幾種途徑實現: 設計一個不可變對象,其失敗原子性是顯然的 對於可變參數,執行前檢查參數有效性 避免執行一半報錯,後續無法執行導致狀態不一致 調整計算順

原创 開源中國,再見

https://mp.csdn.net/ 編輯器不好用,提醒我有辱罵言論,而且聯繫不上管理員

原创 B~樹(B-Tree)與B+樹

注意:首先需要說明的一點是:B - 樹就是 B ~樹,沒有所謂的B 減 樹 二叉查找樹的查找的時間複雜度是O(log N),其查找效率已經足夠高了, 那爲什麼還有B~樹和B+樹的出現呢? 難道它兩的時間複雜度比二叉查找樹還小嗎?  答案

原创 ActiveMQ-inAction-JMS-學習筆記

JMS 的基本構件 連接工廠 連接工廠是客戶用來創建連接的對象,例如ActiveMQ 提供的ActiveMQConnectionFactory。 連接 JMS Connection 封裝了客戶與JMS 提供者之間的一個

原创 分佈式消息通信-ActiveMQ-筆記

消息中間件的初步認識 什麼是消息中間件? 消息中間件是指利用高效可靠的消息傳遞機制進行平臺無關的數據交流,並基於數據通信來進行分佈式系統的集成。 通過提供消息傳遞和消息排隊模型,可以在分佈式架構下擴展進程之間的通信。

原创 ActiveMQ 安裝

下載地址:http://activemq.apache.org/download.html(或者百度直接搜) 直 接 copy 到 服 務 器 上 通 過 tar -zxvf apacheactiveMQ.tar.gz 啓動運行 普通

原创 oracle mybatis 批量插入 自增id

實現方案一: <!-- 使用sql 實現 --> <insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys="false" >

原创 druid 加密

java -cp druid-1.0.21.jar com.alibaba.druid.filter.config.ConfigTools root 切記root 不要帶空格(血的教訓) 執行結果: privateKey:MIIBVgI

原创 dubbo學習之-常用功能

多版本支持 設置不同版本的目的,就是要考慮到接口升級以後帶來的兼容問題。 在Dubbo中配置不同版本的接口,會在Zookeeper地址中有多個協議url的體現,具體內容如下 dubbo://192.168.11.1:20880%2Fco

原创 dubbo源碼分析-服務端發佈流程-筆記

Spring對外留出的擴展 dubbo是基於spring 配置來實現服務的發佈的,那麼一定是基於spring的擴展來寫了一套自己的標籤,那麼spring是如何解析這些配置呢?具體細節就不在這裏講解,大家之前在學習spring源碼的時候,

原创 dubbo源碼分析-消費端啓動初始化過程-筆記

消費端的代碼解析是從下面這段代碼開始的 <dubbo:reference id="xxxService" interface="xxx.xxx.Service"/> ReferenceBean(afterPropertiesSet) ->

原创 dubbo 知識點

總結 dubbo的發展和使用 基於Dubbo的RPC調用 zookeeper+dubbo的實現原理 Dubbo的常用配置(多協議、多註冊中心、啓動時檢查、重試、LoadBalance) Dubbo的容器支持 主機綁定 集羣容錯 Dubb