Time of Update: 2017-02-28
最近好忙好忙,整理下心情給大家分享下自己在工作中遇到的一點小技巧,希望給遇到同樣麻煩的同學一點協助。我們知道Java項目打war包可以在Eclipse和MyEclipse工具中自動打包,就是右鍵,然後匯出war包就可以了,可是我發現我的一個項目打war包的過程中遇到點小麻煩,匯出的war包開啟之後,裡面少了很多東西,明顯有問題。那怎麼辦呢,網上搜了許多偏方都沒效果,請教同事,大家也沒遇到過這種狀況。除了這種方法,我們可以運用DOS命令來手工打war包:首先,開啟DOS命令列,敲入“j
Time of Update: 2017-02-28
我們平時的日誌一般使用最多的就是java.util.logger和log4j了。這裡因為要在外部靈活配置,所以我們採用log4j來控制。首先我們需要log4j.jar和log4j.properties現在我們在程式中寫日誌輸出引入import org.apache.log4j.Logger;Logger logger = Logger.getLogger("這裡的名字隨便取,一般是本類類名,這裡是CheckUserServlet");
Time of Update: 2017-02-28
所謂向前引用,就是在定義類、介面、方法、變數之前使用它們,例如,class MyClass{ void method() { System.out.println(myvar); } String myvar = "var value";}myvar在method方法後定義,但method方法可以先使用該變數。在很多語言,如C++,是需要提前定義的,而Java已經允許了向前引用。不過在使用向前引用時可能會容易犯一些錯誤。例如,下面的代碼。
Time of Update: 2017-02-28
最佳化應用程式代碼的記憶體使用量並不是一個新主題,但是人們通常並沒有很好地理解這個主題。本文將簡要介紹 Java 進 程的記憶體使用量,隨後深入探討您編寫的 Java 代碼的記憶體使用量。最後,本文將展示提高代碼記憶體效率的方法,特彆強調了 HashMap 和 ArrayList 等 Java 集合的使用。背景資訊:Java 進程的記憶體使用量通過在命令列中執行 java 或者啟動某種基於 Java 的中介軟體來運行 Java 應用程式時,Java 運行時會建立一個作業系統進程,就像您運行基於
Time of Update: 2017-02-28
Tivoli Service Automation Manager 7.2.2 引入了擴充 的概念,該擴充是一組 TSAM 軟體組件,可以向 TSAM 平台添 加更多功能。一個擴充通常(但不限於)可以實現以下功能:可以實現一個新的 IT 服務自動化解決方案,該解決方案在 TSAM 中稱為服務定義;例如,一個儲存即服務解決方案可 以為一所大學的學生提供主目錄。可以向現有服務定義添加功能;例如,將開箱即用 TSAM 擴充為一個服務解決方案,使它能夠將除啟動磁碟以外的更多
Time of Update: 2017-02-28
Feed4JUnit 與 JUnit經常,在應用程式的商務邏輯中存在大量的這樣的介面:他們接受不同的輸入,然後進行 或驗證,或處理,進而完成相同的流程。比如網站的登入入口,使用者名稱和密碼都有長度的限制,同時也具有是否允許特殊字 符的限制等,所以在我們進行其單元測試的過程中,根據不同長度的使用者名稱和密碼,以及不同的字元組合,只需要提供相同 的測試代碼結構,就能完成測試,不同的僅僅測試資料與期望值,但是因為每一個測試方法中的輸入參數不同,我們必須為
Time of Update: 2017-02-28
Enum是enumeration(列舉)的簡寫形式,包含在java.lang包中.熟悉C,C++,C#,或Pascal人應該對列舉有所瞭解,先看個例子:public enum Season { winter, spring, summer, fall }一個enum是定義一組值的對象,它可以包括零個或多個值成員.它是屬於enum類型的,一個enum對象中不可有兩個或多個相同的屬性或值.在次之前的java程式員一般是用介面的方法實現列舉的,如:public interface Season {
Time of Update: 2017-02-28
使用 Java 語言所進行的物件導向編程變得空前普及。它使軟體開發發生了某種程度上的變革,但最近的研究表明,有半數的軟體開發項目滯後,而三分之一的項目則超出預算。問題不在於技術,而是開發軟體所使用的方法。所謂的“輕量型”或“靈活”方式,與如 Java 這樣的物件導向語言的威力和靈活性結合起來,提供了一種很有意思的解決方案。最常見的靈活方式稱為極端編程(Extreme Programming)或者 XP,但許多人並不真正瞭解它。對 Java
Time of Update: 2017-02-28
由於本文旨在探討Java"異常機制"的深層原理,因此關於"異常"的使用方法都不做詳細說明。首先看一段非常熟悉的用於開啟一個檔案的C程式段:FILE *fp; fp=fopen(filename,"rw"); if(fp==NULL){ printf("cannot open file\n"); exit(0);
Time of Update: 2017-02-28
在java中使用Regex返回符合Regex的字串就要用到group(),group中記錄了所有符合指定運算式的字串,下面我通過一段代碼講解如何使用group:public static void main(String[] args){Pattern p = Pattern.compile("(file://\\d+,)(/\\d+)");String s = "123,456-34,345";Matcher m = p.matcher(s);while
Time of Update: 2017-02-28
大家都知道,Regex是一種可以用於模式比對和替換的規範,一個Regex就是由普通的字元(例如字元a到z)以及特殊字元(元字元)組成的文字模式,它用以描述在尋找文字主體時待匹配的一個或多個字串。Regex作為一個模板,將某個字元模式與所搜尋的字串進行匹配。自從jdk1.4推出java.util.regex包,就為我們提供了很好的JAVARegex應用平台。因為Regex是一個很龐雜的體系,所以我僅例舉些入門的概念,更多的請參閱相關書籍及自行摸索。\\ 反斜線\t 間隔 ('\u0009')\n
Time of Update: 2017-02-28
自從J2EE出現以來,就大大簡化了在Java下的企業級開發。但是隨著J2EE越來越普遍地被應用到各個領域中,開發人員們漸漸意識到需要一種方法來標準化應用程式的開發過程,他們採用的方法是標準化應用程式的結構層。在結構層通常封裝了一些獨立於商務邏輯的複雜技術,以便在商務邏輯和底層的架構之間建立起弱串連。在個專題中將會介紹一些設計模式,通過利用這些設計模式,開發人員可以達到標準化和簡化應用程式開發過程的目的。應用程式結構和J2EEJ2EE是一個很成功的技術,它為一些基本的任務提供了一致的標準,例如資料
Time of Update: 2017-02-28
交易處理是公司專屬應用程式需要解決的最主要的問題之一。J2EE通過JTA提供了完整的交易管理能力,包括多個事務性資源的管理能力。但是大部分應用都是運行在單一的事務性資源之上(一個資料庫),他們並不需要全域性的事務服務。本地事務服務已然足夠(比如JDBC交易管理)。本文並不討論應該採用何種交易處理方式,主要目的是討論如何更為優雅地設計事務服務。僅以JDBC交易處理為例。涉及到的DAO,Factory,Proxy,Decorator等模式概念,請閱讀相關資料。也許你聽說過,交易處理應該做在servi
Time of Update: 2017-02-28
GOF:運用共用技術有效地支援大量細粒度的對象。解釋一下概念:也就是說在一個系統中如果有多個相同的對象,那麼只共用一份就可以了,不必每個都去執行個體化一個對象。比如說(這裡引用GOF書中的例子)一個文本系統,每個字母定一個對象,那麼大小寫字母一共就是52個,那麼就要定義52個對象。如果有一個1M的文本,那麼字母是何其的多,如果每個字母都定義一個對象那麼記憶體早就爆了。那麼如果要是每個字母都共用一個對象,那麼就大大節約了資源。在Flyweight模式中,由於要產生各種各樣的對象,所以在Flywei
Time of Update: 2017-02-28
Builder定義一步一步從簡單對象建立起複雜物件何處使用和益處僅僅明確類型和內容就可以做出一個複雜物件。建成的對象與建立它的細節分開。將建立一個複雜物件的過程和該對象所包含的組件做接耦化。將建立和表達的代碼分離。程式員對建立的過程有更好的控制。相關模式包括:抽象原廠模式,它主要是集中在原廠模式的層面,也許簡單,也許複雜。而一個Builder模式主要用來建立基於簡單對象的複雜物件。複合模式,主要用來建立複雜物件。舉例比如建一個房子,我們需要這麼幾步:1 打基礎2 建架構3 建室外4
Time of Update: 2017-02-28
問題的提出:如果我們編譯運行下面這個程式會看到什嗎?public class Test{ public static void main(String args[]){ System.out.println(0.05+0.01); System.out.println(1.0-0.42); System.out.println(4.015*100); System.out.println(123.3/100);
Time of Update: 2017-02-28
JavaRegex實現條件查詢執行個體是如何的呢?我們在實際開發的過程中會碰到這樣子的實際需求,那麼我們來看看具體的實現過程,希望對你有所協助。JavaRegex實現條件查詢執行個體://JavaRegex實現條件查詢的要求:以正則條件查詢指定目錄下檔案
Time of Update: 2017-02-28
中繼資料從metadata一詞譯來,就是“關於資料的資料”的意思。越來越的開源架構都提供了“中繼資料”支援了,其實也就是注釋支援。今天系統學習一下Java注釋(Java中繼資料)。本文內容不限於Javadoc的注釋。1.什麼是Java中繼資料,有什麼作用?中繼資料,就是“關於資料的資料”。功能也有很多啦。你可能用過Javadoc的注釋自動產生文檔。這就是中繼資料功能的一種。總的來說,中繼資料可以用來建立文檔,跟蹤代碼的依賴性
Time of Update: 2017-02-28
Java程式的原始碼很容易被別人偷看。只要有一個反編譯器,任何人都可以分析別人的代碼。本文討論如何在不修改原有程式的情況下,通過加密技術保護原始碼。一、為什麼要加密?對於傳統的C或C++之類的語言來說,要在Web上保護原始碼是很容易的,只要不發布它就可以。遺憾的是,Java程式的原始碼很容易被別人偷看。只要有一個反編譯器,任何人都可以分析別人的代碼。Java的靈活性使得原始碼很容易被竊取,但與此同時,它也使通過加密保護代碼變得相對容易,我們唯一需要瞭解的就是Java的ClassLoader對象。
Time of Update: 2017-02-28
摘要