摘要: 單例模式
定義:
Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。
閱讀全文
posted @
2009-07-08 09:03 Werther 閱讀(4367) |
評論 (2) |
編輯 收藏
摘要: 典型的J2EE三層結構,分為表現層、中間層(業務邏輯層)和數據服務層。三層體系將業務規則、數據訪問及合法性校驗等工作放在中間層處理。客戶端不直接與數據庫交互,而是通過組件與中間層建立連接,再由中間層與數據庫交互。
閱讀全文
posted @
2009-07-06 20:13 Werther 閱讀(638) |
評論 (0) |
編輯 收藏
摘要: 垃圾回收是Java語言的一大特性,方便了編程,是以消耗性能為代價的。而垃圾在這里只無用的對象。而C++是需要程序員自己寫析構函數來釋放內存的,麻煩,也有可能忘記而導致內存泄露。
Java語言對內存的分配管理是通過JVM內部機制決定的。程序員可以不關心其處理。
閱讀全文
posted @
2009-07-05 21:53 Werther 閱讀(2307) |
評論 (4) |
編輯 收藏
摘要: 經典的SQL Connection.
閱讀全文
posted @
2009-07-03 14:04 Werther 閱讀(317) |
評論 (0) |
編輯 收藏
摘要: Mysql日期和時間函數
閱讀全文
posted @
2009-07-03 11:25 Werther 閱讀(256) |
評論 (0) |
編輯 收藏
摘要: Spring的哲學是在不影響Java對象的設計的情況下將Java對象加入到框架中。 我們下面來看看Spring的工作原理,看看Spring是如何做到不影響Java對象的。
閱讀全文
posted @
2009-07-02 17:34 Werther 閱讀(1826) |
評論 (2) |
編輯 收藏
摘要: Spring 框架是一個分層架構,由 7 個定義良好的模塊組成。Spring 模塊構建在核心容器之上,核心容器定義了創建、配置和管理 bean 的方式.
閱讀全文
posted @
2009-06-30 17:22 Werther 閱讀(319) |
評論 (0) |
編輯 收藏
摘要: 一、事務管理
事務傳播
1、required:方法在一個事務中執行,如果調用的方法在一個事務中,則使用該事務,否則將創建一個新的事務。(必須有,有就用,沒有就建)
2、mandatory:如果運行于事務中的客戶調用了該方法,方法在客戶的事務中執行。如果客戶沒有關聯到事務中,容器就會拋出TransactionRequiredException.(必須有,有就用,沒有報錯)
閱讀全文
posted @
2009-06-29 17:22 Werther 閱讀(1945) |
評論 (1) |
編輯 收藏
摘要: Spring聲明式事務讓我們從復雜的事務處理中得到解脫。使得我們再也無需要去處理獲得連接、關閉連接、事務提交和回滾等這些操作。再也無需要我們在與事務相關的方法中處理大量的try…catch…finally代碼。
我們在使用Spring聲明式事務時,有一個非常重要的概念就是事務屬性。事務屬性通常由事務的傳播行為,事務的隔離級別,事務的超時值和事務只讀標志組成。我們在進行事務劃分時,需要進行事務定義,也就是配置事務的屬性。
閱讀全文
posted @
2009-06-26 17:55 Werther 閱讀(188) |
評論 (0) |
編輯 收藏
摘要: 切面(Aspect): 一個關注點的模塊化,這個關注點可能會橫切多個對象。事務管理是J2EE應用中一個關于橫切關注點的很好的例子。 在Spring AOP中,切面可以使用通用類(基于模式的風格) 或者在普通類中以 @Aspect 注解(@AspectJ風格)來實現。
閱讀全文
posted @
2009-06-25 17:27 Werther 閱讀(1318) |
評論 (0) |
編輯 收藏
摘要: 針對Oracle數據庫而言,Fetch Size 是設定JDBC的Statement讀取數據的時候每次從數據庫中取出的記錄條數,一般設置為30、50、100.Oracle數據庫的JDBC驅動默認的Fetch Size=15,設置Fetch Size設置為:30、50,性能會有明顯提升,如果繼續增大,超出100,性能提升不明顯,反而會消耗內存。
閱讀全文
posted @
2009-06-24 17:08 Werther 閱讀(273) |
評論 (0) |
編輯 收藏
摘要: (一)Hibernate的二級緩存策略的一般過程如下:
1) 條件查詢的時候,總是發出一條select * from table_name where …. (選擇所有字段)這樣的SQL語句查詢數據庫,一次獲得所有的數據對象。
2) 把獲得的所有數據對象根據ID放入到第二級緩存中。
3) 當Hibernate根據ID訪問數據對象的時候,首先從Session一級緩存中查;查不到,如果配置了二級緩存,那么從二級緩存中查;查不到,再查詢數據庫,把結果按照ID放入到緩存。
4) 刪除、更新、增加數據的時候,同時更新緩存。
Hibernate的二級緩存策略,是針對于ID查詢的緩存策略,對于條件查詢則毫無作用。為此,Hibernate提供了針對條件查詢的Query Cache。
閱讀全文
posted @
2009-06-23 17:32 Werther 閱讀(1700) |
評論 (2) |
編輯 收藏
摘要: 業務邏輯的實現過程中,往往需要保證數據訪問的排他性。如在金融系統的日終結算處理中,我們希望針對某個 cut-off 時間點的數據進行處理,而不希望在結算進行過程中(可能是幾秒種,也可能是幾個小時),數據再發生變化。此時,我們就需要通過一些機制來保證這些數據在某個操作過程中不會被外界修改,這樣的機制,在這里,也就是所謂的 “鎖” ,即給我們選定的目標數據上鎖,使其無法被其他程序修改。Hibernate 支持兩種鎖機制:即通常所說的 “悲觀鎖( Pessimistic Locking )”和 “樂觀鎖( Optimistic Locking )”
閱讀全文
posted @
2009-06-22 17:25 Werther 閱讀(341) |
評論 (0) |
編輯 收藏
摘要: Hibernate在解決性能問題方面做得非常好。有了它的緩存機制,使用第三方緩存和數據庫連接池,就較好的解決的性能問題。但這些還不夠,hibernate給了開發者足夠的自由,讓開發者自己去控制性能問題。
閱讀全文
posted @
2009-06-18 17:21 Werther 閱讀(5773) |
評論 (15) |
編輯 收藏
摘要: JAVA語言已經慢慢的在成為主流的開發語言之一,或者說現在已經成為了主流的開發語言。在JAVA語言平臺上,也出現了多種開發模型。對于剛入門的JAVA程序員來說,也許面對這么多的開發模型,會眼花繚亂,不知道該如何選擇。筆者剛開始接觸JAVA語言的時候沒有多少的開發模型可以選擇。而前幾年筆者也遇到了這個問題。可選的開發模型比較多,筆者必須選擇一個開發模型作為未來自己的主攻方向。因為人的精力是有限的,特別是我們做程序開發的。我們要把有限的精力花在刀口上。筆者在這里向大家推薦EJB開發模型。
閱讀全文
posted @
2009-06-17 22:51 Werther 閱讀(290) |
評論 (0) |
編輯 收藏