原创 反射和泛型

  在反射中使用泛型,可以避免生成對象時的強制類型轉換,也就不會拋出ClassCastException。   若通過Class.forName(String name)去得到Class對象,然後再通過newInstance()方法創建對

原创 簡單的工廠模式

簡單的工廠模式:其實也叫做靜態工廠方法,這種模式的核心特點是通過傳進去的參數來判斷創造怎麼樣的實例 現在演示一個Demo: 1.建立一個父類 public class Sport { public void play() {

原创 在Struts2中定義自己的Interceptor

  在Struts2中有很多很多的Interceptor,要定義自己的攔截器,可以先看看它們是怎麼實現的,它們有些是extends一些特定的Interceptor,但百變不離其宗的是攔截器都實現了Interceptor這個接口,下面我定義

原创 策略模式

策略模式:封裝了一系列的算法,用戶不直接與這些算法打交道,獨立於使用用戶而變化 策略模式的三個組成條件: 1.抽象的策略角色 2.具體的策略角色 3.環境角色,持有一個策略角色的引用,爲用戶服務的類 下面演示一個Demo: 1.抽象的

原创 System類

System類可以說是一些與系統相關的屬性和方法的集合,在System類中的,它的方法都是靜態的,如果想調用這個方法,直接使用System類就行了。   利用System類中的currentTimeMillis方法我們可以計算一個程序的執

原创 通過反射類查看類的信息

  要反射一個類,必須先爲該類生成一個Class的對象,以下介紹生成Class對象的三種方法:   1.使用Class對象的forName(String name)方法,裏面的String類型參數是你要反射的類的全限定類名,例如這樣的格式

原创 Annotation

從JDK5開始,Java增加了對元數據的支持,也就是Annotation,它也被稱作註釋。   基本的Annotation:   限定重寫父類方法:@Override @Override就是用來指定方法的重寫,它強制一個子類必須覆蓋父類的

原创 簡單的DTD約束XML

  一個良好的XML文檔只有受到良好的約束纔能有效的工作,對此,這裏我們用DTD文件對XML進行語義約束。   XML中引入DTD: <!DOCTYPE 根元素的名稱 SYSTEM “DTD文件的路徑”>   定義元素: 定義任意類型的元

原创 XML文檔規則

  下面總結幾點XML的簡單文檔規則   1.XML文檔有且僅有一個根元素     2.XML的語法是嚴格區分大小寫的     3.如果不需要子內容,那麼該XML元素就是一個空元素,寫成:<元素名稱 />     4.XML元素裏的多個屬

原创 FreeMarker在Java Project的簡單使用

  FreeMarker是一個基於模板生成文本輸出的工具,下面簡單介紹一下FreeMarker組件的使用:   首先在根目錄下建立一個templates文件夾,放置我們生出的FreeMarker模板。   然後就是建立一個Java文件,開

原创 I18N國際化

人們常把I18N作爲“國際化”的簡稱,其來源是英文單詞 internationalization的首末字符i和n。18爲中間的字符數。Java中如何做到國際化呢,即如果去兼容各種的語句。 我們首先來了解一下java.util包下一個叫

原创 Runtime類

對於Runtime類,我們可以這麼的理解,Runtime就是一個封裝了JVM進程的類,其實每一個java程序都是啓動了一個JVM進程,通過Runtime類,我們可以瞭解到JVM裏面的一些基本信息,如JVM最大的內存使用量,JVM最大的內存