原创 算法學習筆記之希爾排序

一、概述 希爾排序是插入排序的一種,又稱“縮小增量排序”,是插入排序算法的一種更高效的改進版本。 二、需求: 排序前:{9,1,2,5,7,4,8,6,3,5} 排序後:{1,2,3,4,5,5,6,7,8,9} 三、排序原理 1

原创 Linux學習筆記之基本指令(1)

一、指令與選擇 1.什麼是Linux指令? 指在Linux終端中輸入的內容就稱之爲指令。 2.格式 #指令 [選項][操作對象] 一個指令可以包含多個選項 操作對象也可以實多個 二、基礎指令 1.ls指令 含義:ls(list)

原创 Java學習筆記之多線程

1.實現多線程 1.1進程 進程:是正在運行的程序。 是系統進行資源分配和調用的獨立單位; 每一個進程都有它自己的內存空間和系統資源。 1.2線程 線程:是進程中的單個順序控制流,是一條執行路經。 單線程:一個進程如果只有一條執

原创 Java學習筆記之JavaScript(1)

一、JavaScript 概念:一門客戶端腳本語言 運行在客戶端瀏覽器中的,每一個瀏覽器都有JavaScript的解析引擎; 腳本語言:不需要編譯,直接就可以被瀏覽器解析執行。 功能 可以來增強用戶和html頁面的交

原创 Java學習筆記之併發修改異常(源碼解析)

併發修改異常 併發修改異常:ConcurrentModificationException 1.產生原因:迭代器遍歷的過程中,通過集合對象修改了集合中的元素,造成了迭代器獲取元素中判斷預期修改值和實際修改值不一致 2.解決方案:用

原创 Java學習筆記之框架bootstrap

一、概念 一個前端開發的框架,Bootstrap,來自Twitter,是目前很受歡迎的前端框架。Bootstrap是基於HTML、CSS、JavaScript的,它簡介靈活,使得web開發更加快捷。 1. 框架: 一個半成品軟件,

原创 算法學習筆記之冒泡排序

冒泡排序 冒泡排序基於交換思想的排序算法,它將相鄰的兩個元素加以比較,若左邊元素值大於右邊元素值,則將這兩個元素交換;若左邊元素值小於等於右邊元素值,則這兩個元素位置不變。右邊元素繼續和下一個元素進行比較,重複這個過程,直到比較

原创 算法學習筆記之插入排序

一、插入排序 插入排序是一種簡單直觀且穩定的排序算法。它的工作方式非常像人們排序一手撲克牌一樣,開始時,我們的左手爲空並且桌子上的牌面朝下。然後,我們每次從桌子上拿走一張牌並將它插入左手正確的位置,爲了找到一張牌的正確位置,我們從

原创 Java學習筆記之HashSet集合保證元素唯一性地源碼解析

HashSet是Set接口的一個實現類,它的底層是HashMap,HashMap的底層是數組加鏈表. 它是怎麼保證元素唯一性的呢?我們來看看源碼: public V put(K key, V value) { /**四個參

原创 Java學習筆記之常用API(1)

1.int類型與String類型的相互轉換 (1)、int->String public static String valueOf(int i):返回int參數的字符串表示形式。該方法是String類型中的方法。 例: int

原创 Linux學習筆記之vim編輯器

一、vi介紹 vi編輯器是所有Unix及Linux系統下標準的編輯器,類似於windows系統下的notepad(記事本)編輯器,由於在Unix及Linux系統的任何版本,vi編輯器是完全相同的,因此可以在其他任何介紹vi的地方能

原创 Java學習筆記之Servlet&HTTP&Request

一、Servlet的體系結構 1.Servlet:接口 2.GenericServlet:抽象類 將Servlet接口中其他的方法做了默認空實現,只將servlet()方法作爲抽象。 將來定義Servlet類時,可以繼承Gener

原创 Java學習筆記之Response

HTTP協議: 1. 請求消息:客戶端發送給服務器端的數據 * 數據格式: 1. 請求行 2. 請求頭 3. 請求空行 4. 請求體 2. 響應消息:服務器端發送給客戶端的數據 * 數據格式: 1. 響應行

原创 Java學習筆記之XML

一、概念 Extensible markup Language 可擴展標記語言 可擴展:標籤都是自定義的。例如: 功能: (1) 用來存儲數據; (2)配置文件; (3)在網絡中傳輸。 xml與html的區別: (1)xml標籤