原创 java socket解決半包、粘包問題
java socket解決半包、粘包問題 一、java socket出現半包、粘包問題原因及解決見博客: http://www.cnblogs.com/solq/p/4315763.html http://bbs.csdn.net/to
原创 Tomcat6配置數據源
之前用SSH的時候沒自己配置過數據源,最近項目沒用SSH了,所以需要手動配置數據源,數據庫爲oracle,折騰了一個多小時,理清了一點思路,所以在此寫下tomcat配置數據源的幾種方式。 1.在Tomcat根目錄/conf/Catalin
原创 關於緩存擊穿、緩存雪崩、緩存穿透
設計一個緩存系統,不得不要考慮的問題就是:緩存穿透、緩存擊穿與失效時的雪崩效應。 緩存穿透 緩存穿透是指查詢一個在DB中根本不存在的key,由於緩存一般是不命中時被動寫入的,如果從存儲層查不到數據是不寫入緩存,這將導致這個不存在的數據請求
原创 關於Redis分佈式鎖
關於Redis分佈式鎖 參考:https://redis.io/topics/distlock 關於分佈式鎖的一些設計要點: 安全性保證:互斥,在任何
原创 spring源碼閱讀之AbstractBeanFactory與bean的加載過程
AbstractBeanFactory的層次結構 一. AbstractBeanFactory的作用 api裏是這樣說的,是抽象BeanFactory的基類,同時實現了ConfigurableBeanFactory的SPI,提供了所有的
原创 spring源碼之二:Spring容器啓動與單例bean的初始化
在上一篇文章中分析了spring容器的初始化過程,這篇文章分析spring容器的初始化與單例bean的初始化過程 這裏說一個IDE看源碼的過程,有時候你找不到源碼之間的調用關係,在方法上使用快捷鍵CTRL+G,查找方法被調用的過程 上一篇
原创 Spring之一 Spring容器XmlWebApplicationContext實例化與啓動過程
XmlWebApplicationContext它既是 DispatcherServlet 的 (WebApplicationContext)默認策略,又是 ContextLoaderListener 創建 root WebApp
原创 spring擴展點之BeanFactoryPostProcessor和BeanPostProcessor
先來看下這兩個接口的定義: /* * Copyright 2002-2016 the original author or authors. * * Licensed under the Apache License, Ver
原创 spring源碼閱讀之循環依賴的解決
循環依賴就是循環引用,就是兩個或多個Bean相互之間的持有對方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA,則它們最終反映爲一個環。此處不是循環調用,循環調用是方法之間的環調用
原创 JAVA RMI使用
Java RMI 指的是遠程方法調用 (Remote Method Invocation)。它是一種機制,能夠讓在某個 Java 虛擬機上的對象調用另一個 Java 虛擬機中的對象上的方法 Java RMI概念 在Java中,只要
原创 Axis2框架實現WebService
Axis2快速入門:http://axis.apache.org/axis2/java/core/docs/quickstartguide.html 一、Eclipse axis2插件安裝 Axis2主頁上有關於插件的安裝方法;見http
原创 spring cloud之Hystrix
雪崩效應:微服務架構的應用系統通常包含多個服務層。微服務之間通過網絡進行通信,從而支撐起整個應用系統,因此,微服務之間難免存在依賴關係。任何微服務都並非100%可用,網絡往往也很脆弱,因此有些請求會失敗。我們常把”基礎服務故障“導致”
原创 WebService學習
一、WebService學習 WebService是一種跨編程語言和跨操作系統平臺的遠程調用技術。 所謂跨編程語言和跨操作平臺,就是說服務端程序採用java編寫,客戶端程序則可以採用其他編程語言編寫,反之亦然!跨操作系統平臺則是指
原创 KAFKA學習記錄
KAFKA學習記錄 我學習kafka主要是通過《kafka權威指南》這本書,以及網上的一些博客,看書遇到不明白的地方就去網上找一些資料,包括以下
原创 簡單RPC之Socket實現
最近在學習RPC,看了些文章和代碼,RPC的底層是通過SOCKET通信來實現的,這篇文章就是關於RPC的Socket簡單實現。 rpc的相關概念可以參考這篇文章:http://blog.csdn.net/yinwenjie/article