原创 面向開發人員的Docker入門級實戰,真香

好記性不如爛筆頭,記錄下來的纔是永恆!這裏是JavaQ大本營,誠邀關注。本文已收錄入GitHub:https://github.com/wind7rui/JavaHub。聊聊Oracle2013年“去IOE”這個話題在IT圈火熱起來,它

原创 如何去除代碼中的多次if而引發的一連串面試問題

面試官:有如下的代碼,如何去除代碼中的if? public int calculate(int a, int b, String action) { if ("ADD".equals(action)) {

原创 如何做一個高效的程序員

關於如何高效的工作,筆者這裏分享四個做法:1.每天上班開始工作前的第一件事就是把當天的工作任務排一個優先級,先做優先級比較高的,再做次優先級的,以此類推。如果中途有更高優先級的任務插入,那就先完成更高優先級的任務;2.敲代碼的過程中經常

原创 深入Spring Boot (十三):整合Kafka詳解

Kafka是一種高吞吐量的分佈式流處理平臺,它具有高可用、高吞吐量、速度快、易擴展等特性。本篇將介紹如何使用Spring Boot整合Kafka及使用Kafka實現簡單的消息發送和消費,主要包括以下3部分內容:Kafka整合Kafka小

原创 【每天一道面試題】說一下ThreadLocal原理及會不會發生內存泄漏

ThreadLocal實現原理ThreadLocal的實現原理是每一個Thread維護一個ThreadLocalMap映射表,映射表的key是ThreadLocal實例,並且使用的是ThreadLocal的弱引用 ,value是具體需要

原创 高併發編程-ExecutorCompletionService深入解析

要點解說假設現在有一大批需要進行計算的任務,爲了提高整批任務的執行效率,你可能會使用線程池,向線程池中不斷submit異步計算任務,同時你需要保留與每個任務關聯的Future,最後遍歷這些Future,通過調用Future接口實現類的g

原创 前Google工程師手把手教你提高代碼質量

前Google工程師手把

原创 【說說面試】技術面試不知如何表達怎麼辦?

面試時不知如何表達,在筆者看來有兩點原因∶1.技術不過硬有些技術看似掌握了、熟練使用了就以爲持有這個技術了,其實不然!驗證是否真正掌握了一門技術的方法就是看你是否可以清晰、熟練的向他人講解這門技術,是否能把這門技術向他人講明白,所以技術

原创 【每天一道面試題】泛型是什麼?類型擦除又是怎麼回事?

泛型就是在編碼時爲爲所操作的對象指定具體的數據類型,例如ArrayList<String>表明ArrayList中元素類型都爲String,它同樣可以應用在類、接口和方法上,分別稱爲泛型類、泛型接口和泛型方法。想想在不使用泛型的情況下,

原创 【每天一道面試題】Redis單例模式、主從模式、sentinel模式和集羣模式優缺點?...

單實例模式:部署簡單,但故障後影響大、若出現數據故障很難恢復、數據丟失,且性能相對低;主從模式:可以一主多從,主從數據同步保證數據完整性,且可以實現寫主、讀從,性能有所提升,但主節點故障後寫受影響,沒有故障選舉功能,且無監控各主從運行狀

原创 說實話,面試這麼問Spring框架的問題,我快扛不住了

面試官:Spring Framework有用過吧?小小白:用過(有些心虛,因爲Spring框架中內容太多了)。面試官:在applicationgContext.xml文件中定義了一個bean,id爲authService,通過Appli

原创 沒使用加號拼接字符串,面試官竟然問我爲什麼

面試官:爲什麼String設計成不可變的?小小白:主要是爲了確保String對象中存儲的值不會被改變,充分利用字符串常量池的優化策略,同時字符串對象的hashCode也不會被改變。如果String設計成可變的,那麼自定義的類就可以通過集

原创 Java工程師路線圖

路線圖中各技能會在公衆號JavaQ首發,誠邀關注!

原创 就寫了一行代碼,被問了這麼多問題

面試官:如何在一個方法中創建一個局部byte類型數組?小白:(是不是太基礎了,暗笑)byte[] arrays = new byte[1024]。面試官:這個局部arrays變量指向的數組對象什麼時候會被GC回收?小白:沒有變量引用這個

原创 【每天一道面試題】ReentrantLock相對於synchronized的優勢有哪些?

1.等待可中斷當線程長時間獲取不到鎖時,可以選擇放棄等待,改爲執行其它操作,提高執行效率。2.可實現公平鎖synchronized實現的是非公平鎖,線程獲取鎖的順序是競爭方式;ReentrantLock默認情況下是非公平鎖,但是可根據參