原创 關於JPA

JPA全稱Java Persistence API。JPA通過JDK 5.0註解或XML描述對象-關係表的映射關係,並將運行期的實體對象持久化到數據庫中。 Sun引入新的JPA ORM規範出於兩個原因:其一,簡化現有Java EE和Jav

原创 關於Hibernate的commit、flush方法與對象的三種狀態

在Hibernate中有三種狀態,只有對它的深入理解,才能更好的理解hibernate的運行機理,剛開始不太注意這些概念,後來發現它是重要的。 對於理解hibernate,JVM和sql的關係有更好的理

原创 關於POJO和JavaBean

POJO 和JavaBean是我們常見的兩個關鍵字,一般容易混淆,POJO全稱是Plain Ordinary Java Object / Pure Old Java Object,中文可以翻譯成:普通Java類,具有一部分getter/s

原创 關於JDBC(三)--- 執行查詢操作

java查詢數據庫數據時,常用的是PreparedStatement,PreparedStatement實現了Statement接口,所以它是Statement功能的擴展。我們沒有必要在每次開始一個查詢時都建立新的查詢語句,而是準備一個帶

原创 關於Java的靜態代理

研究了一下《Java核心技術》的代理,沒看明白,又從網上查了查資料,根據自己的理解整理了一下 代理模式有三個角色: 1.抽象主題角色 2.代理主題角色 3.實際被代理角色 // 產品IPadMini,國內是不能買到的,因爲Apple公司

原创 關於Java動態代理

再來舉個栗子 公司代理IPadMini轉了一些錢,董事會Apple的產品挺靠譜,決定進一步把公司搞大,開一個Apple的專賣店 //所有蘋果公司的產品(抽象主題角色) interface AppleProduction { publ

原创 關於多線程(二)---synchronized關鍵字與volatile域

synchronized關鍵字 可修飾方法,則線程調用該方法必須獲得該對象的內部鎖,並且該鎖有一個內部條件。 靜態方法也可以聲明爲synchronized,如果調用這種方法,該方法獲得相關的類對象的內部鎖,沒有其他線程可以調用同一個類的這

原创 關於多線程(一)---線程的狀態

線程的狀態 NewRunnableBlockedWaitingTimed waitingTerminatedNew(新生線程):用new操作符創建的一個新線程時,該線程還沒有開始運行。 Runnable(可運行線程):一個New狀態的

原创 關於Hibernate的日誌

hibernate採用了slf4j的日誌接口,hibernate4.0之前的版本有對slf4j接口的實現slf4j-nop.jar。slf4j,即簡單日誌門面(Simple Logging Facade for Java),不是具體的日誌

原创 關於JDBC(四)--- 可滾動和可更新結果集

在默認情況下,結果集是不可以滾動和不可以更新的。要得到一個可滾動的結果集,在生成Statement或PreparedStatement時,應預先通知conn Statement stat = conn.createStatement(ty

原创 關於JDBC(一)--- JDBC配置

JDBC乃java訪問數據庫的接口,通過使用SQL語句,甚至是專有的SQL擴展,程序員可以利用Java語言開發訪問數據庫的應用;數據庫供應商和數據庫工具開發商可以提供底層的驅動程序。 JDBC的配置,首先計算機預先應裝載數據庫軟件,並從網

原创 關於Web Service原理

Web服務有兩層含義:1、是指封裝成單個實體併發布到網絡上的功能集合體;2、是指功能集合體被調用後所提供的服務。簡單地講,Web服務是一個URL資源,客戶端可以通過編程方式請求得到它的服務,而不需要知道所請求的服務是怎樣實現的,這一點與傳

原创 關於多線程(三)---可見性與原子性

可見性是指如果多個線程對一個變量進行操作,但是這多個線程有可能被分配到多個處理器中運行,那麼編譯器會對代碼進行優化,當線程要處理該變量時,多個處理器會將變量從主存複製一份分別存儲在自己的片上存儲器中,等到進行完操作後,再賦值回主存。這樣做