該文章內容較多,發佈在gitchat,涉及內容主要包括:
地址如下:
https://gitbook.cn/gitchat/activity/5d6356eaaaf643508dd4cbff
寫在前面:2020年面試必備的Java後端進階面試題總結了一份複習指南在Github上,內容詳細,圖文並茂,有需要學習的朋友可以Star一下! GitHub地址:https://github.com/abel-max/Java-S
在Linux實操的過程中,你是否有過這些疑問: 如何提取日誌中含有關鍵字的指定行,上一行或上幾行? ln 做了符號鏈接,對符號鏈接進行權限修改,原文件是否會受到影響? Shell 腳本里有很多特殊符號,到底該怎麼用?網上流傳的
一致性協議有很多種,比如 Paxos,Raft,2PC,3PC等等,在這講一種協議,ZAB 協議,該協議應該是所有一致性協議中生產環境中應用最多的了。爲什麼?因爲它是爲 Zookeeper 設計的分佈式一致性協議! 1. 什麼是
Spring 早已成爲 Java 後端開發事實上的行業標準,無數的公司選擇 Spring 作爲基礎的開發框架,大部分Java 後端程序員在日常工作中也會接觸到 Spring ,因此,如何用好 Spring ,也就成爲 Java
第一種情況:在try和catch中有return,finally中沒有return,且finally中沒有對try或catch中要 return。這種情況,無論如何finally中的代碼塊都會執行,然後再執行try或者finall
題目描述 輸入一個整數數組,判斷該數組是不是某二叉搜索樹的後序遍歷的結果。如果是則輸出Yes,否則輸出No。假設輸入的數組的任意兩個數字都互不相同。 補充: 二叉查找樹(Binary Search Tree)又:二叉搜索樹,二叉排序樹,它
題目描述 輸入兩棵二叉樹A,B,判斷B是不是A的子結構。(ps:我們約定空樹不是任意一個樹的子結構) 思路:將B與A,A的左子樹,A的右子樹分別進行判斷,如果元素不相等返回 false ,運用遞歸直到A子樹爲空此時返回 false /*
前言: 之前用到二分查找的時候,都是自己手寫一個,雖然並不難,但是有的時候會忽略邊界條件,然後時間久了還會忘記,然後今天發現,Java其實已經實現了數組的二分查找,這裏就分析一下它的源碼 1:該方法在 Arrays.j
在Android中退出程序比較麻煩,尤其是在多個Activity的程序中,在2.2之前可以採用如下代碼退出程序: Java代碼 ActivityManager am = (ActivityManager)getSystemS
有初學者問interface和abstract類該怎樣選擇的問題,不扯麪試題那些,其實就一句話: 定義爲abstract類, 就是爲了定義較多的已實現方法好讓人繼承;繼承者就不用寫這麼多的實現了,可以直接拿來用; 定義爲interfa
一、讓人又愛又恨的指令重排 瞭解過Java併發編程知識的童鞋都知道,Java內存模型是圍繞着併發過程中如何處理原子性、可見性和有序性3個特徵來建立的,其中有序性最爲複雜。 我們習慣性的認爲代碼總是從先到後、依次執行的,這在單線程的
volatile關鍵字是java虛擬機提供的最輕量級的同步機制。在併發的場景下,我們都習慣於使用synchronized鎖進行同步,其實,有些簡單的場景下,我們也可以使用volatile來代替,但volatile有它本身的使用規則
shutdown(): 把線程池的狀態設置成SHUTDOWN狀態,然後中斷所有沒有正執行任務的線程 shutdownNow(): 首先把線程池的狀態設置成STOP,然後嘗試停止所有正在執行任務或者暫停任務的線程,並返回等待執行任務的列表