原创 有趣的 Class 文件結構!!!

寫在前面 本文作爲閱讀了周志明作者的 <<深入理解Java虛擬機>> 的讀書筆記,同時,也結合了 SE 8 的 JAVA 虛擬機規範。 Class 文件是一組以 8 位字節爲基礎單位的二進制流,各個數據項目嚴格按照順序緊緊地

原创 這可能是最簡單明瞭的單例模式介紹了

單例模式常見的有懶漢式和餓漢式;這樣劃分是按照單例的初始化的時機劃分的,在未使用單例時,就不得不初始化好,如此的迫不及待被稱作餓漢式。只有在使用單例的時候,才進行初始化,如此的不上進被稱作懶漢式。至於這個“漢”字,我想大多的程序

原创 手撕LinkHashMap

LinkedHashMap 繼承自 HashMap ,在瞭解了 HashMap 之後,再來看看 LinkedHashMap 是如何維護它的順序的。 初始化 LinkedHashMap 的構造函數比 HashMap 的構造函數多維護

原创 dubbo系列之dubbo SPI

Dubbo 版本2.7.0 爲什麼先講 SPI ? 因爲 Dubbo 的拓展實現就是採用這一種機制。 SPI 是一種服務發現機制,全稱爲 “Service Provider Interface”。SPI 的本質是將接口實現類的全限

原创 InputStream重用

網上所找到的大多是利用 ByteArrayOutputStream 和 ByteArrayInputStream 之前的相互轉換來實現的。 具體看下列代碼 InputStream input = httpconn.getInpu

原创 如何理解SpringBoot的緩存

寫在前面 本文參考自 Spring Boot 官方文檔 簡介 對於緩存,我們常說的應該是 redis來做緩存了,但是 Spring 難道僅僅只支持特定的 redis 來做緩存嘛?Spring 經常強調的思想是:”俺們不重複造

原创 你所不知道的Java應用程序監控工具

這可能是我寫的最懶的博客系列了…如果僅僅是看一眼,那還真的是隻能看一眼 /捂臉。 附上另外兩篇懶博客: 你所不知道的JVM監控工具 你所不知道的Java故障排除工具 寫在前面 文章參考自官方文檔,僅適用於 windows 系

原创 你所不知道的JVM監控工具

這可能是我寫的最懶的博客系列了…如果僅僅是看一眼,那還真的是隻能看一眼 /捂臉。 附上另外兩篇懶博客: 你所不知道的Java應用程序監控工具 你所不知道的Java故障排除工具 寫在前面 文章參考自官方文檔,僅適用於 win

原创 docker常用命令收納

官網命令地址 這裏留下一些常用的 在容器內運行一個應用程序 docker run <image> <command> 例如:docker run ubuntu:15.10 /bin/echo "Hello world" ,Doc

原创 ubuntu常用命令收納

文章目錄查詢進程中是否存在相關進程kill 進程 查詢進程中是否存在相關進程 ps aux | grep -i apt apt 指相關進程 kill 進程 sudo kill -9 <process id> 或者更粗暴的: s

原创 你所不知道的Java故障排除工具

這可能是我寫的最懶的博客系列了…如果僅僅是看一眼,那還真的是隻能看一眼 /捂臉。 附上另外兩篇懶博客: 你所不知道的Java應用程序監控工具 你所不知道的JVM監控工具 寫在前面 文章參考自官方文檔 (當然,更詳細的內容也需

原创 手撕同步工具類源碼(一)

在瞭解了 AQS 再來學習下,它在 Java 源碼中的應用。先從同步工具類開始吧;關於同步工具類如何使用,有一篇很好的文章可以給你:點擊這裏。 CountDownLatch 允許一個或多個線程等待,直到在其它線程中執行的一組操

原创 【首篇】我想談談大型網站架構

如果能夠學到架構理論,是一件很幸福的事,而要是能夠從0到1搭建一個完整的大型網站,並且,將其投入到生活當中,還能被大多數人所使用,則是一件很幸運的事了。 這系列博客不談業務,只談技術,也暫且不論網站最終是否能夠有幸上線。這些問題,

原创 手撕AQS之共享鎖模式

寫在前面 AQS 也是在來來回回看了源碼好多遍,纔有所理解。原本打算就這一篇寫完,點到即止,但不知覺的又深入了,無法抗拒的代碼魅力啊!所以分爲兩篇,一篇共享式,一篇獨佔式,美滋滋呢。 什麼是 AQS AQS 全稱 Abstrac

原创 Intellij 快捷鍵使用總結

把我使用intellij 的一些非常實用的快捷鍵分享給大家。 以下快捷鍵的掌握有助於你提升代碼的編寫速度: 有時候,在調用一個方法時,可能忘了它的參數,那麼 ctrl + q (方法的聲明) 和 ctrl + p 將非常有用。