原创 java線程的中斷的方式原理分析

雖然本篇是講解線程的中斷方式的,但是我還是想多講解一個知識點,那就是線程的啓動。只有啓動纔有中斷的,我覺得這個線程的啓動很有必要講解的。 線程的啓動 我們知道啓動線程,也就是調用 start()方法去啓動一個線程,當 run 方法中的代碼

原创 遠程通訊協議原理

一個 http 請求的整個流程: 在分佈式架構中,有一個很重要的環節,就是分佈式網絡中的計算機節點彼此之間需要通信。這個通信的過程一定會涉及到通信協議相關的知識點,當然大家也可能知道一些,但 是我會盡可能的把通信這一塊的內容串起來,加深大

原创 AQS的核心原理分析

之前已經寫過一篇關於AQS的介紹了,基本概念我就不多逼逼了,我直接把我那篇文章複製過來。後面來根據java的源碼分析這個AQS的內部實現。 前言:這一部分的基礎概念講解,全部都是我之前的一篇博客:談談你對AQS的瞭解 1.寫在前面: 這篇

原创 springBoot自動配置原理分析及自定義starter

現在java項目基本都是springboot項目構建的,我們本着他們提出的約定大於配置的思想,使用起來都特別簡單,很多情況下我們主需要引入幾個start的jar包,寫幾個註解就能用,可是你們知道這裏面的原理嗎?那我們今天就來分析一下spr

原创 Java全棧架構師學習路線圖

隨着自己的博客不斷的產出,最近發現一個痛點,想找一篇自己的博客,很難找,及時有分類,但是覺得還不是很直觀。因爲最近應該會有一大批文章會產出(已經寫好了一個系列,暫時還沒有公佈出來,再修改下統一發出來)。以後我的博客都會是一個系列一個版本,

原创 java多線程併發面試必備

前言:由於最近準備買面試,我看了很多多線程併發相關的面試題,我把我覺得最可能被問到的一些知識點記錄下來,希望能夠幫助到大家   1.Synchronized 和 ReenTrantLock 的對比 ①兩者都是可重入鎖。“可重入鎖”概念是:

原创 java CAS原理分析和ABA問題的產生和解決方案

本文會從java的源碼對CAS算法進行分析,分析出CAS底層實現和併發包的原子類操作用CAS而不用synchronized,此外還會分析CAS的缺點和ABA問題的解決方案,希望能夠對大家有所幫助 1.什麼是CAS CAS 全稱是 comp

原创 java13 新特性

JDK13今日發佈,帶來5大新特性 JDK JDK作爲JAVA的核心,發展至今,已經更新到13版本了。 早在2017年8月,JCP執行委員會就已經提出將JAVA的發佈頻率修改調整爲每六個月一次,新的發佈週期將嚴格遵循這個時間點,每年的3

原创 java從菜鳥到巨佬的學習目標

工作一年多了,覺得自己還是很菜,就會簡單的crud,啥數據結構,算法,計算機組成原理......這一切都不咋會。但是又不知道自己需要從哪學,從我一個室友給的建議,把你想要的學的列出來,然後一點一點去征服他們。這幾天上班沒啥事,想了想自己想

原创 JVM虛擬機類加載機制的學習

前言:學習JVM是一個漫長的課程,在你學的過程中,JVM的學習過程中是枯燥的乏味的,不要想着一口喫一個胖子,需要沉下心,一步一步來。 JVM是一個令人望而卻步的領域,因爲它博大精深,涉及到的內容與知識點非常之多。雖然Java開發者每天都在

原创 java原理系列之---hello world入門

java原理系列的目錄已經寫了幾個月了,一直沒有時間準備這個專題的,現在打算用兩個月來搞這個專題,做到每週兩更,希望有人能夠期待我的博客更新。滿滿的乾貨,不會讓你們失望哦。 我們不論學什麼語言,都會有一個hello world入門,既然學

原创 java的淺拷貝與深拷貝(java clone)

剛纔在總結原型設計模式的時候,覺得有必要把java的clone拿出來分析一下 想一想,爲什麼需要克隆? 爲什麼不重新new一個?道理很簡單,目的是想要兩個相同的對象,重新new一個還得自己重新賦值,太麻煩 如何克隆一個對象,初學者可能會這

原创 你非常熟悉的Spring的@Autowired的底層注入原理

前言:今天在羣裏看有人在討論@Autowired相關的知識,有很多人說按照類型裝配依賴對象,有說按name裝配依賴的對象,有的說先按類型再按照name去裝配......這些問題雖然很基礎,但是確實也有很多人不清楚,很多人也是隻是記住了裝配

原创 spring中single的bean注入了一個prototype的Bean的解決方案(@Lookup)

前言:在工作中我們大多都會用spring提供的single模式的bean,當然也有prototype類型的bean。但是你們知道當一個singleton的bean,引入了一個prototype類型的bean會發生什麼嗎? 我們用一個小案例

原创 java多線程原理之--進程與線程的原理分析

想必大家面試應該都會問過這樣一個知識點:什麼是進程,什麼是線程? 想必大家可能都會說的一個回答: 進程是操作系統資源分配的基本單位,而線程是cpu調度和執行的基本單位。一個應用程序就是一個進程,一個進程可以有多個線程。。。。。。 你要是這