原创 10年老程序員給3年開發者的10點建議

Java程序員有許多應遵循的守則或最佳實踐方式。本文概述了每個開發者最應該遵循的10條守則或戒律,如果不遵循它們,將會導致災難性後果。1.爲代碼添加註釋(Add comments to your code). – 每個人都知道這一點,但不是

原创 怎麼理解分佈式、高併發、多線程?(含面試題和答案解析)

看到分佈式、高併發、多線程這三個詞的時候,很多人是不是都認爲分佈式=高併發=多線程?當面試官問到高併發系統可以採用哪些手段來解決,或者被問到分佈式系統如何解決一致性的問題,是不是一臉懵逼?確實,在一開始接觸的時候,不少人都會分佈式、高併發、

原创 說一個MySQL裏可能90%的程序員都會遇到的坑

最近我遇到了一個bug,我試着通過Rails在以“utf8”編碼的MariaDB中保存一個UTF-8字符串,然後出現了一個離奇的錯誤:Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for col

原创 你要的Java併發面試題都在這裏,20000字答案解析

1、在java中守護線程和本地線程區別?java中的線程分爲兩種:守護線程(Daemon)和用戶線程(User)。任何線程都可以設置爲守護線程和用戶線程,通過方法Thread.setDaemon(bool on);true則把該線程設置爲守

原创 消息中間件面試題31道RabbitMQ+ActiveMQ+Kafka

前言 文章開始前,我們先了解一下什麼是消息中間件?什麼是中間件?非底層操作系統軟件,非業務應用軟件,不是直接給最終用戶使用的,不能直接給客戶帶來價值的軟件統稱爲中間件。什麼是消息中間件?是關注於數據的發送和接收,利用高效可靠的異步消息傳遞機

原创 DBA大牛告訴你,如何讓MySQL語句執行加速?

一打開科技類論壇,最常看到的文章主題就是MySQL性能優化了,爲什麼要優化呢?因爲:數據庫出現瓶頸,系統的吞吐量出現訪問速度慢隨着應用程序的運行,數據庫的中的數據會越來越多,處理時間變長數據讀寫速度緩慢就是咱們說的“性能問題”,程序員一遇到

原创 今天我們重新聊聊JVM,爲什麼面試總是被問到?

聊聊JVMJVM,一個熟悉又陌生的名詞,從認識Java的第一天起,我們就會聽到這個名字,在參加工作的前一兩年,面試的時候還會經常被問到JDK,JRE,JVM這三者的區別。JVM可以說和我們是老朋友了,但是在工作中的應用場景也許不如那些框架,

原创 精心整理了15道面試官喜歡問的MyBatis面試題

1、什麼是 MyBatis?答:MyBatis 是一個可以自定義 SQL、存儲過程和高級映射的持久層框架。2、講下 MyBatis 的緩存答:MyBatis 的緩存分爲一級緩存和二級緩存,一級緩存放在 session 裏面,默認就有,二級緩

原创 27道高頻Spring面試題,你能答對幾個?

1、什麼是Spring框架,Spring框架有哪些主要模塊Spring框架是一個爲Java應用程序開發提供綜合、廣泛的基礎性支持的Java平臺。 Spring幫助開發者解決了開發中基礎性的問題,使得開發人員可以專注於應用程序的開發。 Spr

原创 測試一下25道Spring經典面試題你會幾道?循環依賴面試詳解

前言先看看什麼是循環依賴當一個ClassA依賴於ClassB,然後ClassB又反過來依賴ClassA,這就形成了一個循環依賴:ClassA -> ClassB -> ClassA循環依賴-->2個或以上bean 互相持有對方,最終形成閉環

原创 億級流量高併發場景下,如何解決一致性問題?

作者:魏武歸心相信只要是個稍微像樣點的互聯網公司,或多或少都有自己的一套緩存體只要用緩存,就可能會涉及到緩存與數據庫雙存儲雙寫,你只要是雙寫,就一定會有數據一致性的問題,遂筆者想在這想和大家聊一聊:如何解決一致性問題?如何保證緩存與數據庫雙

原创 天生強大的Redis是如何做實時訂閱推送的

前陣子開發了公司領劵中心的項目,這個項目是以redis作爲關鍵技術落地的。先說一下領劵中心的項目吧,這個項目就類似京東app的領劵中心,當然圖是截取京東的,公司的就不截了。。。其中有一個功能叫做領劵的訂閱推送。什麼是領劵的訂閱推送?就是用戶