Time of Update: 2017-02-27
BufferedReader 介紹BufferedReader 是緩衝字元輸入資料流。它繼承於Reader。BufferedReader 的作用是為其他字元輸入資料流添加一些緩衝功能。BufferedReader 函數列表BufferedReader(Reader in)BufferedReader(Reader in, int size) void close()void mark(int markLimit)boolean markSupported()int
Time of Update: 2017-02-27
FileReader和FileWriter源碼分析1. FileReader 源碼(基於jdk1.7.40)package java.io; public class FileReader extends InputStreamReader { public FileReader(String fileName) throws FileNotFoundException { super(new FileInputStream(fil java
Time of Update: 2017-02-27
InputStreamReader和OutputStreamWriter 是位元組流通向字元流的橋樑:它使用指定的 charset 讀寫位元組並將其解碼為字元。InputStreamReader 的作用是將“位元組輸入資料流”轉換成“字元輸入資料流”。它繼承於Reader。OutputStreamWriter
Time of Update: 2017-02-27
本章,我們學習PipedReader和PipedWriter。它們和“PipedInputStream和PipedOutputStream”一樣,都可以用於管道通訊。PipedWriter 是字元管道輸出資料流,它繼承於Writer。PipedReader
Time of Update: 2017-02-27
CharArrayWriter 介紹CharArrayReader 用於寫入資料符,它繼承於Writer。操作的資料是以字元為單位!CharArrayWriter 函數列表CharArrayWriter()CharArrayWriter(int initialSize) CharArrayWriter append(CharSequence csq, int start, int end)CharArrayWriter append(char
Time of Update: 2017-02-27
CharArrayReader 介紹CharArrayReader 是字元數組輸入資料流。它和ByteArrayInputStream類似,只不過ByteArrayInputStream是位元組數組輸入資料流,而CharArray是字元數組輸入資料流。CharArrayReader 是用於讀取字元數組,它繼承於Reader。操作的資料是以字元為單位!CharArrayReader 函數列表CharArrayReader(char[] buf)CharArrayReader(char[] buf,
Time of Update: 2017-02-27
我們初學java的第一個程式是"hello world"1 public class HelloWorld {2 public static void main(String[] args) {3 System.out.println("hello world");4 }5 }上面程式到底是怎麼在螢幕上輸出“hello
Time of Update: 2017-02-27
PrintStream(列印輸出資料流)詳解PrintStream 介紹PrintStream 是列印輸出資料流,它繼承於FilterOutputStream。PrintStream 是用來裝飾其它輸出資料流。它能為其他輸出資料流添加了功能,使它們能夠方便地列印各種資料值表示形式。與其他輸出資料流不同,PrintStream 永遠不會拋出 IOException;它產生的IOException會被自身的函數所捕獲並設定錯誤標記, 使用者可以通過 checkError()
Time of Update: 2017-02-27
DataOutputStream(資料輸出資料流)的認知、源碼和樣本本章介紹DataOutputStream。我們先對DataOutputStream有個大致認識,然後再深入學習它的源碼,最後通過樣本加深對它的瞭解。DataOutputStream 介紹DataOutputStream 是資料輸出資料流。它繼承於FilterOutputStream。DataOutputStream 是用來裝飾其它輸出資料流,將DataOutputStream和DataInputStream輸入資料流配合使用,&
Time of Update: 2017-02-27
在這個系列的 第一篇文章 中,我介紹了 Ajax 的構造塊:如何用 JavaScript XMLHttpRequest 對象從 Web 頁面向伺服器發送非同步請求。如何用 Java servlet 處理和響應請求(向客戶機返回 XML 文檔)。如何在用戶端用響應文檔更新整頁模式。這一次,我將繼續討論 Ajax 開發的基礎知識,但是將側重於許多 Java Web 開發人員最關心的問題:為客戶機產生資料。多數 Java 開發人員已經把模型-視圖-控制器(MVC)模式應用在他們的 Web 應用程式上。
Time of Update: 2017-02-27
哈夫曼樹的介紹Huffman Tree,中文名是哈夫曼樹或霍夫曼樹,它是最優二叉樹。定義:給定n個權值作為n個葉子結點,構造一棵二叉樹,若樹的帶權路徑長度達到最小,則這棵樹被稱為哈夫曼樹。這個定義裡面涉及到了幾個陌生的概念,下面就是一顆哈夫曼樹,我們來看圖解答。(01) 路徑和路徑長度定義:在一棵樹中,從一個結點往下可以達到的孩子或孫子結點之間的通路,稱為路徑。通路中分支的數目稱為路徑長度。若規定根結點的層數為1,則從根結點到第L層結點的路徑長度為L-1。 例子:100和80的路徑長度是1,50
Time of Update: 2017-02-27
鄰接矩陣無向圖的介紹鄰接矩陣無向圖是指通過鄰接矩陣表示的無向圖。上面的圖G1包含了"A,B,C,D,E,F,G"共7個頂點,而且包含了"(A,C),(A,D),(A,F),(B,C),(C,D),(E,G),(F,G)"共7條邊。由於這是無向圖,所以邊(A,C)和邊(C,A)是同一條邊;這裡列舉邊時,是按照字母先後順序列舉的。上圖右邊的矩陣是G1在記憶體中的鄰接矩陣示意圖。A[i][j]=1表示第i個頂點與第j個頂點是鄰接點,A[i][j]=0則表示它們不
Time of Update: 2017-02-27
閑來無事,寫個演算法,最小產生樹的Kruskal演算法,相對比Prim演算法實現起來麻煩一點點package trees; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.PriorityQueue; import java.util.Set; /** * 最小產生樹的Kruskal演算法, * For a connected
Time of Update: 2017-02-27
計算任意一個圖的產生樹的個數,是Kirchhoff提出的理論,通常稱為Matrix Tree Theorem,原理很簡單:Let G be a graph with V(G)={v1,v2,...,vn},let A={aij}be the adjacentcy matrix of G,and let C={cij}be the n*n matrix, where cij=deg vi if i=j; cij=-aij if i!=j; Then the number of spanning
Time of Update: 2017-02-27
一致性雜湊演算法是分布式系統中常用的演算法。比如,一個分布式的儲存系統,要將資料存放區到具體的節點上,如果採用普通的hash方法,將資料對應到具體的節點上,如key%N,key是資料的key,N是機器節點數,如果有一個機器加入或退出這個叢集,則所有的資料對應都無效了,如果是持久化儲存則要做資料移轉,如果是分布式緩衝,則其他緩衝就失效了。因此,引入了一致性雜湊演算法:把資料用hash函數(如MD5),映射到一個很大的空間裡,如圖所示。資料的儲存時,先得到一個hash值,對應到這個環中的每個位置,如
Time of Update: 2017-02-27
IBM Java Toolbox for i 實現 Web 與智能行動裝置調用 RPGIBM i 平台的主流語言為 RPG,其運行效率很高。而 Java 作為當今主流的程式設計語言,應用在全球 30 億裝置。如何在不改變商務邏輯,不重新編譯的前提下,繼續複用已有 IBM i 平台的 RPG 應用,是 Java 應用程式開發所需關注的一個重點。從跨語言的角度來看,Web Service 無疑是一種可行的通用實現方案。但是對於熟悉 Java 程式設計語言的開發人員而言,藉助 IBM Java
Time of Update: 2017-02-27
概述IBM Toolbox for Java 是一個類的集合,用於開發與 IBM i 相關的 Java 應用程式。它包含的各類工具,提供了對於 IFS、IBM i 系統資訊、用戶端 / 伺服器等各類應用情境的的支援,使用者可以在其他平台諸如 Windows,Linux 上面方便的使用 IBM Toolbox for Java 開發運行在 IBM i 上的應用程式,為使用者的編程和調試帶來了極大的方便。我們在這些作業系統平台上,通過幾行簡單的代碼就可以訪問一台 IBM i
Time of Update: 2017-02-27
上篇文章主要介紹了Ford-Fulkerson方法的理論基礎,本篇給出一種Java的實現。先藉助虛擬碼熟悉下流程FORD-FULKERSON(G,t,s)1 for each edge(u,v)屬於E(G)2 do f[u,v]=03 f[v,u]=04 while there exists a path p from s to t in the residual network Gf5
Time of Update: 2017-02-27
使用 Ajax 建立用於無縫資料互動的 Web 2.0 web 應用程式是一項複雜的任務,Ajax 是一種包含( 但不僅限於)Asynchronous JavaScript 和 XML 的技術。為了協助您準確理解什麼是 Web 2.0,以及 Ajax 如何改善使用者體驗,Java BluePrints 程式 小組開發了 Java Pet Store 2.0 參考應用程式。通過 探索 Pet Store 2.0 應用程式的用例、設計和實現,您將瞭解構建具有類似功能的應用程式的更多資訊 。Java
Time of Update: 2017-02-27
非同步 JavaScript 和 XML(Asynchronous JavaScript and XML,Ajax)技術能夠提高 Web 應用程式 使用者介面的響應能力和互動性。受益於其靈活且可拔插的 UI 組件模型,JavaServer Faces 技術已成為 嚮應用程式添加 Ajax 技術的完美架構。藉助 DOJO JavaScript 工具包,組件開發人員能夠更加輕鬆地 添加這項功能。本教程介紹如何藉助 DOJO 工具包,將 Ajax 的強大功能添加到 JavaServer Faces