Fork me on GitHub
摘要:哈嘍,親愛的小伙伴們,技術學磊哥,進步沒得說!歡迎來到新一期的性能解讀系列,我是磊哥。 今天給大家帶來的是關于 try-catch 應該放在循環體外,還是放在循環體內的文章,我們將從性能和業務場景分析這兩個方面來回答此問題。 很多人對 try-catch 有一定的誤解,比如我們經?;嵐閹╰ry-c 閱讀全文
posted @ 2020-06-02 10:33 Java中文社群 閱讀(2154) 評論(7) 推薦(10) 編輯
摘要:哈嘍,親愛的小伙伴們,技術學磊哥,進步沒得說!歡迎來到新一期的性能解讀系列,我是磊哥。 今天給大家帶來的是關于阿里巴巴《Java開發手冊》泰山版(最新)中關于集合初始化時的性能建議。 阿里巴巴《Java開發手冊》第 1 章編程規范,第 6 節集合處理的第 17 條規定如下: 【推薦】集合初始化時,指 閱讀全文
posted @ 2020-05-29 12:30 Java中文社群 閱讀(503) 評論(0) 推薦(0) 編輯
摘要:生活中的尷尬無處不在,有時候你只是想簡單的裝一把,但某些“老同志”總是在不經意之間,給你無情的一腳,踹得你簡直無法呼吸。 但誰讓咱年輕呢?吃虧要趁早,前路會更好。 喝了這口溫熱的雞湯之后,咱們來聊聊是怎么回事。 事情是這樣的,在一個不大不小的項目中,小王寫下了這段代碼: 本來是用它來替代下面這段代碼 閱讀全文
posted @ 2020-05-22 15:48 Java中文社群 閱讀(712) 評論(0) 推薦(2) 編輯
摘要:為了上班方便,去年我把自己在北郊的房子租出去了,搬到了南郊,這樣離我上班的地方就近了,它為我節約了很多的時間成本,我可以用它來做很多有意義的事,最起碼不會因為堵車而鬧心了,幸福感直線上升。 但即使這樣,生活也有其他的煩惱。南郊的居住密度比較大,因此停車就成了頭痛的事,我租的是路兩邊的非固定車位,每次 閱讀全文
posted @ 2020-05-18 09:57 Java中文社群 閱讀(565) 評論(0) 推薦(4) 編輯
摘要:Redis 6.0.1 于 2020 年 5 月 2 日正式發布了,如 Redis 作者 antirez 所說,這是迄今為止最“企業”化的版本,也是有史以來改動最大的一個 Redis 版本,同時也是參與開發人數最多的一個版本。 所以在使用此版本之前,建議各位開發者先進行深入的測試再考慮投產,畢竟生產 閱讀全文
posted @ 2020-05-03 13:23 Java中文社群 閱讀(952) 評論(0) 推薦(0) 編輯
摘要:隨著 JDK 1.8 Streams API 的發布,使得 HashMap 擁有了更多的遍歷的方式,但應該選擇那種遍歷方式?反而成了一個問題。 本文 先從 HashMap 的遍歷方法講起,然后再從性能、原理以及安全性等方面,來分析 HashMap 各種遍歷方式的優勢與不足 ,本文主要內容如下圖所示: 閱讀全文
posted @ 2020-04-29 17:38 Java中文社群 閱讀(137) 評論(0) 推薦(0) 編輯
摘要:String 類型是我們使用最頻繁的數據類型,沒有之一。那么提高 String 的運行效率,無疑是提升程序性能的最佳手段。 我們本文將從 String 的源碼入手,一步步帶你實現字符串優化的小目標。 不但教你如何有效的使用字符串,還為你揭曉這背后的深層次原因 。 本文涉及的知識點,如下圖所示: 在看 閱讀全文
posted @ 2020-04-29 17:37 Java中文社群 閱讀(79) 評論(0) 推薦(0) 編輯
摘要:if else 是我們寫代碼時,使用頻率最高的關鍵詞之一,然而有時過多的 if else 會讓我們感到腦殼疼,例如下面這個偽代碼: 是不是很奔潰?雖然他是偽代碼,并且看起來也很夸張,但在現實中,當我們無數次 review 別人代碼時,都會發現類似的場景,那么我們本文就來詳細聊聊,有沒有什么方法可以讓 閱讀全文
posted @ 2020-04-29 17:33 Java中文社群 閱讀(1209) 評論(3) 推薦(4) 編輯
摘要:Spring Boot 在啟動的時候,我們或許想要把自己公司的 logo,或者是項目的 logo 放上去,我們可以試試本文的這些方法,可以讓你快速制作一些 Spring Boot 項目啟動時的彩蛋,以提高項目的辨識度,或者是純碎為了給枯燥的生活平添一些樂趣,那么本文這些內容能很好的幫助到你。 本文知 閱讀全文
posted @ 2020-04-20 11:38 Java中文社群 閱讀(388) 評論(0) 推薦(0) 編輯
摘要:我想所有 Java 程序員都曾被這個 new String 的問題困擾過,這是一道高頻的 Java 面試題,但可惜的是網上眾說紛紜,竟然找不到標準的答案。有人說創建了 1 個對象,也有人說創建了 2 個對象,還有人說可能創建了 1 個或 2 個對象,但誰都沒有拿出干掉對方的證據,這就讓我們這幫吃瓜群 閱讀全文
posted @ 2020-04-20 11:37 Java中文社群 閱讀(491) 評論(0) 推薦(3) 編輯
摘要:這篇文章的誕生要感謝一位讀者,是他讓這篇 優秀的文章 有了和大家見面的機會,重點是 優秀文章 ,哈哈。 事情的經過是這樣的... 不用謝我,送人玫瑰,手有余香。 相信接下來的內容一定不會讓你失望,因為它將是目前市面上最好的關于“延遲任務”的文章 ,這也一直是我寫作追求的目標,讓我的每一篇文章都比市面 閱讀全文
posted @ 2020-04-14 10:52 Java中文社群 閱讀(1049) 評論(4) 推薦(5) 編輯
摘要:IDEA 2020.1 經過了漫長的打磨終于發布正式版了,而這次的版本不止直接支持 Java 14,還帶來了兩個重量級的功能,官方中文版支持和 JDK 直接下載。 在之前的開發中,當我們需要下載 JDK 時,通常的步驟是這樣的:首先去 Oracle 的官網,查到相關的版本下載地址,然后輸入用戶輸入密 閱讀全文
posted @ 2020-04-12 09:53 Java中文社群 閱讀(4774) 評論(16) 推薦(6) 編輯
摘要:為什么要閱讀源碼?這是一個有趣的問題,類似的問題還有,為什么要看書?為什么要爬山? 這也是一個哲學問題,我想每個人都有不同的答案,下面我是對閱讀源碼好處的一些思考。 (PS:也歡迎你在評論區留言補充) 閱讀源碼的好處 1.知其然知其所以然 這是一句 IT 人都很熟悉的話,在開源軟件越來越多,并且升級 閱讀全文
posted @ 2020-04-09 21:51 Java中文社群 閱讀(419) 評論(0) 推薦(0) 編輯
摘要:在開始之前,我們先來看以下代碼會有什么問題? 或許你已經發現了,上面這段代碼使用了 來終止線程,在 Java 程序中是不允許這樣終止線程的。什么?你問為什么不能這樣? 首先來說 IDE 都會鄙視你了,它會阻止你使用 ! 什么?你不信。那么來看這張圖: 好吧,那為什么不能這樣用呢?總得給我一個敷衍的理 閱讀全文
posted @ 2020-04-06 21:12 Java中文社群 閱讀(233) 評論(0) 推薦(5) 編輯
摘要:羅曼羅蘭說過:世界上只有一種英雄主義,就是看清生活的真相之后依然熱愛生活。 對于 Lombok 我相信大部分人都不陌生,但對于它的實現原理以及缺點卻鮮為人知,而本文將會從 Lombok 的原理出發,手擼一個簡易版的 Lombok,讓你理解這個熱門技術背后的執行原理,以及它的優缺點分析。 簡介 在講原 閱讀全文
posted @ 2020-03-30 12:21 Java中文社群 閱讀(1626) 評論(4) 推薦(2) 編輯
摘要:前面我們講了 "《Redis 性能優化的 13 條軍規!》" ,其中最重要的一條就是使用 Redis 的集群功能,那么本文我們就來看看,如何用 1s 鐘的時間來創建一個 Redis 集群。 Redis Cluster 是 Redis 3.0 版本推出的 Redis 集群方案,它將數據分布在不同的服務 閱讀全文
posted @ 2020-03-27 17:14 Java中文社群 閱讀(66) 評論(0) 推薦(0) 編輯
摘要:Redis 是基于單線程模型實現的,也就是 Redis 是使用一個線程來處理所有的客戶端請求的,盡管 Redis 使用了非阻塞式 IO,并且對各種命令都做了優化(大部分命令操作時間復雜度都是 O(1)),但由于 Redis 是單線程執行的特點,因此它對性能的要求更加苛刻,本文我們將通過一些優化手段, 閱讀全文
posted @ 2020-03-27 17:12 Java中文社群 閱讀(117) 評論(0) 推薦(1) 編輯
摘要:Java 14 在 2020.3.17 日發布正式版了,但現在很多公司還在使用 Java 7 或 Java 8,每當看到 Java 又發布新版本心里就慌得一匹。不過此版本并不是 LTS (長期支持版) 版本,所以不要慌,我們先來了解一下好了,等 LTS 版本發布后再用也不遲。 版本說明 現在 Jav 閱讀全文
posted @ 2020-03-22 17:57 Java中文社群 閱讀(365) 評論(0) 推薦(0) 編輯
摘要:因為我說:volatile 是輕量級的 synchronized,面試官讓我回去等通知! volatile 是并發編程的重要組成部分,也是面試常被問到的問題之一。不要向小強那樣,因為一句:volatile 是輕量級的 synchronized,而與期望已久的大廠失之交臂。 volatile 有兩大特 閱讀全文
posted @ 2020-03-18 09:03 Java中文社群 閱讀(819) 評論(2) 推薦(4) 編輯
摘要:面試問題 Redis 如何實現查詢附近的人? 涉及知識點 1. Redis 中如何操作位置信息? 2. GEO 底層是如何實現的? 3. 如何在程序實現查詢附近的人? 4. 在實際使用中需要注意哪些問題? 視頻答案 視頻地址:https://www.bilibili.com/video/av8936 閱讀全文
posted @ 2020-03-09 13:48 Java中文社群 閱讀(437) 評論(3) 推薦(0) 編輯
摘要:本文以面試問題「Redis 中的過期元素是如何被處理的?」為切入點,用視頻加圖文的方式和大家聊聊 Redis 過期元素被處理的相關知識點。 涉及的知識點 1. 過期刪除策略有哪些? 2. 這些過期策略有哪些優缺點? 3. Redis 使用的是什么過期策略? 4. Redis 是如何優化和執行過期策略 閱讀全文
posted @ 2020-03-03 11:53 Java中文社群 閱讀(357) 評論(1) 推薦(2) 編輯
摘要:1 考察知識點 本題考察的知識點有以下幾個: 1. Keys 和 Scan 的區別 2. Keys 查詢的缺點 3. Scan 如何使用? 4. Scan 查詢的特點 2 解答思路 1. Keys 查詢存在的問題 2. Scan 的使用 3. Scan 的特點 3 Keys 使用相關 1)Keys 閱讀全文
posted @ 2020-02-27 19:05 Java中文社群 閱讀(549) 評論(0) 推薦(3) 編輯
摘要:多年前曾看過一個關于黃磊的采訪,其中大部分的內容已經忘記的差不多了,其中有一句話一直記憶深刻,他說:“人生有很多階段,每一個階段都有它的快樂和苦澀,但這些你無法跨過去也不能退回來,你要做的就是享受每一個階段所特有的快樂”,那一刻猶如醍醐灌頂,讓我記憶至今。 29 歲之后,開始覺得人生沒有方向,不知道 閱讀全文
posted @ 2019-12-22 22:05 Java中文社群 閱讀(1015) 評論(5) 推薦(8) 編輯
摘要:Redis 的讀寫都是在內存中,所以它的性能較高,但在內存中的數據會隨著服務器的重啟而丟失,為了保證數據不丟失,我們需要將內存中的數據存儲到磁盤,以便 Redis 重啟時能夠從磁盤中恢復原有的數據,而整個過程就叫做 Redis 持久化。 Redis 持久化也是 Redis 和 Memcached 的 閱讀全文
posted @ 2019-11-17 22:45 Java中文社群 閱讀(949) 評論(2) 推薦(1) 編輯
摘要:1.過期設置 Redis 中設置過期時間主要通過以下四種方式: expire key seconds:設置 key 在 n 秒后過期; pexpire key milliseconds:設置 key 在 n 毫秒后過期; expireat key timestamp:設置 key 在某個時間戳(精確 閱讀全文
posted @ 2019-11-12 19:08 Java中文社群 閱讀(708) 評論(0) 推薦(0) 欧洲青年联赛