我對“設計模式”深惡痛絕(可能是因為我是從OMT開始瞭解OO的原因),OO其實是被設計模式給戕害了。“設計模式”那套思路,是他先規定出一整套花架子在那裡,然後從“腿怎麼別在一起、手怎麼鉤著”之類的木偶一般方式教學。這是我想起了六、七十年帶香港拍的哪些糟蹋中國傳統功夫的電影中的南拳打鬥場面。“設計模式”就是那種套路。然後中國功夫在內地實際上還有很多大家,例如武當、峨嵋、少林,根本不是那種蹶屁股搖頭晃腦手腳伸出去就像棍子一樣的所謂功夫。--------------------------------
abstract class和interface是Java語言中對於抽象類別定義進行支援的兩種機制,正是由於這兩種機制的存在,才賦予了Java強大的物件導向能力。abstract class和interface之間在對於抽象類別定義的支援方面具有很大的相似性,甚至可以相互替換,因此很多開發人員在進行抽象類別定義時對於abstract class和interface的選擇顯得比較隨意。其實,兩者之間還是有很大的區別的,對於它們的選擇甚至反映出對於問題領域本質的理解、對於設計意圖的理解是否正確、合理
文章目錄 http://carver.javaeye.com/blog/401782繼承實現依賴關聯彙總組合
對於JSP 程式而言,使用JavaBeans 組件不僅可以封裝許多資訊,而且還可以將一些資料處理的邏輯隱藏到JavaBeans 的內部,除此之外,我們還可以設定JavaBeans 的Scope屬性,使得JavaBeans 組件對於不同的任務具有不同的生命週期和不同的使用範圍。在前面我們已經提到過Scope屬性具有四個可能的值分別是application 、session 、request、page分別代表JavaBeans
1.PROPAGATION_REQUIRED如果當前沒有事務,就建立一個事務,如果已經存在一個事務中,加入到這個事務中。這是最常見的選擇。2.PROPAGATION_SUPPORTS支援當前事務,如果當前沒有事務,就以非事務方式執行。3.PROPAGATION_MANDATORY使用當前的事務,如果當前沒有事務,就拋出異常。4.PROPAGATION_REQUIRES_NEW建立事務,如果當前存在事務,把當前事務掛起。5.PROPAGATION_NOT_SUPPORTED以非事務方式執行操作,如
前期工作略去不表。具體代碼如下:MessageReceiverpackage jms.activemq.myexample;import javax.jms.Connection;import javax.jms.Destination;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageConsumer;import javax.jms.Session;import
給個通俗的解釋吧. 例表a aid adate 1 a1 2 a2 3 a3 表b bid bdate 1 b1 2 b2 4 b4 兩個表a,b相串連,要取出id相同的欄位 select * from a inner join b on a.aid = b.bid這是僅取出匹配的資料. 此時的取出的是: 1 a1 b1 2 a2 b2 那麼left join 指: select * from a left join b on a.aid = b.bid 首先取出a表中所有資料,然後再加上與a,
安裝sun-java6添加partner源sudo add-apt-repository "deb http://archive.canonical.com/ubuntu maverick partner"(註: 如果系統提示沒有add-apt-repository命令,則需要先安裝python-software-properties,命令sudo apt-get install
在向大家詳細介紹Hibernate二級緩衝之前,首先讓大家瞭解下一級緩衝, 然後全面介紹Hibernate二級緩衝。 Hibernate 中提供了兩級Cache,第一層級的緩衝是Session層級的緩衝,它 是屬於事務範圍的緩衝。這一層級的緩衝由hibernate管理的,一般情況下 無 需進行幹預;第二層級的緩衝是SessionFactory層級的緩衝,它是屬於 進程範圍或群集範圍的緩衝。這一層級的緩衝可以進行配置和更改,並且可 以
在一個資料庫應用程式中,程式是從一個健全的資料庫模型開始的。明白了這一點後,我們來看幾種可以最佳化資料庫模型的方法,通過這些方法可以提高查詢效率。(1) 少許的逆正常化(denormalization)大有協助。盡量避免這樣的資料庫模型:它有一個名為Gender的表,表中有3個值。如果你有一個1:1關係的表,而且它經常被它的父表訪問,那麼你可以考慮合并這兩張表。(2) 讓應用程式多承擔一些責任。如果可以通過應用程式更容易地析取資料,為什麼還要產生視圖來強制資料以某種確定方式出現呢?(3)
初始化必鬚髮生在裝載、串連以後,java虛擬機器一般會在每個類或介面主動使用時才會對類型進行初始化。下面六中情形符合主動使用的要求:1.當建立某個類的新執行個體時。註:包括建立的所有方式,如new、反射、複製以及還原序列化等2.當調用某個類的靜態方法時3.當使用某個類或介面的靜態欄位,或對該靜態非常量欄位進行賦值時。注意:用final修飾的靜態欄位除外,因為在編譯階段時,它就被替換成一個常量運算式4.調用java
1、abstract與static (what) abstract:用來聲明抽象方法,抽象方法沒有方法體,不能被直接調用,必須在子類overriding後才能使用 static:用來聲明靜態方法,靜態方法可以被類及其對象調用 (how) static與abstract不能同時使用 (why)
1.髒讀:髒讀就是指當一個事務正在訪問資料,並且對資料進行了修改,而這種修改還沒有提交到資料庫中,這時,另外一個事務也訪問這個資料,然後使用了這個資料。2.不可重複讀取:是指在一個事務內,多次讀同一資料。在這個事務還沒有結束時,另外一個事務也訪問該同一資料。那麼,在第一個事務中的兩次讀資料之間,由於第二個事務的修改,那麼第一個事務兩次讀到的的資料可能是不一樣的。這樣就發生了在一個事務內兩次讀到的資料是不一樣的,因此稱為是不可重複讀。例如,一個編輯人員兩次讀取同一文檔,但在兩次讀取之間,作者重寫了
一、資料庫設計過程資料庫技術是資訊資源管理最有效手段。資料庫設計是指對於一個給定的應用環境,構造最優的資料庫模式,建立資料庫及其應用系統,有效儲存資料,滿足使用者資訊要求和處理要求。數 據庫設計中需求分析階段綜合各個使用者的應用需求(現實世界的需求),在概念設計階段形成獨立於機器特點、獨立於各個DBMS產品的概念模式(資訊世界模 型),用E-R圖來描述。在邏輯設計階段將E-R圖轉換成具體的資料庫產品支援的資料模型如關聯式模式,形成資料庫邏輯模式。然後根據使用者處理的要求,安全
MessagePublisherpackage jms.activemq.myexample;import java.util.Date;import javax.jms.Connection;import javax.jms.DeliveryMode;import javax.jms.JMSException;import javax.jms.MessageProducer;import javax.jms.Session;import javax.jms.Topic;import
1. 首先String不屬於8種基礎資料型別 (Elementary Data Type),String是一個對象。 因為對象的預設值是null,所以String的預設值也是null;但它又是一種特殊的對象,有其它對象沒有的一些特性。 2. new String()和new String(“”)都是申明一個新的Null 字元串,是空串不是null; 3. String str=”kvill”; String str=new String (“kvill”);的區別:
分頁查詢有用的兩個東東。Rowid和Rownum對於資料庫開發人員來說基本很少用到,因為在企業資料庫開發中大多都是進行資料批處理,但是對於其他資料庫人員來說還是會用到的。 rowid和rownum都是虛列,但含義完全不同。rowid是物理地址,用於定位oracle中具體資料的實體儲存體位置,而rownum則是sql的輸出結果排序。通俗的講:rowid是相對不變的,rownum會變化,尤其是使用order
這是一堂關於UML基礎知識的補習課;現在我們做項目時間都太緊了,基本上都沒有做過真正的 class層級的詳細設計,更別提使用 UML來實現規範建模了;本篇主要就以前自己一直感覺很迷糊的幾種 class之間的關係進行整理,讓我們在真正用 UML進行比如類圖設計時能夠更加清晰明了;以下就分別介紹這幾種關係: 繼承 指的是一個類(稱為子類、子介面)繼承另外的一個類(稱為父類、父介面)的功能,並可以增加它自己的新功能的能力,繼承是類與類或者介面與介面之間最常見的關係;在 Java中此類別關係通過關鍵字
這裡暫且把單例模式限定為不是全用靜態函數實現的。1。使用的方便性:如果需要初始化工作,單例模式可以在建構函式裡面完成,全靜態函數的類需要一個額外的函數來完成初始化工作,而且使用者如果沒有調用這個initialize函數,那麼後續的操作就會有問題,建構函式會被預設調用,所以使用起來比較簡單,對使用者做出了最少的假設。2。初始化時機:單例模式初始化比較靈活,可以在需要的時候初始化,而全靜態函數必然導致成員全為靜態成員,靜態成員是在編譯時間就初始化好了。如果初始化成本比較昂貴,並且程式裡面未必一定使用
原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-classloader/index.html類載入器是 Java 語言的一個創新,也是 Java 語言流行的重要原因之一。它使得 Java 類可以被動態載入到 Java虛擬機器中並執行。類載入器從 JDK 1.0 就出現了,最初是為了滿足 Java Applet 的需要而開發出來的。Java Applet需要從遠程下載 Java 類檔案到瀏覽器中並執行。現在類載入器在 Web 容器和