Time of Update: 2018-12-07
在Java的Object類中定義了(protected)clone()方法,如果自己的類需要clone方法的話需要實現Cloneable介面,並重寫clone()方法和將方法存取層級改為(public)。但是如果自己的類如果屬性比較多,重寫clone方法還是會花去不少時間,更重要的是以後增加或者刪除屬性的時候也要相應修改clone方法,總的來說還是比較麻煩的。這裡如果對效能不太計較的話,其實可以有一個簡單快速的方法實現clone方法,就是使用Java語言的序列化功能來實現clone方法,如下:
Time of Update: 2018-12-07
本文地址:http://blog.csdn.net/kongxx/article/details/7259436現在做Java直接使用Socket的情況是越來越少,因為有很多的選擇可選,比如說可以用spring,其中就可以支援很多種遠端連線的操作,另外jboss的remoting也是不錯的選擇,還有Apache的Mina等等,但是在有些時候一些特殊情況仍然逃脫不了直接寫Socket的情況,比如公司內部一些莫名其妙的遊戲規則。廢話不說了,下面就看看如果自己寫Socket應該怎麼做吧。首先是寫一個S
Time of Update: 2018-12-07
本文地址:http://blog.csdn.net/kongxx/article/details/7259465Java Socket實戰之一 單線程通訊上一篇文章說到怎樣寫一個最簡單的Java
Time of Update: 2018-12-07
周末碰到一段代碼,是關於Java IO流的,代碼中出現在一個多線程的系統中,其中一段代碼在開啟一個檔案操作流用完以後沒有及時關閉,開始以為很快會出現開啟檔案太多或者導致記憶體溢出,但是在運行了很長時間以後仍然沒有出現問題,後來自己寫了個小程式測試了一下,總算似乎搞清楚為啥了。先看以下一段代碼import java.io.FileInputStream;public class TTT {public static void main(String[] args) throws
Time of Update: 2018-12-07
昨日看《Effective Java》第二條:遇到多個構造器參數時要考慮用構造器。其中,示範通過Builder模式,構建複雜的對象。因為之前對java不是很瞭解的原因。很疑惑:static
Time of Update: 2018-12-07
原廠模式的意圖:定義一個使用者建立對象的介面,讓子類決定執行個體化哪一個類。Factory Method使一個類的執行個體化延遲到其子類。結構圖:情境:這裡製造兩個手機product:Nokia、Motorola,為了製造這兩個Product需要使用兩個Creator(Factory)來製造它們。這兩個Creator都有各自的Concreator(類似生產線)。這兩個手機都實現必須實現兩個最基本的功能:call(打電話)、photo(拍照)。product:/// <summary>
Time of Update: 2018-12-07
最近在自學Java,看到Java的檢查型異常設計時,心中不免有些疑惑。疑惑使用檢查型異常的必要性。註:本人現在從事的.net開發。C#在設計上借鑒了Java,但是,C# 並沒有引入所謂的檢查型異常。 在網上看到一些關於Java中是否該採用檢查型異常的機制。真是眾說紛紜,但是還是可以總結為,對這個設計的批評聲更多。其實,我沒有在真正項目中使用Java開發的經驗,更沒有過在方法簽名中聲明檢查型異常的經驗。但是,在使用了C#這個長時間以來,也沒有覺得C#完全拋棄檢查型異常帶來怎樣的不便和設計上的缺陷。
Time of Update: 2018-12-07
1、Java,整型轉換為字元型方法,Integer.toString(intValue),其他以此類推2、擷取相對路徑下的檔案方法: String filePath = TestIO1.class.getResource("pet.template").toString(); filePath = filePath.substring(filePath.indexOf("/"), filePath.length());3、public class slongte{private
Time of Update: 2018-12-07
public List<Message> getByPage(int page) {// TODO Auto-generated method stubString sql = "select * from message";Message message = null;DateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");List<Message> list = new ArrayList<
Time of Update: 2018-12-07
package com.broadengate.fangxing;import java.util.ArrayList;import java.util.Collection;import java.util.HashSet;/** * 應該都知道 hashset 不允許放入重複的資料,那麼他是根據什麼來判斷是否是重複的資料呢? * 在hashset中用到了hash演算法,因為hashset底層也是用的Hashmap來存取資料 *
Time of Update: 2018-12-07
“對語言設計人員來說,建立好的輸入/輸出系統是一項特別困難的任務。”由於存在大量不同的設計方案,所以該任務的困難性是很容易證明的。其中最大的挑戰似乎是如何覆蓋所有可能的因素。不僅有三種不同的種類的IO需要考慮(檔案、控制台、網路連接),而且需要通過大量不同的方式與它們通訊(順序、隨機訪問、二進位、字元、按行、按字等等)。Java庫的設計者通過建立大量類來攻克這個難題。事實上,Java的IO系統採用了如此多的類,以致剛開始會產生不知從何處入手的感覺(具有諷刺意味的是,Java的IO設計初衷實際要求
Time of Update: 2018-12-07
今天做JAVA編程思想IO一章的練習題,運行程式結果不能把字串輸出到檔案中,後來才發現是因為程式最後沒有關閉流對象造成的...代碼如下:public class IOWork { public static void writeFile(){ try { FileWriter fw=new FileWriter("IOWriterFile.txt"); PrintWriter pw=new PrintWriter(fw); for (int i=0;i<
Time of Update: 2018-12-07
1、找出如下代碼的錯誤public class test { public test() { } test a; { a = new test(); } static test s; static { s = new test(); } public static void main(String[] args) { new test(); }}錯誤:執行個體變數初始化的時候出問題 他那個屬性是自己的類, 所以在建立的時候就會一直在那裡迴圈錯誤原理:靜態變數執行個體了
Time of Update: 2018-12-07
概述:A.==可用於基本類型和參考型別:當用於基本類型時候,是比較值是否相同;當用於參考型別的時候,是比較對象是否相同。B.對於String a = “a”; Integer b = 1;這種類型的特有對象建立方式,==的時候值是相同的。C.基本類型沒有equals方法,equals只比較值(對象中的內容)是否相同(相同返回true)。D.一個類如果沒有定義equals方法,它將預設繼承Object中的equals方法,傳回值與==方法相同。詳述:①==和equals的實質。在JAVA中利用"=
Time of Update: 2018-12-07
Java面試題:當一個對象被當作參數傳遞到一個方法後,此方法可改變這個對象的屬性,並可返回變化後的結果,那麼這裡到底是值傳遞還是引用傳遞?
Time of Update: 2018-12-07
本文連結:http://blog.csdn.net/kongxx/article/details/7029430最近在Porting原來的一些工程的build從Ant到Maven,由於工程太大,所以建立了不少樹形結構的工程,此時在編譯的時候常常會出現“java.lang.OutOfMemoryError: Java heap
Time of Update: 2018-12-07
本文地址:http://blog.csdn.net/kongxx/article/details/7259834Java Socket實戰之一 單線程通訊Java Socket實戰之二 多線程通訊Java Socket實戰之三 傳輸對象上一篇文章說到了用Java
Time of Update: 2018-12-07
本文地址:http://blog.csdn.net/kongxx/article/details/7288896Java Socket實戰之一 單線程通訊Java Socket實戰之二 多線程通訊Java Socket實戰之三 傳輸對象Java Socket實戰之四 傳輸壓縮對象Java Socket實戰之五
Time of Update: 2018-12-07
本文地址:http://blog.csdn.net/kongxx/article/details/7259837Java Socket實戰之一 單線程通訊Java Socket實戰之二 多線程通訊Java Socket實戰之三 傳輸對象Java Socket實戰之四
Time of Update: 2018-12-07
本文地址:http://blog.csdn.net/kongxx/article/details/7259827Java Socket實戰之一 單線程通訊Java Socket實戰之二 多線程通訊前面兩篇文章介紹了怎樣建立Java Socket通訊,這一篇說一下怎樣使用Java Socket來傳輸對象。首先需要一個普通的對象類,由於需要序列化這個對象以便在網路上傳輸,所以實現java.io.Serializable介面就是必不可少的了,入下:package