Time of Update: 2018-12-05
三 裝飾模式的應用 學過裝飾模式後,大家會發現,它在Java語言中最著名的應用莫過於Java I/O標準為庫的設計了。這一節將以處理Byte流為例,看看裝飾模式是怎樣得到應用的。 為什麼不用繼承而用裝飾模式 我們知道Java I/O庫需要很多效能的各種組合,如果說這些效能的組合是通過繼承方式來實現的話,那麼每一種組合都需要一個類,這樣就會出現大量重複性問題的出現,從而使類數目“爆炸”。而如果採用裝飾模式,那麼不僅類的數目大減少了,效能的重複也可以減至到最少。所以裝飾模式是Java
Time of Update: 2018-12-05
-XX:-PrintGC 預設不啟用 開啟GC 日誌列印。 例如: [Full GC 131115K->7482K(1015808K), 0.1633180 secs] 該選項可通過 com.sun.management.HotSpotDiagnosticMXBean API 和 Jconsole 動態啟用。 詳見 http://java.sun.com/developer/technicalArticles/J2SE/monitoring/#Heap_Dump
Time of Update: 2018-12-05
記憶體溢出是指應用系統中存在無法回收的記憶體或使用的記憶體過多,最終使得程式運行要用到的記憶體大於虛擬機器能提供的最大記憶體。記憶體溢出主要是從容器和程式類兩個方面進行排查,容器問題可以調整容器參數來解決。此類問題大多是因為程式引起的,要從根本上解決這類問題需要重點放在程式碼的編寫上。所以在Java中一般報記憶體溢出的除去容器參數原因有以下幾種:1、查詢資料庫的時候遞迴迴圈了,應盡量使用精簡的關聯SQL查詢。記憶體中載入的資料量過於龐大,如一次從資料庫取出過多資料而沒有採用分頁讀取。2、異常時
Time of Update: 2018-12-05
假設,如果,要是,'靜態變數'的繼承能夠按照我‘天真的以為是的那個樣子’,會怎麼樣呢?class Person { public static String name = "person"; public static String name(){ return name; }}class Person2 extends Person {}class Person3 extends Person {}Person2 和 Person3
Time of Update: 2018-12-05
write by 九天雁翎(JTianLing) --
Time of Update: 2018-12-05
import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import org.apache.poi.hssf.usermodel.HSSFCell;import
Time of Update: 2018-12-05
一).a(-|+)256=c;如果a為正數那麼使用a-256=c,如果說a為負數使用a+256=c如果結果c不在-128~127之間再次用c(-|+)256依次類推直到結果c在-128~127之間為止例:int number=200;200-256=-56 byte結果 56在 -128~127之間number =-200;-200+256=200 byte結果 -56在 -128~127之間 number =500;500-256=244 244不在-128~127之間244-256=-12
Time of Update: 2018-12-05
有關JAVA虛擬機器本地異常機制的思考By 薑江<jznsmail@tom.com>http://blog.csdn.net/jznsmail在JAVA語言中,如果需要自己實現一個異常函數可以通過在函數後通過throws來指定拋出何種類型的異常,如果是類則可以通過繼承Exception類來拋出指定類型的異常。下面以自訂異常函數為列子:public class ExceptionTest{ public void Exception1() throws
Time of Update: 2018-12-05
需要的兩個包及:(1)iText.jar:http://download.csdn.net/source/296416(2)iTextAsian.jar(用來進行中文的轉換):http://download.csdn.net/source/172399 下面是程式碼範例: import java.awt.Color; import java.io.FileOutputStream; import com.lowagie.text.Cell; import
Time of Update: 2018-12-05
最近做個項目,就是要取得cpu佔有率等等的系統資訊,一開始以為要用動態連結程式庫了,但後來發現可以像下面這樣做,不去調用jni,這樣省去了很多看新技術的時間o(∩_∩)o...在Java中,可以獲得總的實體記憶體、剩餘的實體記憶體、已使用的實體記憶體等資訊,下面例子可以取得這些資訊,並且獲得在Windows下的記憶體使用量率。 首先編寫一個MonitorInfoBean類,用來裝載監控的一些資訊,包括實體記憶體、剩餘的實體記憶體、已使用的實體記憶體、記憶體使用量率等欄位,該類的代碼如下:
Time of Update: 2018-12-05
import java.io.FileOutputStream;import java.io.ObjectOutputStream;import java.security.NoSuchAlgorithmException;import java.util.logging.Level;import java.util.logging.Logger;import javax.crypto.KeyGenerator;import javax.crypto.SecretKey;/* * To
Time of Update: 2018-12-05
package cn.com;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.RandomAccessFile;//檔案的拆分和組合//步驟://1 依據源檔案大小和每塊的大小計算出塊數//2 將每一塊寫到一個對應的檔案public class FileSeparatorAndUnite {long rawFileSize;long
Time of Update: 2018-12-05
請進來的觀眾先不要罵我,諸位肯定以為我一個還沒出師的臭小子居然敢質疑大師的著作。我想大師應該不會犯這樣的錯誤,應該是譯者無能抑或是小子無知。廢話不說了吧,大家看程式。原書程式【見第97、98頁】public class Palindrome{public static boolean isPalindrome(String stringToTest){String workingCopy = removeJunk(stringToTest);String reversedCopy =
Time of Update: 2018-12-05
在編譯java程式和運行java程式時,為了更好的看到java程式對包的匯入和對代碼的解析操作 可以加入一點命令 輕鬆的觀察!!!!下面從最簡單的Helloworld程式入手看看情況如何: public class HelloWorld{ public static void main(String []args) { Print print=new Print("hello world"); System.out.println(print); }}class
Time of Update: 2018-12-05
為什麼要對資料排序?便於組織資料並且某些演算法要求資料必須有序。本章主要介紹三類簡單排序方法:冒泡,選擇,插入演算法。基本的操作是比較交換。冒泡排序:Listing 3.1 The bubbleSort.java Program// bubbleSort.java// demonstrates bubble sort// to run this program: C>java BubbleSortApp//------------------------------------------
Time of Update: 2018-12-05
webservice的 發布一般都是使用WSDL(web service descriptive language)檔案的樣式來發布的,在WSDL檔案裡面,包含這個webservice暴露在外面可供使用的介面。今天搜尋到了非常好的 webservice provider列表http://www.webservicex.net/WCF/default.aspx這上面列出了70多個包括很多方面的free webservice provider,utilities->global
Time of Update: 2018-12-05
從去年年中,開始學習Java,主要是維護公司用Java編寫的伺服器軟體。目前,該伺服器軟體遇到一個問題,在下載大檔案時,如果同時下載的使用者很多,伺服器軟體工作會出現異常,有的使用者無法下載。伺服器硬體基本上都是多核處理器,所以,如果能在Java語言中使用並行編程技術,使用OpenMP,可能會提高伺服器軟體的效能。 今天,測試了一下,Java語言中也可以使用OpenMP。以下是詳細測試過程:1.
Time of Update: 2018-12-05
在android4.2以前,注入步驟如下:webview.getSetting().setJavaScriptEnable(true);class JsObject { public String toString() { return "injectedObject"; } } webView.addJavascriptInterface(new JsObject(), "injectedObject");Android4.2及以後,注入步驟如下:webview.getSetting()
Time of Update: 2018-12-05
List的用法List包括List介面以及List介面的所有實作類別。因為List介面實現了Collection介面,所以List介面擁有Collection介面提供的所有常用方法,又因為List是清單類型,所以List介面還提供了一些適合於自身的常用方法,如表1所示。表1
Time of Update: 2018-12-05
=====================================================================JAVA語言是1995年5月由SUN公司發布的,由於其安全性高、代碼最佳化、跨平台等特性,迅速取代了很多傳統進階語言,佔據了企業級網路應用開發等諸多領域的霸主地位。不過,JAVA最突出的跨平台優勢使得它不能被編譯成本地代碼,而要以中間代碼的形式運行在虛擬機器環境中,這使得JAVA的反編譯要比別的進階語言容易實現,並且反編譯的代碼經過最佳化後幾乎可以與原始碼相媲