Time of Update: 2017-01-19
1.效能考慮,優先選擇數組 數組在項目開發當中使用的頻率是越來越少,特別是在業務為主的開發當中,首先數組沒有List,Set等集合提供的諸多方法,尋找增加演算法都要自己編寫,極其繁瑣麻煩,但由於List,Set等集合使用泛型支援後,存放的都為封裝類,而數組是可以使用基礎資料型別 (Elementary Data Type),而使用基礎資料型別 (Elementary Data Type)的執行運算速度要比封裝類型快得多,而且集合類的底層也是通過數組進行實現. 2.若有必要,使用變長數組
Time of Update: 2017-01-19
1、一維數組的聲明方式:type[] arrayName; 或 type arrayName[];附:推薦使用第一種格式,因為第一種格式具有更好的可讀性,表示type[]是一種參考型別(數組)而不是type類型。建議不要使用第二種方式下面是典型的聲明數組的方式: // 聲明整型數組 int[] intArray0 ; int intArray1 []; // 聲明浮點型數組 float floatArray0 []; float[] floatArray1 ; // 聲明布爾型數組
Time of Update: 2017-01-19
對象多了用集合存,資料多了用數組存。數組是固定長度的,集合是可變長度的。集合是:只要是對象就可以存,不管是不是同一種對象而數組只能儲存一種類型的對象下面是集合的架構:以上就是小編為大家帶來的淺談java中集合的由來,以及集合和數組的區別詳解的全部內容了,希望對大家有所協助,多多支援雲棲社區~
Time of Update: 2017-01-19
可變參數可變參數就是一個方法可以接收任意多個參數!例如:fun()、fun(1)、fun(1,1)、fun(1,1,1)。你可能認為這是方法重載,但這不是重載,你想想重載能重載多少個方法,而fun()方法是可以傳遞任何個數的參數,你能重載這麼多個方法嗎?2.1 定義可變參數方法public voidfun(int… arr) {}上面方法fun()的參數類型為int…,其中“…”不是省略符號,而是定義參數類型的方式。參數arr就是可變參數類型。你可以把上面代碼理解為:public void
Time of Update: 2017-01-19
定義:將抽象部分與實現部分分離,使它們都可以獨立的變化。特點:橋接模式基於類的最小設計原則,通過使用封裝,彙總以及繼承等行為來讓不同的類承擔不同的責任。它的主要特點是把抽象(abstraction)與行為實現(implementation)分離開來,從而可以保持各部分的獨立性以及應對它們的功能擴充。企業級開發和常用架構中的應用:多繼承的結構只是從定義理解橋接模式,很難理清它的作用,下面舉個例子來說明:電腦城賣電腦,電腦種類分了平板電腦,膝上型電腦,台式電腦;電腦品牌又分了聯想,戴爾,華碩,神州。
Time of Update: 2017-01-19
介紹主要使用了goole的zxing包,下面給出了範例程式碼,很方便大家的理解和學習,代碼都屬於初步架構,功能有了,需要根據實際使用方式完善最佳化。第一步、maven匯入zxing<dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId>
Time of Update: 2017-01-19
組合模式,將對象組合成樹形結構以表示“部分-整體”的階層,組合模式使得使用者對單個對象和組合對象的使用具有一致性,組合模式可以讓用戶端像修改設定檔一樣簡單的完成本來需要流程式控制制語句來完成的功能。特點:對於遞迴或者類似樹形的分級資料結構,可以用最簡單的方式進行處理。企業級開發和常用架構中的應用:系統目錄結構和網站導航結構下面以目錄結構舉例:情境:假設我們現在有一個目錄,目錄下面還有子目錄和檔案,現在我們要查看整個目錄及目錄下的所有檔案和建立時間具體代碼如下:package
Time of Update: 2017-01-19
定義:面板模式(Facade),為子系統中的一組介面提供一個一致的介面,定義一個高層介面,這個介面使得這一子系統更加容易使用特點: (1)實現了子系統與用戶端之間的松耦合關係。 (2)用戶端屏蔽了子系統組件,減少了用戶端所需處理的對象數目,並使得子系統使用起來更加容易。企業級開發和常用架構重的應用:很多,比如常見的字串的分割方法spilt也是具體執行個體:package com.test.faced;/** * 以喝茶為例:
Time of Update: 2017-01-19
原理跟用java產生jsp的servlet差不多。我們可以用printStream來向html檔案裡輸出資料。 先建立一個StringBuilder對象,通過append方法來為其添加html語句。如下面例子所示: 複製代碼 代碼如下: StringBuilder sb = new StringBuilder(); Properties fileProperties = getProperties("file"); Properties sqlProperties =
Time of Update: 2017-01-19
printf主要是繼承了C語言的printf的一些特性,可以進行格式化輸出print就是一般的標準輸出,但是不換行println和print基本沒什麼差別,就是最後會換行System.out.printf("the number is: d",t);參照JAVA API的定義如下:'d' 整數 結果被格式化為十進位整數'o' 整數 結果被格式化為八進位整數'x', 'X' 整數 結果被格式化為十六進位整數'e', 'E' 浮點 結果被格式化為用電腦科學記號標記法表示的十進位數'f' 浮點
Time of Update: 2017-01-19
冒泡(Bubble Sort)排序的基本思想是:將待排序的數組看作從上倒下排列,把關鍵字較小的記錄看作較輕的,關鍵字較大的看作較重的,較小的關鍵字的值看作是水中的氣泡向上浮,較大的關鍵字如水中的石塊向下沉,當氣泡都浮到相應的位置的時候排序結束.演算法效能分析
Time of Update: 2017-01-19
定義:一個抽象類別公開定義了執行它的方法的方式/模板。它的子類可以按需要重寫方法實現,但調用將以抽象類別中定義的方式進行特點: 1、封裝不變部分,擴充可變部分。 2、提取公用代碼,便於維護。
Time of Update: 2017-01-19
定義:當對象間存在一對多關聯性時,則使用觀察者模式(Observer Pattern)。比如,當一個對象被修改時,則會自動通知它的依賴對象。特點: 1、觀察者和被觀察者是抽象耦合的。 2、建立一套觸發機制。企業級開發和常用架構中的應用:Java內建觀察者類,servlet中的filter,分布式的訊息佇列執行個體:public class Demo { public static void main(String[]
Time of Update: 2017-01-19
在http請求中,有Header和Body之分,讀取header使用request.getHeader("...");讀取Body使用request.getReader(),但getReader擷取的是BufferedReader,需要把它轉換成字串,下面是轉換的方法。 public static String getBodyString(BufferedReader br) { String inputLine; String str = ""; try { while (
Time of Update: 2017-01-19
當你要做一個圖庫的項目時,對圖片大小、像素的控制是首先需要解決的難題。一、單圖產生略縮圖單圖經過重新繪製,產生新的圖片。新圖可以按一定比例由舊圖縮小,也可以規定其固定尺寸。詳細代碼如下:複製代碼 代碼如下:<SPAN style="FONT-SIZE: 14px">import com.sun.image.codec.jpeg.JPEGImageEncoder;import com.sun.image.codec.jpeg.JPEGCodec;import
Time of Update: 2017-01-19
棧是限制插入和刪除只能在一個位置上進行的 List,該位置是 List 的末端,叫做棧的頂(top),對於棧的基本操作有 push 和 pop,前者是插入,後者是刪除。棧也是 FIFO 表。棧的實現有兩種,一種是使用數組,一種是使用鏈表。public class MyArrayStack<E> { private ArrayList<E> list = new ArrayList<>(); public void push(E e) { list.add(e)
Time of Update: 2017-01-19
如下所示:import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class Md5 { public static String getMD5(String val) throws NoSuchAlgorithmException{ MessageDigest md5 = MessageDigest.getInstance("MD5");
Time of Update: 2017-01-19
廢話不多說了,給大家貼關鍵代碼了,具體代碼如下所示:import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.Enumeration;import org.apache.tools.zip.ZipEntry;import org.apache.tools.zip.ZipFile;import
Time of Update: 2017-01-19
1、建立exception包,編寫TestException.java程式,主方法中有以下代碼,確定其中可能出現的異常,進行捕獲處理。public class YiChang {public static void main(String[] args){for(int i=0;i<4;i++){int k;switch(i){case 0: int zero=0; try{k=911/zero;}catch(ArithmeticException
Time of Update: 2017-01-19
標籤:依次 需要 static 靜態初始化 靜態 指定 返回 二次 -- 普通初始化塊 一個類裡可以有多個初始化塊,相同類型的初始化塊之間有順序:前面定義的先執行,後面定義的後執行。