原创 MySQL(一)——範式

文章目錄一、MySQL介紹二、SQL語句類別劃分三、數據庫範式1、第一範式(1NF)2、第二範式(2NF)3、第三範式(3NF)4、總結四、啓動和退出1、啓動2、退出 一、MySQL介紹 屬於數據庫的一種 目前屬於Oracle甲

原创 流的劃分、編碼解碼

什麼是流呢??? 簡單來說,流就是 數據的有序集合能從一個端傳輸到另一個端的過程 所以流的本質就是數據傳輸 下圖爲流的分類 (圖找自網絡,侵刪) 一、 流的劃分 1.按方向劃分 輸入流 數據從介質(磁盤、網絡)到當前程序的傳

原创 MySQL(四)——索引的優化

目錄一、索引的執行分析1.單表查詢執行過程以及優化—簡單查詢2.單表查詢執行過程以及優化—簡單查詢+排序或分組3.多表查詢—連接查詢的執行過程及優化二、索引失效三、SQL和索引的優化1、慢查詢日誌2、查看磁盤I/O讀寫的數據量3、

原创 MySQL(六)——事務

目錄一、事務概念二、事務的ACID特性三、事務的隔離級別四、MySQL的事務處理命令 一、事務概念 定義: 一個事務是由一條或者多條操作數據庫的SQL語句所組成的一個不可分割的單元,只有當事務中的所有操作都正常執行完了,整個事務

原创 MySQL(七)—MySQL的鎖(表鎖、行鎖)

鎖,在現實生活中是爲我們想要隱藏於外界所使用的一種工具。在計算機中,是協調多個進程或縣城併發訪問某一資源的一種機制。在數據庫當中,除了傳統的計算資源(CPU、RAM、I/O等等)的爭用之外,數據也是一種供許多用戶共享訪問的資源。如

原创 BST樹

目錄一、BST樹二、查找操作遞歸實現非遞歸實現三、插入操作遞歸實現非遞歸實現四、刪除操作遞歸實現非遞歸實現 一、BST樹 二叉查找樹(Binary Search Tree),又名二叉搜索樹或二叉排序樹。可以是一顆空樹,或者是具有下

原创 JDBC編程及SQL注入問題

JDBC 指 Java 數據庫連接,是一種標準Java應用編程接口( JAVA API),用來連接 Java 編程語言和廣泛的數據庫。 一、JDBC組件 DriverManager: 一系列的數據庫驅動程序,匹配連接使用通信協議

原创 AVL樹

一、AVL樹定義 BST樹的查找是通過二分查找的思想,可以很快着找到目的節點,查找所需的最大次數等同於二叉查找樹的高度。 但是!!!如果在一棵BST樹中要按順序插入1、2、3、4、5、6這幾個數,那麼就會退化成一條鏈表,如圖示:

原创 紅黑樹

目錄一、定義二、紅黑樹的旋轉左旋操作右旋操作三、紅黑樹的插入1.紅黑樹爲空樹2.插入節點的父節點是黑色3.插入節點的父節點是紅色四、紅黑樹的刪除情況1情況2情況3情況4 一、定義 爲了解決BST樹在最壞情況會退化成鏈表,有了AVL

原创 MySQL(二)——超詳細的基本SQL語句的使用

目錄一、庫操作1.創建數據庫2.查看數據庫3.使用數據庫4.查看數據庫下存在的表5.刪除數據庫二、表操作1.創建表2.查看錶3.刪除表4.修改表5.插入數據6.刪除數據7.查詢表8.表聯合查詢三、SQL提供的函數操作 一、庫操作

原创 MySQL(五)——存儲引擎(MyISAM、InnoDB和MEMORY的區別)

目錄一、MySQL存儲引擎介紹二、MyISAM介紹三、InnoDB介紹四、MEMORY介紹五、MyISAM、InnoDB和MEMORY的區別六、設置存儲引擎 一、MySQL存儲引擎介紹 MySQL最大的特點就是插件式的存儲引擎。

原创 JVM介紹

目錄一、JDK、JRE、JVM二、JVM的生命週期三、JVM的工作過程1、類加載子系統2、運行時數據區域3、執行引擎四、內存模型1.程序計數器2.虛擬機棧3.本地方法棧4.堆5.方法區 一、JDK、JRE、JVM JDK(Ja

原创 類加載機制詳解

一、類加載的時機 虛擬機規範中明確了在6種情況下會對類進行一個加載 1.創建對象實例:new 對象的時候,會依法類的初始化,前提這個類沒有被初始化 2.調用類的靜態屬性或爲靜態屬性賦值 3.調用類的靜態方法 4.通過clas

原创 Java中的四種引用

一、強引用 如果一個對象具有強引用,它就不會被垃圾回收器回收。即使當前內存空間不足,JVM也不會回收它,而是拋出 OutOfMemoryError 錯誤,使程序異常終止。如果想中斷強引用和某個對象之間的關聯,可以顯式地將引用賦值爲

原创 MySQL(三)——索引及索引的底層原理及MyISAM和InnoDB的索引實現

目錄一、索引的介紹二、索引的分類三、索引的創建與刪除1.創建表的時候創建索引2.在已經創建的表上添加索引3.刪除索引四、索引的執行過程五、索引的底層原理六、常用存儲引擎的索引結構1、MyISAM索引實現2、InnoDB索引實現七、