原创 HashMap、Hashtable、LinkedHashMap、TreeMap比較

Map有四個實現類,分別是HashMap   Hashtable   LinkedHashMap 和  TreeMap.   Map主要用於存儲健值對,根據鍵得到值,因此不允許鍵重複(重複了覆蓋了),但允許值重複。 Hashmap 是一

原创 HashSet、LinkedHashSet、TreeSet使用區別

HashSet:哈希表是通過使用稱爲散列法的機制來存儲信息的,元素並沒有以某種特定順序來存放; LinkedHashSet:以元素插入的順序來維護集合的鏈式存續,允許以插入的順序在集合中迭代,即迭代輸出的順序和插入的順序保持一致;   T

原创 java冒泡排序算法

原理:比較兩個相鄰的元素,將值大的元素交換至右端。 思路:依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至

原创 二分查找算法

二分查找算法(JAVA) 1.二分查找又稱折半查找,它是一種效率較高的查找方法。 2.二分查找要求:(1)必須採用順序存儲結構 (2).必須按關鍵字大小有序排列 3.原理:將數組分爲三部分,依次是中值(所謂的中值就是數組中間位置的那

原创 java簡單選擇排序算法

         選擇排序和冒泡排序差不多,只是冒泡排序在發現比它小的時候就交換,而選擇排序是只有在確定了最小的數據之後,纔會發生交換。 選擇排序的基本思想:第i趟簡單選擇排序是指通過n-i次關鍵字的比較,從n-i+1個記錄中選出關鍵字最

原创 MySQL性能優化的21個最佳實踐 和 mysql使用索引

今天,數據庫的操作越來越成爲整個應用的性能瓶頸了,這點對於Web應用尤其明顯。關於數據庫的性能,這並不只是DBA才需要擔心的事,而這更是我 們程序員需要去關注的事情。當我們去設計數據庫表結構,對操作數據庫時(尤其是查表時的SQL語句),

原创 希爾排序原理及Java實現

java 算法基礎之七希爾排序 希爾排序是插入排序的一種類型,也可以用一個形象的叫法縮小增量法。基本思想就是把一個數組分爲好幾個數組,有點像分治法,不過這裏的劃分是用一個常量d來控制。 這個0<d<n,n爲數組的長度。這個算法有了

原创 java 直接插入排序法

排序算法Java實現(直接插入排序)   直接插入排序(straight insertion sort)的做法是:每次從無序表中取出第一個元素,把它插入到有序表的合適位置,使有序表仍然有序。第一趟比較前兩個數,然後把第二個數按大小插

原创 順序查找java實現

順序查找Java實現 [java] view plain copy package suanfa;    public class OrderSearch {      /**順序查找平均時間複雜度 O(n)      

原创 java中IO解讀

問題: 1、IO解決的問題 2、輸入字節流和輸出字節流 3、輸入字符流和輸出字符流 4、轉換流的作用 5、案例代碼 1、IO解決問題 解決設備與設備之間的數據傳輸問題,比如 硬盤—->內存 內存—–>硬盤 2、字節流 輸入字

原创 MySQL數據庫設計規範和原則

MYSQL數據庫設計規範       1、數據庫命名規範         採用26個英文字母(區分大小寫)和0-9的自然數(經常不需要)加上下劃線'_'組成;         命名簡潔明確(長度不能超過30個字符);         例

原创 JAVA多線程

1 Thread類和Runable方法 (a)繼承Thread類 Java用Thread類對線程進行封裝,一旦創建了這個Thread實例,jvm就會爲我們創建一個線程,當我們調用Thread類的strat方法時,線程就開始運行起來 (b

原创 Java jdbc數據庫連接池總結

在Java語言中,JDBC(Java DataBase Connection)是應用程序與數據庫溝通的橋樑 即Java語言通過JDBC技術訪問數據庫。JDBC是一種“開放”的方案,它爲數據庫應用開發人員﹑數據庫前臺工具開發人員提供了一種標

原创 Java進階之路——從初級程序員到架構師,從小工到專家

怎樣學習才能從一名Java初級程序員成長爲一名合格的架構師,或者說一名合格的架構師應該有怎樣的技術知識體系,這是不僅一個剛剛踏入職場的初級程序員也是工作三五年之後開始迷茫的老程序員經常會問到的問題。希望這篇文章會是你看到過的最全面最權威

原创 siblings兄弟節點相互切換

siblings兄弟節點相互切換,重點掌握,