原创 ConcurrentHashMap 併發讀寫,用了什麼黑科技

Photo By Instagram love_loyi昨天的問題ConcurrentHashMap 在我們平時編碼的過程中不是很常用,但是它在 Java 基礎面試中是也是一道必考題,通常會拿出來和 HashMap 做比較,所以我們必須

原创 一分鐘看穿零拷貝,看不懂你打我

想要弄清楚什麼是零拷貝,首先得明確一個問題,這裏的拷貝指的是什麼?我們這裏所描述的 拷貝 指的是在應用程序中將文件從 A 拷貝到 B,其中的 A 和 B 可以是電腦上的磁盤文件,也可以是網絡中的文件。像這樣的拷貝操作在操作系統中經歷了複雜

原创 AtomicLong 是不是該淘汰了?

Photo By Instagram sooyaaa問題 5.相信你一定記得學習併發編程的一個入門級例子,多個線程操作一個變量,累加 10000 次,最後結果居然不是 10000。後來你把這個變量換成了併發包中的原子類型變量 Atomi

原创 細嚼慢嚥 Java 線程池,你品你細品

Photo By Instagram natgeoadventure問題 13你好同學,我是今天的面試官。咱們來聊聊平時開發中爲什麼要使用線程池技術,Java 線程池它具體是怎麼實現的?好處多多假設我們不使用線程池技術,那麼就在任務來臨

原创 索引看這篇就夠了

點擊上方“碼農尼克”關注公衆號,一起來學習!索引是什麼索引是一種可以加快查詢的數據結構。例如我們在讀書,查新華字典的時候,我們不會一頁一頁的翻去找到我們要查找的內容。我們是在書的前幾頁的目錄中首先找到我們要查找的內容在書中的第幾頁,然後

原创 final 這道送分題,你答對了嗎?

Photo By Instagram ro.junghwa   上期問題你用過 Java 中的 final 關鍵字嗎?它有哪些作用?這也是出鏡率極高的題目哦。我的答案1. final 修飾類的時候代表這個類是不可以被擴展繼承的,例如 J

原创 ClassNotFoundException 與 NoClassDefFoundError 到底有什麼區別?

Photo By Instagram sooyaaa問題 12你在開發中碰到過 ClassNotFoundException 和 NoClassDefFoundError 嗎?它們有什麼區別?我的答案首先這倆個錯誤都代表着 JVM 無法

原创 面試官問我 volatile 是否存在僞共享問題?我懵逼了

Photo By Instagram sooyaaa昨天的問題往期問題中,我們介紹了 LongAdder 工具類。我們知道了 LongAdder 中爲了分散熱點數據,存在一個 volatile 修飾的 Cell 數組。由於數組的連續存儲

原创 ConcurrentHashMap 併發擴容騷操作

上期問題 少年,老衲看你骨骼清奇,眉宇之間透露着一股王者的氣息。來吧,跟我講講 ConcurrentHashMap 是如何進行管理它的容量的,也就是當我們調用它的 size 方法的時候發生了什麼故事?(前面我們介紹了 Concur

原创 Java 泛型三連炮,你能接得住嗎?

Photo By Instagram sooyaaa上期問題利用 Java 中的動態綁定我們可以實現很多有意思的玩法。例如Object obj = new String();集合類想必是小夥伴們低頭不見擡頭見的類了,那麼你有沒有想過集合

原创 微服務之權限認證 OAuth2.0

隨着互聯網技術的發展,微服務架構已經成爲每個互聯網公司的標配。伴隨着服務粒度的細化,服務的安全和鑑權問題,以及客戶端與服務之間的認證問題已經成爲必不可少的一項工作。說起認證和鑑權,那怎麼少得了 OAuth 2.0 協議呢? 火鍋

原创 10 道超級高頻 Java 面試題,助力金三銀四

簡介 大家好,我是毛毛蟲,也是公衆號 Java dev 的作者,多年一線研發老兵,面試超過 200 人次,也算是在面試方面稍有經驗,2019 年下半年的時候開始琢磨着如何把自己的一些知識點分享給初級的研發同學。 任何一個技術人都逃

原创 關於 Integer,你要知道的事

Photo By Instagram sooyaaa問題 11前段時間在脈脈上看到一位面試官分享出來的一道關於 Integer 的面試題目,當時看了以後心裏有點猶豫,知道 Integer 有緩存,但是這道題目還是做的有些猶豫,於是仔細琢

原创 Lock 和 Condition 併發編程大師重複造輪子?

Photo By Instagram sooyaaa昨天的問題Java 在語法層面已經有了 synchronized 來實現管程,爲什麼還要在 JDK 中提供了 Lock 和 Condition 工具類來做這樣的事情,這屬於重複造輪子嗎

原创 final 這道簡單題,你做對了嗎

修飾類 final 修飾類的時候代表這個類是不可以被擴展繼承的,例如 JDK 裏面的 String 類。 修飾方法 final 修飾方法的時候代表這個方法不能被子類重寫。 修飾變量 final 修飾變量的時候,這個變量一旦被賦值就