原创 Ribbon核心工作原理
Ribbon核心工作原理 1.Ribbon的核心接口 接口 描述 默認實現 IClientConfig 定義 Ribbon 中管理配置的接口 DefaultClientConfiglmpl IRule 定義 Ri
原创 五:線程計數器的理解
CountDownLatch 讓一些線程堵塞直到另一個線程完成一系列操作後才被喚醒。CountDownLatch 主要有兩個方法,當一個或多個線程調用 await 方法時,調用線程會被堵塞,其他線程調用 countDown 方法會
原创 十二:JVM調優及參數配置
JVM 的參數類型 標配參數 -version -help X 參數(瞭解) -Xint:解釋執行 -Xcomp:第一次使用就編譯成本地代碼 -Xmixed:混合模式 XX 參數 Boolean 類型:-XX:+
原创 二:CAS的理解
CAS 是什麼 CAS 的全稱 Compare-And-Swap,它是一條 CPU 併發操作。 它的功能是判斷內存某一個位置的值是否爲預期,如果是則更改這個值,這個過程就是原子的。 CAS 併發原體現在 JAVA 語言
原创 九:jvm垃圾的確定與GC ROOT對象
JVM 垃圾回收的時候如何確定垃圾?知道什麼是 GC Roots ? 什麼是垃圾 簡單來說就是內存中已經不在被使用到的空間就是垃圾 要進行垃圾回收,如何判斷一個對象是否可以被回收? 引用計數法 枚舉根節點做可達性分析
原创 第四節 spring容器的擴展功能
文章目錄前言核心過程1.ClassPathXmlApplicationContext2.refresh()函數1:)prepareRefresh-環境準備2:)obtainFreshBeanFactory-初始化beanfacto
原创 學好Spring Security 和Apache Shiro你需要具備這些條件
前言 web應用達到生產需要就必須有安全控制。java web領域經常提及的兩大開源框架主要有兩種選擇 Spring Security和Apache Shiro 。所以學習這兩種框架也是java開發者提高水平的必經之路。從今天開始
原创 十三:Callable、Future和FutureTask之間的關係
文章目錄Callable與RunnableFutureFutureTask Callable與Runnable 先說一下java.lang.Runnable吧,它是一個接口,在它裏面只聲明瞭一個run()方法: public in
原创 七: 深入理解Java之線程池
一、JDK線程池的總體api架構: 二、ThreadPoolExecutor類 public class ThreadPoolExecutor extends AbstractExecutorService { ......
原创 第三節 Spring加載bean的過程
前言 通過前面兩節的學習我們已經知道了Spring是如何解析XML與裝載BeanDefinition的;在本章節中我們將繼續學習bean的裝載過程這將會面臨更大的挑戰,bean加載的功能實現遠比bean的解析要複雜得多,不過沒關係
原创 三:ArrayList的理解
ArrayList 線程不安全的案例和解決方案 故障現象 public class ContainerDemo { public static void main(String[] args) { Li
原创 一:Volatile的理解
一、輕量級的同步機制 保證可見性 禁止指令排序 不保證原子性 二、基本概念 JMM 本身是一種抽象的概念並不是真實存在,它描述的是一組規定或則規範,通過這組規範定義了程序中的訪問方式。 JMM 同步規定 線程解鎖前,必須把
原创 Spark的運行模式講解
文章目錄一、背景二、yarn-client模式1.yarn-client運行流程圖2.yarn-client的工作流程三、yarn-cluster模式1.yarn-cluster運行流程圖2.yarn-cluster的工作流程四、
原创 四:java中的鎖分類
java 中鎖有哪些 1.公平和非公平鎖 是什麼 **公平鎖:**是指多個線程按照申請的順序來獲取值 **非公平鎖:**是值多個線程獲取值的順序並不是按照申請鎖的順序,有可能後申請的線程比先申請的線程優先獲取鎖,在高併發的情況
原创 八:死鎖編碼以及定位分析
死鎖編碼以及定位分析 產生死鎖的原因 死鎖是指兩個或兩個以上的進程在執行過程中,因爭奪資源而造成的一種相互等待的現象,如果無外力的干涉那它們都將無法推進下去,如果系統的資源充足,進程的資源請求都能夠得到滿足,死鎖出現的可能性就