Time of Update: 2017-01-18
大多數好的設計者象躲避瘟疫一樣來避免使用實現繼承(extends 關係)。實際上80%的代碼應該完全用interfaces寫,而不是通過extends。“Java設計模式”一書詳細闡述了怎樣用介面繼承代替實現繼承。這篇文章描述設計者為什麼會這麼作。 Extends是有害的;也許對於Charles Manson這個層級的不是,但是足夠糟糕的它應該在任何可能的時候被避開。“JAVA設計模式”一書花了很大的部分討論用interface繼承代替實現繼承。
Time of Update: 2017-01-18
Date 類從Java 開發包(JDK) 1.0 就開始進化, 當時它只包含了幾個取得或者設定一個日期資料的各個部分的方法, 比如說月, 日, 和年。這些方法現在遭到了批評並且已經被轉移到了Calendar類裡去了, 我們將在本文中進一步討論它。 這種改進旨在更好的處理日期資料的國際化格式. 就象在JDK 1.1中一樣, Date 類實際上只是一個包裹類, 它包含的是一個長整型資料, 表示的是從GMT(格林尼治標準時間)1970年, 1 月
Time of Update: 2017-01-18
雖然以前間或的也看了些書籍,但多是隔靴搔癢,上不了正席,絕不敢說自己懂Java。接觸一門新的技術和初戀一樣,都是第一次,但不同的是後者一般開始無比甜蜜,結局卻很痛苦,而前者則往往開始很痛苦,越到後來卻越是有味,簡直是欲罷不能.現在我就正處於這個很痛苦的階段,連一個最簡單的Helloworld都運行不出來,總是提示Excepion in thread "main" java.lan.NoClassDefFoundError. 只好上網去查,去搜.記性又不好,所以搜出來趕緊儲存下來,常備無患。
Time of Update: 2017-01-18
java.util包中包含了一系列重要的集合類。本文將從分析源碼入手,深入研究一個集合類的內部結構,以及遍曆集合的迭代模式的源碼實現內幕。 下面我們先簡單討論一個根介面Collection,然後分析一個抽象類別AbstractList和它的對應Iterator介面,並仔細研究迭代子模式的實現原理。 本文討論的原始碼版本是JDK 1.4.2,因為JDK 1.5在java.util中使用了很多泛型代碼,為了簡化問題,所以我們還是討論1.4版本的代碼。 集合類的根介面Collection
Time of Update: 2017-01-18
FTP 命令 FTP 的主要操作都是基於各種命令基礎之上的。常用的命令有: · 設定傳輸模式,它包括ASCⅡ(文本) 和BINARY 二進位模式; · 目錄操作,改變或顯示遠端電腦的目前的目錄(cd、dir/ls 命令); · 串連操作,open命令用於建立同遠端電腦的串連;close命令用於關閉串連; · 發送操作,put命令用於傳送檔案到遠端電腦;mput 命令用於傳送多個檔案到遠端電腦; · 擷取操作,get命令用於接收一個檔案;mget命令用於接收多個檔案。
Time of Update: 2017-01-18
一個完整的Java應用程式,通常至少要有一個應用程式的結束點。對於一般程式來說,系統開發人員根據需要和個人的偏好,會在程式結束位置,通過添加System.exit(0),或System.out(-1),來結束程式,或不加這些指令,讓程式自然運行到結束。 如:下列典型代碼 package untitled14; /** * This application is to demo how an applcation end */ public class Test {
Time of Update: 2017-01-18
和Java類路徑(classpath)打交道的過程中,開發人員偶爾會遇到麻煩。這是因為,類裝載器實際裝入的是哪一個類有時並不顯而易見,當應用程式的classpath包含大量的類和目錄時,情況尤其嚴重。本文將提供一個工具,它能夠顯示出被裝入類檔案的絕對路徑名。 一、Classpath基礎
Time of Update: 2017-01-18
複製代碼 代碼如下:public class SortComparator implements Comparator{ public int compare(Object o1,Object o2) { try{ byte[] buf1 = ((String) o1).getBytes("unicode"); byte[] buf2 = ((String) o2).getBytes("unicode"); int size = Math.min(buf1.length,
Time of Update: 2017-01-18
複製代碼 代碼如下:/** * 截取字串 len為位元組長度 * @param str * @param len * @return * @throws UnsupportedEncodingException */ public static String getLimitLengthString( String str,int len){ try{ int counterOfDoubleByte = 0; byte[] b = str.getBytes("gb2312");
Time of Update: 2017-01-18
程式全文如下: 複製代碼 代碼如下:package com.neusoft.test.util.crypt; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; import java.security.MessageDigest; import
Time of Update: 2017-01-18
1、md5加密,該密碼編譯演算法是單向加密,即加密的資料不能再通過解密還原。相關類包含在java.security.MessageDigest包中。 2、3-DES加密,該密碼編譯演算法是可逆的,解密方可以通過與加密方約定的密鑰匙進行解密。相關類包含在javax.crypto.*包中。 3、base64編碼,是用於傳輸8bit位元組代碼最常用的編碼方式。相關類在sun.misc.BASE64Decoder 和sun.misc.BASE64Encoder 中。
Time of Update: 2017-01-18
複製代碼 代碼如下:package dw05prj.util.filter; import javax.servlet.Filter; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.FilterChain;
Time of Update: 2017-01-18
沒有用Java寫過程式,做為一個Java新手,在寫第一個Hello,world程式之前,先在Ubuntu中搭建Java開發環境。本文結構: 一、JDK安裝 二、MyEclipse安裝 三、Hello World測試
Time of Update: 2017-01-18
複製代碼 代碼如下:package com.ajaxlab.ajax; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; import com.ajaxlab.ajax.ProductClass; public
Time of Update: 2017-01-18
Java中的equals方法和hashCode方法是Object中的,所以每個對象都是有這兩個方法的,有時候我們需要實現特定需求,可能要重寫這兩個方法,今天就來介紹一些這兩個方法的作用。equals()和hashCode()方法是用來在同一類中做比較用的,尤其是在容器裡如set存放同一類對象時用來判斷放入的對象是否重複。這裡我們首先要明白一個問題:equals()相等的兩個對象,hashcode()一定相等,equals()不相等的兩個對象,卻並不能證明他們的hashcode()不相等。換句話說
Time of Update: 2017-01-18
本文主要介紹了Java實現常用密碼編譯演算法——單向密碼編譯演算法MD5和SHA,具體如下:1、Java的安全體系架構1.1 Java的安全體系架構介紹Java中為安全架構提供類和介面。JDK 安全 API 是 Java 程式設計語言的核心 API,位於 java.security 包(及其子包),以及sun.securityAPI包(及其子包)中。設計用於協助開發人員在程式中同時使用低級和進階安全功能。JDK 1.1 中第一次發布的 JDK 安全中引入了“Java
Time of Update: 2017-01-18
很多同學對於overload和override傻傻分不清楚,建議不要死記硬背概念性的知識,要理解著去記憶。 先給出我的定義: overload(重載):在同一類或者有著繼承關係的類中,一組名稱相同,參數不同的方法組。本質是對不同方法的稱呼。
Time of Update: 2017-01-18
Java單例模式的實現,對java 單例模式的幾種實現方法進行了整理:單例模式好多書上都是這麼寫的:public class SingleTon1 { private SingleTon1(){ } private static SingleTon1 instance = null; public static SingleTon1 getInstance(){ if(instance == null){ instance = new
Time of Update: 2017-01-18
聽老師說,在以後的學習中大部分的異常都是null 指標異常。所以抽點打遊戲的時間來查詢一下什麼是null 指標異常一:null 指標異常產生的主要原因如下:(1)當一個對象不存在時又調用其方法會產生異常obj.method() // obj對象不存在(2)當訪問或修改一個對象不存在的欄位時會產生異常obj.method() // method方法不存在(3)字串變數未初始化;(4)介面類型的對象沒有用具體的類初始化,比如:List lt;會報錯 List lt = new ArrayList()
Time of Update: 2017-01-18
Java代碼public class ReadFromFile { /** * 以位元組為單位讀取檔案,常用於讀二進位檔案,如圖片、聲音、影像等檔案。 */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; try {