??????? Abstract?class?抽象類:抽象類是不允許實例化的類,因此一般它需要被進行擴展繼承。???
Abstract?method?抽象方法:抽象方法即不包含任何功能代碼的方法。???
Access?modifier?訪問控制修飾符:訪問控制修飾符用來修飾Java中類、以及類的方法和變量的訪問控制屬性。???
Anonymous?class?匿名類:當你需要創(chuàng)建和使用一個類,而又不需要給出它的名字或者再次使用的使用,就可以利用匿名類。???
Anonymous?inner?classes?匿名內部類:匿名內部類是沒有類名的局部內部類。???
API?應用程序接口:提供特定功能的一組相關的類和方法的集合。???
Array?數(shù)組:存儲一個或者多個相同數(shù)據(jù)類型的數(shù)據(jù)結構,使用下標來訪問。在Java中作為對象處理。???
Automatic?variables?自動變量:也稱為方法局部變量method?local?variables,即聲明在方法體中的變量。???
Base?class?基類:即被擴展繼承的類。???
Blocked?state?阻塞狀態(tài):當一個線程等待資源的時候即處于阻塞狀態(tài)。阻塞狀態(tài)不使用處理器資源???
Call?stack?調用堆棧:調用堆棧是一個方法列表,按調用順序保存所有在運行期被調用的方法。???
Casting?類型轉換?:即一個類型到另一個類型的轉換,可以是基本數(shù)據(jù)類型的轉換,也可以是對象類型的轉換。???
char?字符:容納單字符的一種基本數(shù)據(jù)類型。???
Child?class?子類:見繼承類Derived?class???
Class?類:面向對象中的最基本、最重要的定義類型。???
Class?members?類成員:定義在類一級的變量,包括實例變量和靜態(tài)變量。???
Class?methods?類方法:類方法通常是指的靜態(tài)方法,即不需要實例化類就可以直接訪問使用的方法。???
Class?variable?類變量:見靜態(tài)變量Static?variable???
Collection?容器類:容器類可以看作是一種可以儲存其他對象的對象,常見的容器類有Hashtables和Vectors。???
Collection?interface?容器類接口:容器類接口定義了一個對所有容器類的公共接口。???
Collections?framework?容器類構架:接口、實現(xiàn)和算法三個元素構成了容器類的架構。???
Constructor?構造函數(shù):在對象創(chuàng)建或者實例化時候被調用的方法。通常使用該方法來初始化數(shù)據(jù)成員和所需資源。???
Containers容器:容器是一種特殊的組件,它可以容納其他組件。???
Declaration?聲明:聲明即是在源文件中描述類、接口、方法、包或者變量的語法。???
Derived?class?繼承類:繼承類是擴展繼承某個類的類。???
Encapsulation?封裝性:封裝性體現(xiàn)了面向對象程序設計的一個特性,將方法和數(shù)據(jù)組織在一起,隱藏其具體實現(xiàn)而對外體現(xiàn)出公共的接口。???
Event?classes?事件類:所有的事件類都定義在java.awt.event包中。???
Event?sources?事件源:產生事件的組件或對象稱為事件源。事件源產生事件并把它傳遞給事件監(jiān)聽器event?listener*。???
Exception?異常:異常在Java中有兩方面的意思。首先,異常是一種對象類型。其次,異常還指的是應用中發(fā)生的一種非標準流程情況,即異常狀態(tài)。???
Extensibility擴展性:擴展性指的是面向對象程序中,不需要重寫代碼和重新設計,能容易的增強源設計的功能。???
Finalizer?收尾:每個類都有一個特殊的方法finalizer,它不能被直接調用,而被JVM在適當?shù)臅r候調用,通常用來處理一些清理資源的工作,因此稱為收尾機制。???
Garbage?collection?垃圾回收機制:當需要分配的內存空間不再使用的時候,JVM將調用垃圾回收機制來回收內存空間。???
Guarded?region?監(jiān)控區(qū)域:一段用來監(jiān)控錯誤產生的代碼。???
Heap堆:Java中管理內存的結構稱作堆。???
Identifiers?標識符:即指定類、方法、變量的名字。注意Java是大小寫敏感的語言。???
Import?statement?引入語法:引入語法允許你可以不使用某個類的全名就可以參考這個類。???
Inheritance?繼承:繼承是面向對象程序設計的重要特點,它是一種處理方法,通過這一方法,一個對象可以獲得另一個對象的特征。???
Inner?classes?內部類:內部類與一般的類相似,只是它被聲明在類的內部,或者甚至某個類方法體中。???
Instance?實例:類實例化以后成為一個對象。???
Instance?variable?實例變量:實例變量定義在對象一級,它可以被類中的任何方法或者其他類的中方法訪問,但是不能被靜態(tài)方法訪問。???
Interface?接口:接口定義的是一組方法或者一個公共接口,它必須通過類來實現(xiàn)。
Java?source?file?Java源文件:Java源程序包含的是Java程序語言計算機指令。???
Java?Virtual?Machine?(JVM)?Java虛擬機:解釋和執(zhí)行Java字節(jié)碼的程序,其中Java字節(jié)碼由Java編譯器生成。???
javac?Java編譯器:Javac是Java編譯程序的名稱。???
JVM?Java虛擬機:見Java虛擬機???
Keywords?關鍵字:即Java中的保留字,不能用作其他的標識符。???
Layout?managers?布局管理器:布局管理器是一些用來負責處理容器中的組件布局排列的類。???
Local?inner?classes?局部內部類:在方法體中,或者甚至更小的語句塊中定義的內部類。???
Local?variable?局部變量:在方法體中聲明的變量???
Member?inner?classes?成員內部類:定義在封裝類中的沒有指定static修飾符的內部類。???
Members?成員:類中的元素,包括方法和變量。???
Method?方法:完成特定功能的一段源代碼,可以傳遞參數(shù)和返回結果,定義在類中。???
Method?local?variables?方法局部變量:見自動變量Automatic?variables???
Modifier?修飾符:用來修飾類、方法或者變量行為的關鍵字。???
Native?methods?本地方法:本地方法是指使用依賴平臺的語言編寫的方法,它用來完成Java無法處理的某些依賴于平臺的功能。???
Object?對象:一旦類實例化之后就成為對象。???
Overloaded?methods?名稱重載方法:方法的名稱重載是指同一個類中具有多個方法,使用相同的名稱而只是其參數(shù)列表不同。???
Overridden?methods?覆蓋重載方法:方法的覆蓋重載是指父類和子類使用的方法采用同樣的名稱、參數(shù)列表和返回類型。???
Package?包:包即是將一些類聚集在一起的一個實體。???
Parent?class?父類:被其他類繼承的類。也見基類。???
Private?members?私有成員:私有成員只能在當前類被訪問,其他任何類都不可以訪問之。???
Public?members?公共成員:公共成員可以被任何類訪問,而不管該類屬于那個包。???
Runtime?exceptions?運行時間異常:運行時間異常是一種不能被你自己的程序處理的異常。通常用來指示程序BUG。???
Source?file?源文件:源文件是包含你的Java代碼的一個純文本文件。???
Stack?trace?堆棧軌跡:如果你需要打印出某個時間的調用堆棧狀態(tài),你將產生一個堆棧軌跡。???
Static?inner?classes?靜態(tài)內部類:靜態(tài)內部類是內部類最簡單的形式,它于一般的類很相似,除了被定義在了某個類的內部。???
Static?methods?靜態(tài)方法:靜態(tài)方法聲明一個方法屬于整個類,即它可以不需要實例化一個類就可以通過類直接訪問之。???
Static?variable?靜態(tài)變量:也可以稱作類變量。它類似于靜態(tài)方法,也是可以不需要實例化類就可以通過類直接訪問。???
Superclass?超類:被一個或多個類繼承的類。???
Synchronized?methods?同步方法:同步方法是指明某個方法在某個時刻只能由一個線程訪問。???
Thread?線程:線程是一個程序內部的順序控制流。???
Time-slicing?時間片:調度安排線程執(zhí)行的一種方案。???
Variable?access?變量訪問控制:變量訪問控制是指某個類讀或者改變一個其他類中的變量的能力。???
Visibility?可見性:?可見性體現(xiàn)了方法和實例變量對其他類和包的訪問控制。
摘要: 作為測試,我們新建一個TUser對象,其image屬性中,保存了一個圖片文件的二進制內容。而其resume屬性,我們以一個簡單的字符串作為填充。
?
?1
TUser?user?
=
new
?TUser();?
...
閱讀全文
1. Assigned
???? 主鍵由應用邏輯產生,數(shù)據(jù)交由Hibernate保存時,主鍵值已經(jīng)設置完畢,無需Hibernate干預。
2.? hilo
??? 通過hi/lo算法實現(xiàn)的主鍵生成機制,需要額外的數(shù)據(jù)庫表保存主鍵生成歷史狀態(tài).
3.? seqhilo
??? 與hilo類似,通過hi/lo算法實現(xiàn)的主鍵生成機制,只是主鍵歷史狀態(tài)保存在Sequence中,適用于支持Sequence的數(shù)據(jù)庫,如Oracle。
4.? increment
??? 主鍵按數(shù)值順序遞增。此方式的實現(xiàn)機制為在當前應用實例中維持一個變量,以保存著當前的最大值,之后每次需要生成主鍵的時候將此值加1作為主鍵。這種方式可能產生的問題是:如果當前有多個實例訪問同一個數(shù)據(jù)庫,那么由于各個實例各自維護主鍵狀態(tài),不同實例可能生成同樣的主鍵,從而造成主鍵重復異常。因此,如果同一數(shù)據(jù)庫有多個實例訪問,此方式必須避免使用。
5.? identity
??? 采用數(shù)據(jù)庫提供的主鍵生成機制,如SQL Server, MySQL中的自增主鍵生成機制。
6.? sequence
??? 采用數(shù)據(jù)庫提供的sequence機制生成主鍵.如Oralce Sequence.
7.? native
??? 由Hibernate根據(jù)數(shù)據(jù)庫適配器中的定義,自動采用identity, hilo, sequence的其中一種作為主鍵生成方式。
8.? uuid.hex
??? 由Hibernate基于,28位惟一值產生算法,根據(jù)當前設備IP,時間,JVM啟動時間,內部自增量等4個參數(shù)生成十六進制數(shù)值(編碼后以長度為32位的字符串表示)作為主鍵。這種算法在最大程度上保證了產生ID的惟一性,即使是在多實例并發(fā)運行的情況下。當然,重復的概率在理論上依然存在,只是實在過于渺茫(可能數(shù)萬年才出現(xiàn)一次)。一般而言,利用uuid.hex方式生成主鍵將提供最好的數(shù)據(jù)插入性能和數(shù)據(jù)庫平臺適應性。
9.? uuid.string·
??? 與uuid.hex類似,只是生成的主鍵未進行編碼(長度16位)。在某些數(shù)據(jù)庫中可能出現(xiàn)問題(如PostgreSQL )。
10. foreign
??? 使用外部表的字段作為主鍵,此類主鍵生成機制我們將在數(shù)據(jù)關聯(lián)部分結合實例進行講解。
11. select
??? Hibernate 3中新引入的主鍵獲取機制,主要針對遺留系統(tǒng)的改造工程。在一些早期系統(tǒng)中,主鍵可能依賴觸發(fā)器生成,即當數(shù)據(jù)庫發(fā)生insert操作時,通過觸發(fā)器捕獲這一操作,并為主鍵賦值。此時,我們就必須在插入數(shù)據(jù)之后,再次通過某一識別字段讀取己插入的數(shù)據(jù),獲取其主鍵數(shù)據(jù)。
<轉自:深入淺出hibernate>