原创 深入Java集合LinkedList

現在由大惡人付有傑來從增刪改查幾個角度輕度解析LinkedList的源碼 1.整體架構 LinkedList 底層數據結構是一個雙向鏈表(),整體結構如下圖所示: 鏈表中的每個節點都可以向前或者向後追溯,我們有幾個概念如下:

原创 複習之路之JAVA多線程基礎面試題

我自己總結的,我覺得很全了,本篇章針對多線程基礎,不包括JUC 有幾種實現線程的方法? 從不同的角度看有不同的答案,通常來說,可以分爲兩類,繼承和實現的兩種方式。 準確的講,實現線程只有一種方式,那就是構造Thread類,但是

原创 複習之路之JAVA基礎知識概括

摘抄自公開的筆記,一部分做自我補充。 1. 面向對象和麪向過程的區別 面向過程 : 面向過程性能比面向對象高。 因爲類調用時需要實例化,開銷比較大,比較消耗資源,所以當性能是最重要的考量因素的時候,比如單片機、嵌入式開發、Lin

原创 MySQL筆記(5)深入淺出索引(下)

在下面這個表 T 中,如果我執行 select * from T where k between 3 and 5,需要執行幾次樹的搜索操作,會掃描多少行? mysql> create table T ( ID int prima

原创 MySQL筆記(10)M有SQL優化器選錯索引

不知道你有沒有碰到過這種情況,一條本來可以執行得很快的語句,卻由於 MySQL 選錯了索引,而導致執行速度變得很慢? 我們先建一個簡單的表,表裏有 a、b 兩個字段,並分別建上索引: CREATE TABLE `t` ( `id`

原创 JavaIO之NIO,BIO的複製文件的簡單比較(3)

本文展示BIO,NIO複製文件的不同寫法,和一丟丟的效率對比。 在演示NIO之前 ,先簡單說一下 NIO 在BIO中,根據方向的不同,分爲輸入流,輸出流,而在NIO中,就沒有這個概念了,NIO中,提出了Channel的概念,一

原创 MySQL筆記(7)怎麼減少行鎖對性能的影響?

顧名思義,行鎖就是針對數據表中行記錄的鎖。這很好理解,比如事務 A 更新了一行,而這時候事務 B 也要更新同一行,則必須等事務 A 的操作完成後才能進行更新。 當然,數據庫中還有一些沒那麼一目瞭然的概念和設計,這些概念如果理解和使