原创 maven與git相關知識

maven和git的差別 git 和svn 之類的類似是個 版本管理工具,maven 是項目構建打包發佈的工具。 maven快照版本和發佈版本 https://www.cnblogs.com/wuchanming/p/5484091

原创 Java併發編程面試

synchronized(非公平鎖)-重量級鎖------偏向鎖,輕量級鎖、自旋鎖 1) synchronized方法:在一個對象的方法前加synchronized,使其具有鎖,一個線程對其進行調用,只有此線程完成調用後,其他線程才能

原创 分佈式事務處理機制

爲什麼有分佈式事務 由於業務數據量非常巨大,如淘寶電商系統,後端肯定是分庫分表的。因爲單個數據庫數據量壓上來,系統就會產生性能瓶頸。庫存和訂單分別在不同數據庫中。交易系統、庫存系統、訂單系統。【微服務架構中,像淘寶光一個下單鏈路可能會涉及

原创 Java線程池深入學習

線程池的實現原理 接口: Executor是一個頂層接口,在它裏面只聲明瞭一個方法execute(Runnable),返回值爲void,參數爲Runnable類型,從字面意思可以理解,就是用來執行傳進去的任務的; 然後ExecutorS

原创 Redis相關學習

reids的底層實現: 基礎的數據類型:(分別的底層結構實現和具體的應用場景) string 結構:字符串 如果字符串對象保存的是一個字符串值, 並且這個字符串值的長度大於 39 (44)字節, 那麼字符串對象將使用一

原创 併發編程——線程池

併發:當有多個線程進行操作時,假設只有一個cpu,他不能運行同時運行多個線程,只能將cpu運行時間分成若干段,然後將每段時間分配給線程,當一個線程佔用cpu時間的時候,其他線程處於掛機狀態。 並行:在某一個時間點內,有多個進程同時進行 線

原创 操作系統相關知識

1、進程和線程以及它們的區別 進程是對運行時程序的封裝,是系統進行資源調度和分配的的基本單位,實現了操作系統的併發; 線程是進程的子任務,是CPU調度和分派的基本單位,用於保證程序的 實時性,實現進程內部的併發; 一個程序至少有一個進程

原创 Redis-基本數據類型與內部存儲結構(相關應用問題)

1-概覽 Redis是典型的Key-Value類型數據庫,單線程內存型,用於做緩存(redis的計數器生成分佈式唯一主鍵,實現分佈式鎖,隊列和會話緩存) Key爲字符類型,Value的類型常用的爲五種類型:String、Hash 、Li

原创 Java 併發:線程間通信與協作

一. wait/notify (synchronized)機制:線程間通過共享數據來實現通信,即多個線程主動地讀取一個共享數據,通過 同步互斥訪問機制 保證線程的安全性。等待/通知機制 主要由 Object類 中的以下三個方法保證, 這三

原创 Java基礎面試總結(一)

JDK 8 新特性 lambda表達式 lambda表達式允許你通過表達式來代替函數式接口,lambda表達式就和方法一樣,它提供了一個正常的參數列表和一個方法體(body,可以是一個表達式或一個代碼塊)。Lamda表達式是由函數式

原创 SQL數據庫面試總結

數據庫範式:對數據庫規範化設計,減少數據冗餘,增加數據一致性 第一範式:列不可分、無重複列,eg:【聯繫人】(姓名,性別,電話),電話還可以細分,一個聯繫人有家庭電話和公司電話,那麼這種表結構設計就沒有達到 1NF; 第二範式:有主鍵,

原创 Java基礎面試總結(三)

JAVA Collections框架 包含大量集合接口、接口實現方法和操作(例如排序、查找、反轉、替換、複製、最大元素、最小元素等),主要提供了 List、Queue(隊列)、Set(集合)、Stack(棧)、Map(映射表存放鍵值對)

原创 Java基礎面試總結(二)

異常處理 try()中有return語句,finally的優先於return執行。若try和catch和finally中都有return,finally中的return會覆蓋別處的return,最終返回調用者的都是finally中的re

原创 reids數據庫面試總結

基礎類型 Redis是典型的Key-Value類型數據庫,單線程內存型,用於做緩存(redis的計數器生成分佈式唯一主鍵,實現分佈式鎖,隊列和會話緩存) Key爲字符類型,Value的類型常用的爲五種類型:String、Hash 、Li

原创 計算機網路面試彙總

OSI七層模型 vs. TCP/IP 五層模型(有時候也說四層)及及各層協議? 七層:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層 四層或者五層:物理層、網絡層(IP,ARP:反向地址解析協議)、傳輸層(TCP/UDP)、