原创 mysql索引結構原理、性能分析與優化

第一部分:基礎知識 索引 官方介紹索引是幫助MySQL高效獲取數據的數據結構。筆者理解索引相當於一本書的目錄,通過目錄就知道要的資料在哪裏, 不用一頁一頁查閱找出需要的資料。 唯一索引(unique index) 強調唯一,就是

原创 eclipse下載並配置黑色主題

雖然以前也使用eclipse的黑色主題,但是配置起來稍微麻煩一點。 這裏先聲明,下面的方式適合最新版本的Eclipse Luna,舊的版本可以下載我提供的這個插件,並將其放在eclipse目錄下的plugins目錄下即可。 插件下載

原创 sql語句的性能優化問題

很多人不知道SQL語句在SQL SERVER中是如何執行的,他們擔心自己所寫的SQL語句會被SQL SERVER誤解。比如: select * from table1 where name='zhangsan' and tID > 1

原创 java內存機制說明(簡單明瞭)

Java虛擬機在執行Java程序的過程中會把它所管理的內存區域分爲若干個不同的數據區域。這些區域都有各自的用途,有的區域隨虛擬機進程啓動而存在,有的區域則依賴用戶線程啓動和結束而建立和銷燬。Java虛擬機所管理的內存將會包括以下幾個運行

原创 Collection集合的總結以及如果選擇適合的集合(包括對List和Set的對比)

1:Collection的關係圖 2:Set集合(理解)(1)Set集合的特點無序,唯一(2)HashSet集合(掌握)A:底層數據結構是哈希表(是一個元素爲鏈表的數組)B:哈希表底層依賴兩個方法:hashCode()和equals()

原创 HashSet如何保證元素的唯一性-跟蹤源碼解析

自己的理解:HashSet的底層數據結構用的是哈希表(HashMap),當往HashSet上添加一條元素時。   public boolean add(E e) {        return map.put(e, PRESENT)==

原创 Spring源碼解析和配置文件加載

Spring類的繼承結構圖: Spring運用了大量的模板方法模式和策略模式,所以各位看源碼的時候,務必留意,每一個繼承的層次都有不同的作用,然後將相同的地方抽取出來,依賴抽象將不同的處理按照不同的策略去處理。 步驟A. 讀取 Reso

原创 抽象類(Abstract)和接口的不同點、共同點(Interface)。

相同點: (1) 都可以被繼承 (2) 都不能被實例化 (3) 都可以包含方法聲明 (4) 派生類必須實現未實現的方法 區 別: (1) 抽象基類可以定義字段、屬性、方法實現。接

原创 類加載機制詳解(有條理)

虛擬機的類加載和執行機制是虛擬機的最主要功能 本篇主要引用《深入理解Java虛擬機——JVM高級特性與最佳實踐》一書。 1、類文件結構     java虛擬機要對類文件進行加載和執行,那麼必須要能夠理解類文件結構,而對於虛擬機而言

原创 for 、foreach和iterator的區別

相同點:   三個都可以用來遍歷數組和集合不同點:1.形式差別                  for的形式是                for(int i=0;i<arr.size();i++){...}             

原创 inux下解壓命令大全

  rpm -ivh install_rpm    tar xvf informix-linux.tar  Linux下解壓命令大全 .tar  解包:tar xvf FileName.tar 打包:tar cvf Fil

原创 java泛型的內部原理:類型擦除以及類型擦除帶來的問題

參考:java核心技術 一、Java泛型的實現方法:類型擦除 前面已經說了,Java的泛型是僞泛型。爲什麼說Java的泛型是僞泛型呢?因爲,在編譯期間,所有的泛型信息都會被擦除掉。正確理解泛型概念的首要前提是理解類型擦出(type

原创 Struts2原理解析(結合源碼)

這篇文章對應的並非Struts2的最新版本,但其原理還是相同的。 這是Struts2官方站點提供的Struts 2 的整體結構。          一個請求在Struts2框架中的處理大概分爲以下幾個步驟:  客戶端提起一個(

原创 數據庫範式簡析和舉例

簡介      數據庫範式在數據庫設計中的地位一直很曖昧,教科書中對於數據庫範式倒是都給出了學術性的定義,但實際應用中範式的應用卻不甚樂觀,這篇文章會用簡單的語言和一個簡單的數據庫DEMO將一個不符合範式的數據庫一步步從第一範式實現到

原创 java同步方法和同步代碼塊詳解(通俗地講解)

打個比方:一個object就像一個大房子,大門永遠打開。房子裏有很多房間(也就是方法)。這些房間有上鎖的(synchronized方法),和不上鎖之分(普通方法)。房門口放着一把鑰匙(key),這把鑰匙可以打開所有上鎖的房間。另外我把所有