Time of Update: 2018-12-04
import java.text.DecimalFormat; public class numberFarmat { public static void main(String[] args) { double sd = 23.2558896635; //第一種方法 10000.0這個小數點後只表示保留小數,和位元沒關係。 double d1 = (double) (Math.round(sd*10000)/10000.00000000
Time of Update: 2018-12-04
關於Java Collection Framework,你可能已經知道如下一些事實Vector是安全執行緒的,ArrayList不是 ArrayList的讀操作比LinkedList快,LinkedList的append操作比ArrayList快 Set中不可能有兩個相等的元素,也就是說,如果e1和e2都在同一個Set中,那麼不可能有e1.equals(e2) HashMap是線程不安全的,HashTable是安全執行緒的
Time of Update: 2018-12-04
/** * * 這段程式算出的答案是正確的,但是比實際情況要慢一些,只因為打錯了一個字元。 * 變數sum 被聲明Long 而不是long ,意味著程式構造了大約2 的31 字方 個多餘的 * Long執行個體(大約每次往Long sum 中增加long 時構造一個執行個體)。將sum 的聲明從 * Long 改成 long ,在我的機器上已耗用時間從 35 秒減少到6秒。結論很明顯:要優 * 先使用基本類型而不是裝箱基本類型,要當心無意識的自動裝箱。 * @param args
Time of Update: 2018-12-04
MainClass.javaimport java.util.Properties;import java.io.InputStream;public class MainClass { public static void main(String[] args) { String fileName = "dataSource.properties"; String mySite = getPara(fileName, "mySite"); System.out.println("My
Time of Update: 2018-12-04
package com.thread;/** * 線程同步 ,子線程執行一次,主線程後在執行一次 * 大家輪流執行 * * @author sky * */public class TraditionThread {public static void main(String[] args) {new TraditionThread().init();}public void init (){final Business business = new Business();//
Time of Update: 2018-12-04
public class Convert {public static void main(String[] args) {Convert convert = new Convert();int return_num = convert.convert_num("123");System.out.println("retunr nam --"+return_num);}/** * 把一組數字 字串轉化成數字 */public int convert_num (String val){int
Time of Update: 2018-12-04
1.String a = "abc" 和String a = new String("abc")不同測試代碼如下:String a = "abc";String b = "abc";System.out.println(a == b);輸出:true==========================String a = new String("ade");String b = new String("ade");System.out.println(a ==
Time of Update: 2018-12-04
裝飾模式又稱封裝(Wrapper)模式,是以對用戶端透明的方式擴充項物件的功能,是繼承關係的一個替代方案。對用戶端透明意味著介面不變。問題:在OO設計和開發過程中, 經常會遇到下面的情況: 我們需要為已經設計好的類添加新的職責, 通常情況下我們會定義一個新類繼承自訂好的類. 由於組合比繼承更好(複雜度高,繼承深度深等原因, 見<設計模式解析>P39討論), 今天我們就來介紹一下應用的組合的裝飾模式.類圖: 原始碼:package
Time of Update: 2018-12-04
轉自http://bbs.tech.ccidnet.com/htm_data/2/0612/237396.html全面理解Java中的String資料類型 1. 首先String不屬於8種基礎資料型別 (Elementary Data Type),String是一個對象。 因為對象的預設值是null,所以String的預設值也是null;但它又是一種特殊的對象,有其它對象沒有的一些特性。 2. new String()和new String(“”)都是申明一個新的Null
Time of Update: 2018-12-04
JDK為程式員提供了大量的類庫,而為了保持類庫的可重用性,可擴充性和靈活性,其中使用到了大量的設計模式,本文將介紹JDK的I/O包中使用到的Decorator模式,並運用此模式,實現一個新的輸出資料流類。
Time of Update: 2018-12-04
1.獲得目前時間的方法:利用java.until.DateSystem.err.print("Formant 1: "); System.out.println(new Date(System.currentTimeMillis()) ); //System.out.print("The 2 formant: "); System.err.print("Formant 2: "); Date d=new Date(); long
Time of Update: 2018-12-04
----------標準裝置System.in讀取資料-----------------------------------------------------------------------讀取位元組:BufferedInputStream讀取字元:BufferedReader + InputStreamReader----------------------------------------------import java.io.*;-------------------------
Time of Update: 2018-12-04
Java對象序列化 在網上看了很多有關序列化的文章,我自己也寫了兩篇,現在感覺這些文章都沒有很好的把序列化說清楚(包括我自己在內),所以在此我將總結前人以及自己的經驗,用更淺顯易懂的語言來描述該機制,當然,仍然會有不好的地方,希望你看後可以指出,作為一名程式員應該具有不斷探索的精神和強烈的求知慾望!序列化概述:
Time of Update: 2018-12-04
問題: 當系統要建立一組相關或者相互依賴的對象時, 請使用抽象原廠模式. 抽象原廠模式可以向用戶端提供一個介面, 使得用戶端可以在不必指定產品的具體類型的情況下, 建立多個產品族中的產品對象. 這就是抽象工廠的用意. 類圖: 原始碼:package com.designpatterns.AbstractFactory;/** * 抽象工廠 */public interface AbstractFactory { public
Time of Update: 2018-12-04
事實上網路編程簡單的理解就是兩台電腦相互連訊資料而已.對於程式員而言,去掌握一種編程介面並使用一種編程模型相對就會顯得簡單的多了.Java SDK提供一些相對簡單的Api來完成這些工作.Socket就是其中之一.對於Java而言.這些Api存在與java.net 這個包裡面.因此只要匯入這個包就可以準備網路編程了. 網路編程的基本模型就是客戶機到伺服器模型.簡單的說就是兩個進程之間相互連訊,然後其中一個必須提供一個固定的位置,而另一個則只需要知道這個固定的位置.並去建立兩者之間的聯絡.
Time of Update: 2018-12-04
原始模型模式屬於對象的建立模式,通過給出一個原型對象來指明所要建立的對象的類型,然後用複製這個原型對象的辦法建立出更多同類型的對象。 原始模型模式有兩種形式:簡單形式和登記形式。 簡單形式的原始模型類圖: 原始碼:public interface Prototype extends Cloneable { Object clone();} public class ConcretePrototype implements Prototype {
Time of Update: 2018-12-04
策略模式是對演算法的封裝,把使用演算法的責任和演算法本身分隔開,委派給不同的對象管理。策略模式通常把一系列的演算法封裝到一系列的策略類裡面,作為一個抽象策略類的子類。何時使用原則模式:1) 如果在一個系統裡面有許多類,它們之間的區別僅在於它們的行為,那麼使用原則模式可以動態讓一個對象在許多行為中選擇一種行為。2)
Time of Update: 2018-12-04
import java.io.*; //多線程編程 public class MultiThread { public static void main(String args[]) { System.out.println("我是主線程!"); //下面建立線程執行個體thread1 ThreadUseExtends thread1=new ThreadUseExtends(); //建立thread2時以實現了Runnable介面的THhreadUseRunnable類執行個體為參數
Time of Update: 2018-12-04
談到Java,我們不得不談到Java優秀的可移植性,這基本上是Java最值得誇耀的地方。一次編譯,隨處運行,Java的這一切都源於它的運行方式——採用JVM(Java虛擬機器)託管運行。由於採用作業系統最小交集,對於每個平台,它都能有一套實現機制,保證實現相同的效果。但是正由於Java的這種特性,也導致了Java的低效。 為什麼程式員以及使用者都不喜歡用Java做案頭開發呢?
Time of Update: 2018-12-04
java 檔案與流的總結一 java 讀寫檔案 Java的IO操作都是基於流進行操作的,為了提高讀寫效率一般需要進行緩衝。 簡單的樣本程式如下: /** * 讀出file1中的內容,寫入file2中 * */BufferedReader reader=new BufferedReader(new FileReader(file1)); BufferedWriter writer=new BufferedWriter(new FileWriter(file2));