技術點個人理解

個人理解的技術點總彙


====================================    Mysql  Start   ====================================

【事務隔離級別】

讀未提交:事務A和事務B進行的各種操作在沒提交之前相互都能看到,而且對操作的表沒有進行加鎖。這樣會存在髒讀的問題。不會加任何鎖。
讀已提交:事務A和事務B進行的各種操作,必須要在另一個事務提交後,本事務才能看到,會出現不可重複讀,兩個事務對同一條數據的寫操作會有鎖進行限制。寫會加鎖。
可重複讀:事務A執行select後就對這張表持有數據快照,事務B對此表執行插入、刪除、更新操作提交後,事務A是看不到的,除非對事務B插入的數據執行更新操作加入到快照中就能看到。會出現幻讀。增加了數據庫快照,寫會加鎖。
串行化:讀會加S鎖, 寫會加X鎖。


【索引結構】

MyISAM引擎

              在MyISAM中,主索引和輔助索引(Secondary key)在結構上沒有任何區別,只是主索引要求key是唯一的,而輔助索引的key可以重複。葉子節點               data域保存的是地址。

InnoDB引擎

                       索引結構其實和MyISAM引擎一樣,只有兩點區別。1. InnoDB引擎中索引就是數據記錄;2. InnoDB引擎中索引的葉子節點的數據域保存的就是行記錄。


【索引使用】

                     全列匹配

                     最左前綴匹配

                    查詢條件用到了索引中列的精確匹配,但是中間某個條件未提供

            查詢條件沒有指定索引第一列

            匹配某列前綴字符串

            範圍查詢

            查詢條件中含有函數或表達式

            索引選擇性與前綴索引

           在使用InnoDB存儲引擎時,如果沒有特別的需要,請永遠使用一個與業務無關的自增字段作爲主鍵。


====================================    Mysql  End   ====================================



====================================    JVM  Start   ====================================
【垃圾回收機制】
            對象是否已死: 
                       什麼是引用計數?由於難以解決循環引用問題,java中並沒有使用引用計數。
                       可達性分析: 根據方法區和虛擬機棧中作爲 root對象,查看那些對象不可達。
                       強引用,軟引用,弱引用,虛引用。
                       finalize方法。
                       方法區回收,這一塊內存回收的代價比較大,主要回收廢棄的常量和無用的類。
            垃圾收集算法:標記-清除算法;複製算法;標記整理算法; 
            Hotspot算法實現
            垃圾收集器: 串行垃圾回收器;並行垃圾回收器;併發標記清除垃圾回收器;G1垃圾回收器;
            內存分配和回收策略: 新生代和老年代


====================================    JVM  End   ====================================



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章