原创 喫個快餐都能學到串行、並行、併發

Java 多線程系列文章第 3 篇 這篇文章繼續來嘮嘮概念,講這三兄弟:串行(Serial)、並行(Parallel)、併發(Concurrent)。 喫快餐 出門在外喫飯是一件頭疼的事,用我大學舍友一句話形容:如果不是沒喫

原创 『電影』遺願清單

電影簡述遺願清單裏講的是 2 位得了癌症的老人在一間病房發生的是事情。一位是黑人,名叫卡特,他來自一個相處非常融洽的家庭,一位是白人,名叫愛德華,他是一個富商,結果幾次婚,但都離婚了。他們先後得了癌症進入了同一間病房,富人肯定不願意有他

原创 建羣啦

前段時間有朋友在公衆號後臺發 CSDN 下載鏈接給我,那會比較忙,沒及時看到消息,當我看到的時候,下載完發現回覆不了(公衆號後臺消息超過一定時間就沒法回覆),纔想起可能需要建個羣來提供服務。今天開始建這麼一個羣,不僅僅是提供 CSDN

原创 synchronized 代碼塊怎麼用

加不加 synchronized 有什麼區別? synchronized 作爲悲觀鎖,鎖住了什麼? 之前 2 篇文章我們已經知道 synchronized 的使用方法以及鎖的內容(實例對象和Class類對象),這已經涵蓋了這個關

原创 synchronized 作爲悲觀鎖,鎖住了什麼?

繼續來認識 synchronized,上篇文章加不加 synchronized 有什麼區別?我們瞭解了 synchronized 是在多線程併發競爭同一資源的時候使用,這一篇我們來了解,synchronized 作爲悲觀鎖,鎖住了什麼?

原创 加不加 synchronized 有什麼區別?

今天一起來認識認識 synchronized 這個一面試就會被提到的關鍵字。這一篇不會講太多理論,主要先熟悉熟悉一下最簡單的用法。只討論一個問題:方法沒用 synchronized 和用了 synchronized 有什麼區別?

原创 週末學了個“吸英大法”

曦曦粉絲會視頻鏈接: https://v.qq.com/x/page/o3010zxz73y.html 週末閒看微信時,看到了上面這個視頻,一個 4 歲的小孩,面對一羣大人提出的人問題,回答得頭頭是道,燃起了我的好奇心:一個還沒上學的小孩

原创 從 JVM 視角看看 Java 守護線程

Java 多線程系列第 7 篇。 這篇我們來講講線程的另一個特性:守護線程 or 用戶線程? 我們先來看看 Thread.setDaemon() 方法的註釋,如下所示。 Marks this thread as either a daem

原创 寫了那麼多年 Java 代碼,終於 debug 到 JVM 了

繼上篇文章 原創 | 全網最新最簡單的 openjdk13 代碼編譯 之後,我們有了自己編譯後的 jdk 和 hotspot,如下圖所示。接下來就來幹一番事情。 搭建調試環境 1.下載 CLion 軟件 Jetbrains 是一家非常牛

原创 全網最新最簡單的 OpenJDK13 代碼編譯

目錄 開始咯 1.下載源碼 2.安裝編譯需要的依賴 3.安裝 jdk 12 4.檢查配置 5.開始編譯 6.驗證是否成功 回顧 個人博客原文:全網最新最簡單的 OpenJDK13 代碼編譯 最近因寫文章需要查看 JVM 源碼

原创 瞭解Java線程優先級,更要知道對應操作系統的優先級,不然會踩坑

Java 多線程系列第 6 篇。 這篇我們來看看 Java 線程的優先級。 Java 線程優先級 Thread 類中,使用如下屬性來代表優先級。 private int priority; 我們可以通過 setPriority(int

原创 線程最最基礎的知識

Java 多線程系列文章第 5 篇。 什麼是線程 試想一下沒有線程的程序是怎麼樣的?百度網盤在上傳文件時就無法下載文件了,得等文件上傳完成後才能下載文件。這個我們現在看起來很反人性,因爲我們習慣了一個程序同時可以進行運行多個功能,而這

原创 關於面試 | 如何解決消息隊列的延時以及過期失效問題?消息隊列滿了以後該怎麼處理?有幾百萬消息持續積壓幾小時,說說怎麼解決?...

作者:Doocs 開源社區面試題如何解決消息隊列的延時以及過期失效問題?消息隊列滿了以後該怎麼處理?有幾百萬消息持續積壓幾小時,說說怎麼解決?面試官心理分析你看這問法,其實本質針對的場景,都是說,可能你的消費端出了問題,不消費了;或者消

原创 關於面試 | 如何保證消息的可靠性傳輸?

作者:Doocs 開源社區面試官心理分析這個是肯定的,用 MQ 有個基本原則,就是數據不能多一條,也不能少一條,不能多,就是前面說的重複消費和冪等性問題。不能少,就是說這數據別搞丟了。那這個問題你必須得考慮一下。如果說你這個是用 MQ

原创 爲什麼阿里巴巴建議開發者謹慎使用繼承?

作者 l Hollis來源 l Hollis(ID:hollischuang)從學習Java的第一天起,我們就知道Java是一種面嚮對象語言,而學習Java的第二天,我們就知道了面向對象的三大基本特性是:封裝、繼承、多態。所以,對於很多