原创 生產者與消費者模式,數組阻塞隊列(ArrayBlockingQueue)

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ

原创 計算機操作系統中的進程管理

進程與線程 1. 進程 進程是資源分配的基本單位。 進程控制塊 (Process Control Block, PCB) 描述進程的基本信息和運行狀態,所謂的創建進程和撤銷進程,都是指對 PCB 的操作。 下圖顯示了 4 個程序創

原创 MySQL企業性能優化一:多種優化 方式介紹

一:簡介 我們常見的數據庫性能優化就是SQL語句優化,確實SQL優化是開發者接觸到最多的也是最常有的優化手段。作爲開發人員我們接觸最多的也就是SQL語句的優化,SQL語句的優化除了調整SQL語句外更多的是通過添加索引來加速查詢,表

原创 計算機操作系統中的死鎖

必要條件 互斥:每個資源要麼已經分配給了一個進程,要麼就是可用的。 佔有和等待:已經得到了某個資源的進程可以再請求新的資源。 不可搶佔:已經分配給一個進程的資源不能強制性地被搶佔,它只能被佔有它的進程顯式地釋放。 環路等待

原创 JVM核心知識點(一):Java代碼是怎麼運行的

首先一個問題入題:是否知道java和c++在運行方式上的區別? java需要依賴JRE的運行環境,而c++代碼則無需額外的運行時。 那麼問題又來了,既然c++的運行方式已經很成熟了,那麼爲什麼java要在虛擬機中運行呢? 爲了實現

原创 MySQL性能優化一:多種優化 方式介紹

一:簡介 我們常見的數據庫性能優化就是SQL語句優化,確實SQL優化是開發者接觸到最多的也是最常有的優化手段。作爲開發人員我們接觸最多的也就是SQL語句的優化,SQL語句的優化除了調整SQL語句外更多的是通過添加索引來加速查詢,表

原创 JDK 12 ,JDK 13 , JDK 14 新特性 詳解

近年來,甲骨文做出了一些突破性的決定。 他們包括新的半年發佈模式與預覽功能和更短的發佈和反饋週期的新功能。 許可模式也發生了變化,Oracle JDK 不再免費提供。 這加劇了競爭,因此您現在可以從包括 Oracle 在內的各種供

原创 Linux 面試知識點

前言 爲了便於理解,本文從常用操作和概念開始講起。雖然已經儘量做到簡化,但是涉及到的內容還是有點多。在面試中,Linux 知識點相對於網絡和操作系統等知識點而言不是那麼重要,只需要重點掌握一些原理和命令即可。爲了方便大家準備面試,

原创 LRU緩存機制

題目:LRU 緩存機制 設計和實現一個 LRU(最近最少使用)緩存數據結構,使它應該支持一下操作:get 和 put。 get(key) - 如果 key 存在於緩存中,則獲取 key 的 value(總是正數),否則返回 -1。

原创 輸入 ping IP 後敲回車,發包前會發生什麼

題目:輸入 ping IP 後敲回車,發包前會發生什麼? 出題人:阿里巴巴出題專家:懷虎/阿里云云效平臺負責人 參考答案: ping目標ip時,先查路由表,確定出接口 如果落在直連接口子網內,此時若爲以太網等 多路訪問網絡 則先

原创 給定一個二叉搜索樹(BST),找到樹中第 K 小的節點

題目:給定一個二叉搜索樹(BST),找到樹中第 K 小的節點。 出題人:阿里巴巴出題專家:文景/阿里雲 CDN 資深技術專家 參考答案: 考察點 基礎數據結構的理解和編碼能力 遞歸使用 示例 5

原创 使用Redis在Hibernate中進行緩存

Hibernate是Java編程語言的開放源代碼,對象/關係映射框架。Hibernate的目標是幫助開發人員擺脫許多繁瑣的手動數據處理任務。Hibernate能夠在Java類和數據庫表之間以及Java和SQL中的數據類型之間創建映

原创 計算機操作系統中內存管理

虛擬內存 虛擬內存的目的是爲了讓物理內存擴充成更大的邏輯內存,從而讓程序獲得更多的可用內存。 爲了更好的管理內存,操作系統將內存抽象成地址空間。每個程序擁有自己的地址空間,這個地址空間被分割成多個塊,每一塊稱爲一頁。這些頁被映射到

原创 計算機操作系統中的磁盤結構與磁盤調度算法

磁盤結構 盤面(Platter):一個磁盤有多個盤面; 磁道(Track):盤面上的圓形帶狀區域,一個盤面可以有多個磁道; 扇區(Track Sector):磁道上的一個弧段,一個磁道可以有多個扇區,它是最小的物理儲存單位,目前