原创 Java註解是如何玩轉的,面試官和我聊了半個小時

面試官:自定義的Java註解是如何生效的? 小白:自定義註解後,需要定義這個註解的註解解析及處理器,在這個註解解析及處理器的內部,通過反射使用Class、Method、Field對象的getAnnotation()方法可以獲取各自位置上

原创 【每天一道面試題】觸發Full GC的場景有哪些?

1.調用System.gc()方法顯示調用System.gc()方法,可能會觸發Full GC。因爲System.gc()方法只是建議Java虛擬機盡最大努力去回收所有不可用的對象,不一定立刻執行垃圾回收,如果進行垃圾回收,則會觸發Fu

原创 Spring聲明式事務處理的實現原理,來自面試官的窮追拷問

公衆號[JavaQ]原創,專注分享Java基礎原理分析、實戰技術、微服務架構、分佈式系統構建,誠邀點贊關注!面試官:有如下代碼場景,A類的a1方法沒有標註@Transactional註解,a2方法標註了@Transactional註解,

原创 我畫了25張圖展示線程池工作原理和實現原理,原創乾貨,建議先收藏再閱讀...

好記性不如爛筆頭,記錄下來的纔是永恆!這裏是JavaQ大本營,誠邀關注。上篇《這樣的API網關查詢接口優化,我是被迫的》文章末尾,有朋友留言提到文中的場景是IO密集型操作,不是CPU密集操作,不需要使用線程池,我猜這位朋友可能想表達的是

原创 synchronized連環問

synchronized是面試中經常會被問到的知識點,相關的問題點也很多,問題答案涉及的知識點也很多,有經驗的面試官就會順着你的答案不斷追問一下,下面的對話場景就是相關面試題的連環炮。面試官:說一下synchronized的作用。小白:

原创 面試官:JVM對鎖進行了優化,都優化了啥?

從JDK1.6開始,JVM對鎖進行了各種優化,目的就是爲了在線程間更高效的共享數據和解決互斥同步的問題。從鎖優化的話題開始,可以引申出很多考點面試題,比如鎖優化的技術、各優化技術的細節、CAS實現原理、CAS的ABA問題及如何解決等,持

原创 【每天一道面試題】JVM內存分配規則有哪些?

1.對象優先分配在Eden區,如果Eden區沒有足夠的空間時,虛擬機執行一次Minor GC。2.需要大量連續內存空間的對象直接進入老年代,這樣做的目的是避免在Eden區和兩個Survivor區(From space區和To Space

原创 【每天一道面試題】輸入流和輸出流關閉時異常處理有什麼區別?

對於輸入流,試圖關閉流時發生的異常對程序來說可能不太重要,因爲執行關閉方法說明已經獲取到了所需要的內容。而對於輸出流,在關閉流時拋出的異常必須與實際使用流時拋出的異常同等重要。輸出流可能會緩衝寫給它們的數據,並且需要在執行close()

原创 String引發的提問,我差點跪了

面試官:下面代碼執行結果是什麼?String t0 = "helloworld";String t1 = new String("helloworld");System.out.println(t0==t1);小白:(心裏嘀咕:不會這麼

原创 「每天一道面試題」如何理解Java中的happens-before?

happens-before是Java內存模型中定義的兩個操作之間的偏序關係,即如果操作A在操作B之前先發生,那麼操作A產生的操作結果,操作B可以觀察到,或者說操作A的結果影響到操作B。可以認爲Java內存模型中的這種與生俱來的原則實現

原创 「每天一道面試題」ReentrantLock是如何實現公平鎖及可重入的?

A、B兩個線程同時執行lock()方法獲取鎖,假設A先執行獲取到鎖,此時state值加1,如果線程A在繼續執行的過程中又執行了lock()方法(根據持有鎖的線程是否是當前線程,判斷是否可重入,可重入state值加1),線程A會直接獲取鎖

原创 如何掌握所有的程序語言,對的,是所有

作者:王垠原文:http://www.yinwang.org/blog-cn/2017/07/06/master-pl對的,我這裏要講的不是如何掌握一種程序語言,而是所有的……很多編程初學者至今還在給我寫信請教,問我該學習什麼程序語言,

原创 這樣的API網關查詢接口優化,我是被迫的

好記性不如爛筆頭,記錄下來的纔是永恆!這裏是JavaQ大本營,誠邀關注。筆者,不斷反思的年輕人。今天的內容聊一下剛參加工作時遇到的一個查詢接口優化的內容。先聊背景線上某系統的用戶中心頁面展示了用戶基本信息(包括會員暱稱、姓名、性別、年齡

原创 大廠都聊分佈式系統,面試不知道分佈式鎖如何聊下去

公衆號[JavaQ]原創,專注分享Java基礎原理分析、實戰技術、微服務架構、分佈式系統構建,誠邀點贊關注!面試官:項目中使用過分佈式鎖嗎?小小白:用過。面試官:爲什麼要使用分佈式鎖?小小白:爲了保證一個方法在高併發情況下的同一時間只能

原创 面試官:SpringBoot中關於日誌工具的使用,我想問你幾個常見問題

公衆號[JavaQ]原創,專注分享Java基礎原理分析、實戰技術、微服務架構、分佈式系統構建,誠邀點贊關注!面試官:Spring Boot中日誌輸出有關注過嗎?小小白:有研究過。面試官:使用Starters方式快速構建項目,那麼默認使用