原创 spring cloud alibaba 2.2.0 + seata 1.2 + nacos 1.2.1搭建分佈式事物

Seata 是一款開源的分佈式事務解決方案,致力於提供高性能和簡單易用的分佈式事務服務。Seata 將爲用戶提供了 AT、TCC、SAGA 和 XA 事務模式,爲用戶打造一站式的分佈式解決方案。 版本信息 spring-cloud-al

原创 Synchronized原理解析

 Synchronized是Java中解決併發問題的一種最常用的方法,也是最簡單的一種方法,屬於重量級鎖。Synchronized的作用主要有三個:(1)確保線程互斥的訪問同步代碼(2)保證共享變量的修改能夠及時可見(3)有效解決重排序

原创 ThreadPoolExecutor源碼解析

 創建線程池最終都會調用下面這個方法 對上面參數做一下簡單講解 corePoolSize 線程池中核心線程數 maximumPoolSize 線程池中最大線程數 keepAliveTime 線程池中空閒線程存活時間 TimeUnit 

原创 Java源碼之ArrayList

總體介紹 Collection接口是集合類的根接口,Java中沒有提供這個接口的直接的實現類。Set和List兩個類繼承於它。Set中不能包含重複的元素,也沒有順序來存放。而List是一個有序的集合,可以包含重複的元素。

原创 Java內省技術

內省 內省是Java語言的一種重要特性。使用內省我們可以在運行時得到一個類的內部信息。這些信息包括方法、屬性、構造函數及其他。內省的一個應用是開發使用插件的應用程序。應用程序可以在運行時獲取並使用插件類的構造函數、方法和屬性。內省也可以應

原创 SpringBoot+Dubbo+zookeeper整合

廢話不多說 開整 新建dubbo-parent  父工程 加入以下jar包 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-

原创 ConcurrentHashMap源碼分析

HashMap :先說HashMap,HashMap是線程不安全的,在併發環境下,可能會形成環狀鏈表(擴容時可能造成,具體原因自行百度google或查看源碼分析),導致get操作時,cpu空轉,所以,在併發環境中使用HashMap是非常

原创 Volidate詳解

爲什麼使用Volidate? 線程棧(線程的工作內存)保存了線程運行時候變量值信息。當線程訪問某一個對象時候值的時候,首先通過對象的引用找到對應在堆內存的變量的值,然後把堆內存變量的具體值load到線程本地內存中,建立一個變量副本,

原创 Spring Cloud Config 客戶端的高可用實現

Spring cloud configSpring cloud config 搭建過程參考 http://blog.didispace.com/springcloud4/ 在使用spring cloud 構建分佈式系統的過程中,爲了完成多