原创 初識Hibernate之關聯映射(二)

     上篇我們介紹了關聯映射的幾種形式,有單向多對一,單向一對多,還有雙向一對多。本篇接着介紹有關關聯映射的其他幾種映射方式,主要有以下幾種: 基於外鍵的單向一對一關聯映射 基於主鍵的單向一對一關聯映射 單向多對多關聯映射

原创 Java併發之線程

     在前面我們介紹的一些內容中,我們的程序都是一條執行流,一步一步的執行。但其實這種程序對我們計算機的資源的使用上是低效的。例如:我們有一個用於計算的程序,主程序計算數據,在計算的過程中每得到一個結果就需要將其保存到外部磁盤

原创 Java併發之線程間的協作

     上篇文章我們介紹了synchronized關鍵字,使用它可以有效的解決我們多線程所帶來的一些常見問題。例如:競態條件,內存可見性等。並且,我們也說明了該關鍵字主要是一個加鎖和釋放鎖的集成,所有爲能獲得鎖的線程都將被阻塞在

原创 初識Hibernate之繼承映射

     前面的兩篇文章中,我們介紹了兩張表之間的各種相互關聯映射關係,但往往我們也會遇到兩張表甚至多張表之間共有着多個相同的字段。例如: 如圖,student表和teacher表共同具有id,name,age等字段,而我們的繼

原创 Git版本控制之多人協作

     上篇文章我們主要簡單的介紹了有關git的一些基本常識和一些簡單的命令。但那終究是皮毛,我們使用git最主要的目的還是管理我們的項目,多人協作。本篇文章主要涉及以下兩個大模塊: 分支的概念及原理 遠程倉庫的使用 一、分

原创 堆結構的優秀實現類----PriorityQueue優先隊列

     之前的文章中,我們有介紹過動態數組ArrayList,雙向隊列LinkedList,鍵值對集合HashMap,樹集TreeMap。他們都各自有各自的優點,ArrayList動態擴容,數組實現查詢非常快但要求連續內存空間,

原创 Java併發之synchronized關鍵字

     上篇文章我們主要介紹了併發的基本思想以及線程的基本知識,通過多線程我們可以實現對計算機資源的充分利用,但是在最後我們也說明了多線程給程序帶來的兩種典型的問題,針對它們,synchronized關鍵字可以很好的解決問題。對

原创 初識Hibernate之關聯映射(一)

     上篇文章我們對持久化對象進行的學習,瞭解了它的三種不同的狀態並通過它完成對數據庫的映射操作。但這都是基於單張表的操作,如果兩張或者兩張以上的表之間存在某種關聯,我們又該如何利用持久化對象進行操作呢?本篇主要介紹的關聯映射

原创 Spring框架學習之依賴注入

     Spring框架從2004年發佈的第一個版本以來,如今已經迭代到5.x,逐漸成爲JavaEE開發中必不可少的框架之一,也有人稱它爲Java下的第一開源平臺。單從Spring的本身來說,它貫穿着整個表現層,業務層與持久層,

原创 Java併發編程之顯式鎖機制

     我們之前介紹過synchronized關鍵字實現程序的原子性操作,它的內部也是一種加鎖和解鎖機制,是一種聲明式的編程方式,我們只需要對方法或者代碼塊進行聲明,Java內部幫我們在調用方法之前和結束時加鎖和解鎖。而我們本篇

原创 Java併發編程之原子變量

     原子變量最主要的一個特點就是所有的操作都是原子的,synchronized關鍵字也可以做到對變量的原子操作。只是synchronized的成本相對較高,需要獲取鎖對象,釋放鎖對象,如果不能獲取到鎖,還需要阻塞在阻塞隊列上

原创 Java併發之線程中斷

     前面的幾篇文章主要介紹了線程的一些最基本的概念,包括線程的間的衝突及其解決辦法,以及線程間的協作機制。本篇主要來學習下Java中對線程中斷機制的實現。在我們的程序中經常會有一些不達到目的不會退出的線程,例如:我們有一個下

原创 初識Hibernate之理解持久化類

     上一篇文章我們簡單介紹了Hibernate相關的一些最基本的文件及其作用,並在最後完整的搭建了Hibernate的運行環境,成功的完成了與數據庫的映射。但是至於其中的一些更加細節的地方並沒有很詳盡的解釋,本篇則主要介紹H

原创 詳解Java API之正則表達式

     正則表達式描述的是一種規則,符合這種限定規則的字符串我們認爲它某種滿足條件的,是我們所需的。在正則表達式中,主要有兩種字符,一種描述的是普通的字符,另一種描述的是元字符。其中元字符是整個正則表達式的核心,並由它完成規則的

原创 深入理解循環隊列----循環數組實現ArrayDeque

     我們知道隊列這種數據結構的物理實現方式主要還是兩種,一種是鏈隊列(自定義節點類),另一種則是使用數組實現,兩者各有優勢。此處我們將要介紹的循環隊列其實是隊列的一種具體實現,由於一般的數組實現的隊列結構在頻繁出隊的情況下,