原创 Netty源碼閱讀之ByteBuf

一、ByteBufHolder與平時不一樣的地方 幾乎所有的方法都返回了自己,只有第一個方法返回的是ByteBuf。這樣做的好處是,可以鏈式調用多個方法來進行處理。平時寫代碼,基本上都是一個方法返回一個類型的結果,沒有像這樣進行

原创 對象之間的關係圖

https://blog.csdn.net/wq6ylg08/article/details/81092056 https://www.ibm.com/developerworks/cn/java/j-lo-spring-principl

原创 Spring框架理解

https://www.ibm.com/developerworks/cn/java/wa-spring1/ 一、相關概念理解 在典型的 IOC 場景中,容器創建了所有對象,並設置必要的屬性將它們連接在一起,決定什麼時間調用方法。下表列出

原创 安裝RocketMQ遇到的問題

一、啓動console的時候報錯: 1.RemotingConnectException: connect to <172.17.0.1:10909> 2.RemotingConnectException: connect to <172

原创 java中使用CAS遇到的問題

1.在使用cas的時候,一般會使用循環,來保證操作成功,這樣會使得CPU開銷很大 2.一次只能保證一個元素的原子操作 3.有ABA問題需要注意

原创 一箇中心,兩個基本點

以健康發展爲中心,以事業與知識體系建設爲基本點。強化個人綜合能力,爲家庭提供良好的生活環境,爲個人未來的發展奠定基礎。健康、事業和知識,三個主要核心,將作爲核心發展方向。娛樂消遣,作爲獎勵。 一、健康 身體健康,精力充沛,反

原创 ConcurrentHashmap中size的實現原理

       在手寫hashmap的時候,考慮到併發問題,用的直接是synchronized進行加鎖操作,使得線程安全,但這樣在併發情況下性能會很低。ConcurrentHashmap主要使用的事synchronized加cas來實現併發

原创 第一篇,一個接口的工作原理是什麼樣的?

        寫接口是後端開發必做的事情,那一個接口是如何工作的呢?首先,客戶端發起請求,客戶端可以是瀏覽器,app或者是另外一個服務,發起請求一般是通過url,這裏又涉及到域名解析,域名解析得到ip地址,ip默認對應的是80端口號。有

原创 deploy本地包到遠程maven倉庫

上傳的時候一直報錯: Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1] 上傳的語句是這樣的: mvn deploy:deploy-file -Dmaven.te

原创 空間與時間 信息與能量

      軟件工程,本質上是信息與能源的轉化。信息技術是對現實世界的建模,通過建模之後,就可以通過輸入信息來控制現實世界中的物體。人與人,人與物,物與物,都通過信息來進行交流,人與人交流加速了知識的傳遞,人與物交流,加速了基礎設施的建設

原创 深圳三年感受

     16年十月份來到深圳實習,到現在已經有三年了。在這三年裏,經歷了很多,自己也發生了很多變化。 三年的變化:       1.實習快結束的時候,在公司認識了一個女朋友,後來結婚了       2.從談朋友到結婚,自己胖了三十斤,差

原创 一.未來學習的規劃

       從事軟件開發已經有三年時間了,實習差不多一年。回顧之前的工作經歷,大部分時間是在處理業務問題,說得不好聽就是處理公司的流水賬。在技術能力上,很多人都只會用,遇到問題纔會想着去了解原理,或者是在遇到面試的時候。如果原理對於工作

原创 《便便來了,你的腸子在說啥?》----腸道在喊救命

        這本書,跟生活息息相關,是改善健康非常好的指南。我們知道,要想對一個東西進行優化,首先需要能夠獲得反饋,不斷對自己的行爲進行優化。這裏的反饋就是對大便進行觀察,留意它的形狀、顏色、氣味,這些信息其實都反應了腸胃的健康狀態。

原创 如何保證HashMap的線程安全?

   這是一道面試題,當時沒有準備,臨時回答有點忘了。後面看了一下,使用Collections.synchronizedMap()包裝一下就可以了,原理就是對所有的修改操作都加上synchronized,保證了線程的安全。

原创 手寫Hashmap第二版

      在第一版的基礎上,如果需要實現線程安全,需要在增加、刪除、擴容的時候加鎖。擴容的時候,需要對整個數組加鎖。增加和刪除的時候,只需要對鏈表的頭結點進行加鎖。具體實現代碼如下: package www.dustin.li.col