原创 數據結構之【圖】

一、基本術語 圖:由有窮、非空點集和邊集合組成,簡寫成G(V,E); Vertex:圖中的頂點; 無向圖:圖中每條邊都沒有方向; 有向圖:圖中每條邊都有方向; 無向邊:邊是沒有方向的,寫爲(a,b) 有向

原创 MyBatis學習(五):MyBatis的一對一關聯如何操作

現在有兩張表,一張是班級表,另外一張是老師表。 上面就是兩張表,通過班級id號不僅僅能夠獲得班級的信息還要獲取班主任的信息,其中c_teacher和t_id通過外鍵相連。 1.首先mybatis的配置文件conf.xml這個好像與之前的

原创 Java內存區域與內存溢出異常

Java內存區域與內存溢出異常 如上圖所示,首先java源代碼文件(.java後綴)會被java編譯器編譯爲字節碼文件(.class後綴)然後再讓類加載器加載各個類的字節碼文件,加載完畢後,交由JVM執行引擎執行。在整個執行過程中,J

原创 java中的Socket編程

基於Socket的java網絡編程 網絡上的兩個程序通過一個雙向的通訊連接實現數據的交換,這個雙向鏈路的一端成爲一個socket。Socket通常用來實現客戶方和服務方的連接。Socket是TCP/IP協議的一個十分流行的編程界面,一個s

原创 Java泛型詳解,通俗易懂的寫法

我們知道,使用變量之前要定義,定義一個變量時必須要指明它的數據類型,什麼樣的數據類型賦給什麼樣的值。假如我們現在要定義一個類來表示座標,要求座標的數據類型可以是整數、小數和字符串,例如: x = 10、y = 10x = 12.88、y

原创 MyBatis學習(一):一個簡單的演示

MyBatis是支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。他是使用簡單的XML或是註解用於配置和原始映射,將接口和java的對象映射爲數據庫中的記錄

原创 利用jdk自帶的運行監控工具JConsole觀察分析Java程序的運行

一、JConsole是什麼     從Java 5開始 引入了 JConsole。JConsole 是一個內置 Java 性能分析器,可以從命令行或在 GUI shell 中運行。您可以輕鬆地使用 JConsole(或者,它更高端的

原创 Java多線程中join方法的理解

thread.Join把指定的線程加入到當前線程,可以將兩個交替執行的線程合併爲順序執行的線程。比如在線程B中調用了線程A的Join()方法,直到線程A執行完畢後,纔會繼續執行線程B。 t.join();      //使調用線程 t

原创 MyBatis學習(四):MyBatis使用代理方法(接口)實現數據庫的操作

在第一篇簡單的mybatis示例中,我們簡單的介紹瞭如何通過SQL映射文件來實現對數據庫的操作。 在對數據庫操作的時候是採用上圖中的1+2來實現對數據庫的操作。 見上圖就可以實現對數據庫的操作了,但是這樣做還是不太方便,有沒有更好的方

原创 Java線程池

1.     線程池 爲什麼需要線程池,其實線程池和數據庫連接池一樣,都是爲了節省線程的創建和關閉的時間。在併發的線程數量很多,並且每個線程都是執行一個時間很短的任務就結束了,的頻繁創建線程就會大大降低系統的效率,因爲頻繁的創建和銷燬線程

原创 Java中拋出的內存異常總結

Java中拋出的內存異常總結 根據上述的總結:可以整理出來,JVM在運行的時候大致會分爲五個區域。方法區、堆區、本地方法棧、虛擬機棧、程序計數器。 其中程序計數器不會報出OutOfMemoryError錯誤,其他的都有可能會報出這個錯誤。

原创 MyBatis學習(三):解析MyBatis的SQL映射XML文件寫法和使用原理

上面的兩篇文章,分別是MyBatis的入門小程序和MyBatis的配置XML解析,有需要的可以先去看看這兩篇文章,本篇文章,會來講解SQL映射XML文件的寫法以及如何使用。 MyBatis真正的力量在於其映射語句。這裏應該是奇蹟發生的地方

原创 Java死鎖與如何避免死鎖

所謂死鎖就是進程循環等待它方佔有的資源而無限制的僵持下去的局面。 以一個簡單的例子來解釋:一個橋,最多可以通過一個車子,但是左右兩邊都來了車子,而且都上了橋,左邊的車子,佔用了左邊的橋資源,二右邊的車子,佔用了右邊的橋的資源。左邊的車

原创 MyBatis學習(二):解析MyBatis配置文件的寫法和使用原理

MyBatis學習(一):一個簡單的演示 上面就是一個很簡單的MyBatis的應用實例,可以看看,對於如何如此做可能就不是很清楚了。 首先每一個MyBatis的應用程序都是以一個SqlSessionFactory對象的實例爲核心。SqlS

原创 Java的三大特性(繼承、封裝、多態)

常見的我們會說java有三種特性(繼承、封裝、多態),面試的時候會讓你簡單的說說這三大特性的特點。   封裝:封裝就是指將對象的狀態信息隱藏在對象的內部,不允許外部的程序直接訪問對象內部的信息,而是通過該類的所提供的方法來實現對內部信息的