原创 Java程序員必備:常見OOM異常分析

前言放假這幾天,溫習了深入理解Java虛擬機的第二章, 整理了JVM發生OOM異常的幾種情況,並分析原因以及解決方案,希望對大家有幫助。Java 堆溢出Java堆用於存儲對象實例,只要不斷地創建對象,並且保證GC Roots到對象之間有

原创 後端程序員必備:Mysql數據庫相關流程圖/原理圖

前言整理了一些Mysql數據庫相關流程圖/原理圖,做一下筆記,大家一起學習。1.mysql主從複製原理圖mysql主從複製原理是大廠後端的高頻面試題,瞭解mysql主從複製原理非常有必要。主從複製原理,簡言之,就三步曲,如下:主數據庫有

原创 日常開發中併發與一致性的一些坑

前言列舉日常工作開發中最容易犯的併發錯誤,並基於這些錯誤,跟大家聊聊併發與一致性。併發與一致性概念併發與並行有什麼區別?併發: 是指同一個時間段內多個任務同時都在執行,並且都沒有執行結束.並行: 是說在單位時間 內多個任務同時在執行。併

原创 日常工作中最容易犯的幾個併發錯誤

前言列舉大家平時在工作中最容易犯的幾個併發錯誤,都是在實際項目代碼中看到的鮮活例子,希望對大家有幫助。First Blood線上總是出現:ERROR 1062 (23000) Duplicate entry 'xxx' for key

原创 優化代碼的幾個小技巧

前言最近看了《重構-改善既有代碼的設計》這本書,總結了優化代碼的幾個小技巧,給大家分享一下。提煉函數(適當抽取小函數)定義提煉函數就是將一段代碼放進一個獨立函數中,並讓函數名稱解釋該函數用途。一個過於冗長的函數或者一段需要註釋才能讓人理

原创 Java程序員必備基礎:泛型解析

前言 整理一下Java泛型的相關知識,算是比較基礎的,希望大家一起學習進步。 一、什麼是Java泛型 Java 泛型(generics)是 JDK 5 中引入的一個新特性,其本質是參數化類型,解決不確定具體對象類型的問題。其所操作的數據

原创 MySql時間處理函數的學習與實踐

前言日常業務開發中,我們經常需要跟SQl的日期打交道,比如查詢最近30天的訂單,查詢某一個月的訂單量,統計某天每小時的下單量等等,於是整理了以下MySql時間處理函數。DATE_ADD()定義: 向日期添加指定的時間間隔。語法格式:DA

原创 老是遇到亂碼問題:它是如何產生的,又如何解決呢?

前言中文亂碼問題在我們日常開發中司空見慣,那麼亂碼問題是如何產生的呢?又怎樣去解決亂碼問題呢?本文將結合基本概念和例子展開闡述,希望大家有收穫。一個簡單亂碼的例子package whx; import java.io.Unsupport

原创 常見Java面試題解析(基礎篇,附答案)

前言 金三銀四馬上要來了,整理了Java一些經典面試題,也給出了答案,希望對大家有幫助,有哪裏你覺得不正確的話,歡迎指出,非常感謝。 HashMap,HashTable,ConcurrentHash的共同點和區別 思路:可以從它們

原创 有關於Java Map,應該掌握的8個問題

前言最近幾天看了幾篇有關於Java Map的外國博文,寫得非常不錯,所以整理了Java map 應該掌握的8個問題,都是日常開發司空見慣的問題,希望對大家有幫助;如果有不正確的地方,歡迎提出,萬分感謝哈~本章節所有代碼demo已上傳gi

原创 掌握Java枚舉這幾個知識點,日常開發就夠啦

前言春節來臨之際,祝大家新年快樂哈。整理了Java枚舉的相關知識,算是比較基礎的,希望大家一起學習進步。一、枚舉類型是什麼?JDK5引入了一種新特性,關鍵字enum可以將一組具名的值的有限集合創建爲一種新的類型,而這些具名的值可以作爲常

原创 金三銀四,給面試者的十大建議

一、提前複習好你的專業知識專業知識是最爲重要的一點,擁有了堅實的專業基礎,你才能邁向成功的彼岸。因此,面試之前,一定一定要複習好專業知識。對自己學過的知識,要做一個概括,放在腦海中。茶餘飯後,複習一下,做到隨便看到一道基礎題目,心中都能

原创 後端程序員必備:RocketMQ相關流程圖/原理圖

前言整理了一些RocketMQ相關流程圖/原理圖,做一下筆記,大家一起學習。RocketMQ是什麼是一個隊列模型的消息中間件,具有高性能、高可靠、高實時、分佈式特點。Producer、Consumer、隊列都可以分佈式。Producer