Fork me on GitHub
摘要:Redis 6.0.1 于 2020 年 5 月 2 日正式發布了,如 Redis 作者 antirez 所說,這是迄今為止最“企業”化的版本,也是有史以來改動最大的一個 Redis 版本,同時也是參與開發人數最多的一個版本。 所以在使用此版本之前,建議各位開發者先進行深入的測試再考慮投產,畢竟生產 閱讀全文
posted @ 2020-05-03 13:23 Java中文社群 閱讀 (205) 評論 (0) 編輯
摘要:隨著 JDK 1.8 Streams API 的發布,使得 HashMap 擁有了更多的遍歷的方式,但應該選擇那種遍歷方式?反而成了一個問題。 本文 先從 HashMap 的遍歷方法講起,然后再從性能、原理以及安全性等方面,來分析 HashMap 各種遍歷方式的優勢與不足 ,本文主要內容如下圖所示: 閱讀全文
posted @ 2020-04-29 17:38 Java中文社群 閱讀 (42) 評論 (0) 編輯
摘要:String 類型是我們使用最頻繁的數據類型,沒有之一。那么提高 String 的運行效率,無疑是提升程序性能的最佳手段。 我們本文將從 String 的源碼入手,一步步帶你實現字符串優化的小目標。 不但教你如何有效的使用字符串,還為你揭曉這背后的深層次原因 。 本文涉及的知識點,如下圖所示: 在看 閱讀全文
posted @ 2020-04-29 17:37 Java中文社群 閱讀 (43) 評論 (0) 編輯
摘要:if else 是我們寫代碼時,使用頻率最高的關鍵詞之一,然而有時過多的 if else 會讓我們感到腦殼疼,例如下面這個偽代碼: 是不是很奔潰?雖然他是偽代碼,并且看起來也很夸張,但在現實中,當我們無數次 review 別人代碼時,都會發現類似的場景,那么我們本文就來詳細聊聊,有沒有什么方法可以讓 閱讀全文
posted @ 2020-04-29 17:33 Java中文社群 閱讀 (1017) 評論 (3) 編輯
摘要:Spring Boot 在啟動的時候,我們或許想要把自己公司的 logo,或者是項目的 logo 放上去,我們可以試試本文的這些方法,可以讓你快速制作一些 Spring Boot 項目啟動時的彩蛋,以提高項目的辨識度,或者是純碎為了給枯燥的生活平添一些樂趣,那么本文這些內容能很好的幫助到你。 本文知 閱讀全文
posted @ 2020-04-20 11:38 Java中文社群 閱讀 (195) 評論 (0) 編輯
摘要:我想所有 Java 程序員都曾被這個 new String 的問題困擾過,這是一道高頻的 Java 面試題,但可惜的是網上眾說紛紜,竟然找不到標準的答案。有人說創建了 1 個對象,也有人說創建了 2 個對象,還有人說可能創建了 1 個或 2 個對象,但誰都沒有拿出干掉對方的證據,這就讓我們這幫吃瓜群 閱讀全文
posted @ 2020-04-20 11:37 Java中文社群 閱讀 (452) 評論 (0) 編輯
摘要:這篇文章的誕生要感謝一位讀者,是他讓這篇 優秀的文章 有了和大家見面的機會,重點是 優秀文章 ,哈哈。 事情的經過是這樣的... 不用謝我,送人玫瑰,手有余香。 相信接下來的內容一定不會讓你失望,因為它將是目前市面上最好的關于“延遲任務”的文章 ,這也一直是我寫作追求的目標,讓我的每一篇文章都比市面 閱讀全文
posted @ 2020-04-14 10:52 Java中文社群 閱讀 (917) 評論 (3) 編輯
摘要:IDEA 2020.1 經過了漫長的打磨終于發布正式版了,而這次的版本不止直接支持 Java 14,還帶來了兩個重量級的功能,官方中文版支持和 JDK 直接下載。 在之前的開發中,當我們需要下載 JDK 時,通常的步驟是這樣的:首先去 Oracle 的官網,查到相關的版本下載地址,然后輸入用戶輸入密 閱讀全文
posted @ 2020-04-12 09:53 Java中文社群 閱讀 (3807) 評論 (16) 編輯
摘要:為什么要閱讀源碼?這是一個有趣的問題,類似的問題還有,為什么要看書?為什么要爬山? 這也是一個哲學問題,我想每個人都有不同的答案,下面我是對閱讀源碼好處的一些思考。 (PS:也歡迎你在評論區留言補充) 閱讀源碼的好處 1.知其然知其所以然 這是一句 IT 人都很熟悉的話,在開源軟件越來越多,并且升級 閱讀全文
posted @ 2020-04-09 21:51 Java中文社群 閱讀 (248) 評論 (0) 編輯
摘要:在開始之前,我們先來看以下代碼會有什么問題? 或許你已經發現了,上面這段代碼使用了 來終止線程,在 Java 程序中是不允許這樣終止線程的。什么?你問為什么不能這樣? 首先來說 IDE 都會鄙視你了,它會阻止你使用 ! 什么?你不信。那么來看這張圖: 好吧,那為什么不能這樣用呢?總得給我一個敷衍的理 閱讀全文
posted @ 2020-04-06 21:12 Java中文社群 閱讀 (220) 評論 (0) 編輯
摘要:羅曼羅蘭說過:世界上只有一種英雄主義,就是看清生活的真相之后依然熱愛生活。 對于 Lombok 我相信大部分人都不陌生,但對于它的實現原理以及缺點卻鮮為人知,而本文將會從 Lombok 的原理出發,手擼一個簡易版的 Lombok,讓你理解這個熱門技術背后的執行原理,以及它的優缺點分析。 簡介 在講原 閱讀全文
posted @ 2020-03-30 12:21 Java中文社群 閱讀 (1522) 評論 (4) 編輯
摘要:前面我們講了 "《Redis 性能優化的 13 條軍規!》" ,其中最重要的一條就是使用 Redis 的集群功能,那么本文我們就來看看,如何用 1s 鐘的時間來創建一個 Redis 集群。 Redis Cluster 是 Redis 3.0 版本推出的 Redis 集群方案,它將數據分布在不同的服務 閱讀全文
posted @ 2020-03-27 17:14 Java中文社群 閱讀 (53) 評論 (0) 編輯
摘要:Redis 是基于單線程模型實現的,也就是 Redis 是使用一個線程來處理所有的客戶端請求的,盡管 Redis 使用了非阻塞式 IO,并且對各種命令都做了優化(大部分命令操作時間復雜度都是 O(1)),但由于 Redis 是單線程執行的特點,因此它對性能的要求更加苛刻,本文我們將通過一些優化手段, 閱讀全文
posted @ 2020-03-27 17:12 Java中文社群 閱讀 (99) 評論 (0) 編輯
摘要:Java 14 在 2020.3.17 日發布正式版了,但現在很多公司還在使用 Java 7 或 Java 8,每當看到 Java 又發布新版本心里就慌得一匹。不過此版本并不是 LTS (長期支持版) 版本,所以不要慌,我們先來了解一下好了,等 LTS 版本發布后再用也不遲。 版本說明 現在 Jav 閱讀全文
posted @ 2020-03-22 17:57 Java中文社群 閱讀 (245) 評論 (0) 編輯
摘要:因為我說:volatile 是輕量級的 synchronized,面試官讓我回去等通知! volatile 是并發編程的重要組成部分,也是面試常被問到的問題之一。不要向小強那樣,因為一句:volatile 是輕量級的 synchronized,而與期望已久的大廠失之交臂。 volatile 有兩大特 閱讀全文
posted @ 2020-03-18 09:03 Java中文社群 閱讀 (791) 評論 (2) 編輯
摘要:面試問題 Redis 如何實現查詢附近的人? 涉及知識點 1. Redis 中如何操作位置信息? 2. GEO 底層是如何實現的? 3. 如何在程序實現查詢附近的人? 4. 在實際使用中需要注意哪些問題? 視頻答案 視頻地址:https://www.bilibili.com/video/av8936 閱讀全文
posted @ 2020-03-09 13:48 Java中文社群 閱讀 (417) 評論 (3) 編輯
摘要:本文以面試問題「Redis 中的過期元素是如何被處理的?」為切入點,用視頻加圖文的方式和大家聊聊 Redis 過期元素被處理的相關知識點。 涉及的知識點 1. 過期刪除策略有哪些? 2. 這些過期策略有哪些優缺點? 3. Redis 使用的是什么過期策略? 4. Redis 是如何優化和執行過期策略 閱讀全文
posted @ 2020-03-03 11:53 Java中文社群 閱讀 (343) 評論 (1) 編輯
摘要: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中文社群 閱讀 (489) 評論 (0) 編輯
摘要:多年前曾看過一個關于黃磊的采訪,其中大部分的內容已經忘記的差不多了,其中有一句話一直記憶深刻,他說:“人生有很多階段,每一個階段都有它的快樂和苦澀,但這些你無法跨過去也不能退回來,你要做的就是享受每一個階段所特有的快樂”,那一刻猶如醍醐灌頂,讓我記憶至今。 29 歲之后,開始覺得人生沒有方向,不知道 閱讀全文
posted @ 2019-12-22 22:05 Java中文社群 閱讀 (985) 評論 (5) 編輯
摘要:Redis 的讀寫都是在內存中,所以它的性能較高,但在內存中的數據會隨著服務器的重啟而丟失,為了保證數據不丟失,我們需要將內存中的數據存儲到磁盤,以便 Redis 重啟時能夠從磁盤中恢復原有的數據,而整個過程就叫做 Redis 持久化。 Redis 持久化也是 Redis 和 Memcached 的 閱讀全文
posted @ 2019-11-17 22:45 Java中文社群 閱讀 (871) 評論 (2) 編輯
摘要:1.過期設置 Redis 中設置過期時間主要通過以下四種方式: expire key seconds:設置 key 在 n 秒后過期; pexpire key milliseconds:設置 key 在 n 毫秒后過期; expireat key timestamp:設置 key 在某個時間戳(精確 閱讀全文
posted @ 2019-11-12 19:08 Java中文社群 閱讀 (618) 評論 (0) 編輯
摘要:作為關系型數據庫中一項非常重要的基礎功能——事務,在 Redis 中是如何處理并使用的? 1.前言 事務指的是提供一種將多個命令打包,一次性按順序地執行的機制,并且保證服務器只有在執行完事務中的所有命令后,才會繼續處理此客戶端的其他命令。 事務也是其他關系型數據庫,所必備的一項非常重要的能力。以支付 閱讀全文
posted @ 2019-10-28 21:00 Java中文社群 閱讀 (617) 評論 (0) 編輯
摘要:《Java面試全解析》是我在 GitChat 發布的一門電子書,全書總共有 15 萬字和 505 道 Java 面試題解析,目前來說應該是最實用和最全的 Java 面試題解析了。 我本人是 2009 年參加編程工作的,一路上在技術公司摸爬滾打,前幾年一直在上海,待過的公司有 360 和游久游戲,因為 閱讀全文
posted @ 2019-10-23 20:00 Java中文社群 閱讀 (870) 評論 (0) 編輯
摘要:在開始學習深克隆和淺克隆之前,我們先來看下面代碼,有什么問題? 程序執行結果: 可以看出,如果使用等號復制時,對于值類型來說,彼此之間的修改操作是相對獨立的,而對于引用類型來說,因為復制的是引用對象的內存地址,所以修改其中一個值,另一個值也會跟著變化,原理如下圖所示: 因此為了防止這種問題的發生,就 閱讀全文
posted @ 2019-09-18 09:31 Java中文社群 閱讀 (312) 評論 (0) 編輯
摘要:RocketMQ 是一款分布式消息中間件,最初是由阿里巴巴消息中間件團隊研發并大規模應用于生產系統,滿足線上海量消息堆積的需求, 在 2016 年底捐贈給 Apache 開源基金會成為孵化項目,經過不到一年時間正式成為了 Apache 頂級項目。早期阿里曾經基于 ActiveMQ 研發消息系統, 隨 閱讀全文
posted @ 2019-07-03 19:20 Java中文社群 閱讀 (1694) 評論 (0) 編輯
全民捕鱼游戏怎么玩