Time of Update: 2017-02-27
IBM Java Toolbox for i對IBM i子系統的編程支援除隊列之外,子系統也是IBM i的一大特色。為滿足使用者的各種需求,IBM i
Time of Update: 2017-02-27
通俗地講,IBM i 作業管理的內容是負責處理使用者或程式提交的系統請求,它是IBM i平台的準系統之一 。不同於Windows與Unix,圍繞IBM i作業管理的概念較多,如作業,作業描述符,作業隊列,子系統,子系統 描述符,記憶體池,輸出隊列等。而本文的目標是:圍繞IBM i作業管理的相關概念,指導讀者如何使用IBM Java Toolbox for i實現對IBM i作業管理的編程支援。有關IBM Java Toolbox for i的基礎知識,請參見另
Time of Update: 2017-02-27
線程組線程是被個別建立的,但可以將它們歸類到線程組中,以便於調試和監視。只能在建立線程的同時將它與一個線程組相關聯。在使用大量線程的程式中,使用線程組組織線程可能很有協助。可以將它們看作是電腦上的目錄和檔案結構。線程間發信當線程在繼續執行前需要等待一個條件時,僅有 synchronized 關鍵字是不夠的。雖然 synchronized 關鍵字阻止並發更新一個對象,但它沒有實現線程間發信。Object 類為此提供了三個函數:wait()、notify() 和
Time of Update: 2017-02-27
這個類是從java.net.URLEncoder修改來的 經測試能夠正常完成URL編碼的工作,在幾部手機上測試過。使用的時候直接調用URLEncoder.encode("中國")即可 如果向伺服器端發送。可以使用如下的辦法對中文進行編碼,然後發送向伺服器。 String data =
Time of Update: 2017-02-27
現在討論一下伺服器應用(程式)的問題,我把它叫作NameCollecor(名字收集器)。假如多名使用者同時嘗試提交他們的E-mail地址,那麼會發生什麼情況呢?若NameCollector使用TCP/IP通訊端,那麼必須運用早先介紹的多線程機制來實現對多個客戶的並發控制。但所有這些線程都試圖把資料寫到同一個檔案裡,其中儲存了所有E-mail地址。這便要求我們設立一種鎖定機制,保證多個線程不會同時訪問那個檔案。一個“訊號機”可在這裡協助我們達到目的,但或許還有一種更簡單的方
Time of Update: 2017-02-27
/*運行本程式你需要下載JCE,Bouncy Castle的JCE with Provider and Lightweight API網址是 http://www.bouncycastle.org配置如下:在WINDOWS中,你需要把下載的bcprov-jdk14-119.jar檔案拷貝到兩個地方:一個在你安裝的JDK目錄中,比如說我的是C:\j2sdk1.4.0-rc\jre\lib\ext另一個在你的JDK運行環境中,我的是在C:\Program
Time of Update: 2017-02-27
1:優先順序優先順序是指同一式子中多個運算子被執行和次序,同一級裡的操作符具有相同的優先順序,相同優先順序得操作符號相遇是,根據結合性決定運算次序,下面從高到低的優先順序列出了運算子。同一行中的運算子優先順序相同。. [] () 結合性從左至右++ -- ! ~ 結合性從左至右* / % 結合性從左至右+ - 結合性從左至右<< >> >>> 結合性從左至右< > <= >=
Time of Update: 2017-02-27
有些裝置並不允許同時開啟多個網路連接,但是有的時候我們的應用程式可能需要同時開啟多個串連。這樣可以提高效率或者使用者體驗,但是應用程式應該盡量避免依賴多串連這一特性,因為對於不支援多個串連的裝置你的程式可能會崩潰。解決這一問題的辦法是在JAD檔案中標記出裝置能夠同時開啟的串連數量。那麼如何能夠得到裝置支援的最大的串連數的,首先你可以去參考裝置的規範。比如Motorola的裝置規範中一般都列出了能夠支援的連線類型,比如HTTP
Time of Update: 2017-02-27
使用java內建的類java.util.zip進行檔案/目錄的壓縮的話,有一點不足,不支援中文的名件/目錄命名,如果有中文名,那麼打包就會失敗。本人經過一段時間的摸索和實踐,發現在一般的Ant.jar類庫中也有zip類,import org.apache.tools.zip.*,能夠解決不支援中文檔案目錄的問題,同時,Ant的獲得途徑也比較多,一般的應用伺服器中有這個包,實在不行去下載個tomcat5.X,裡面也有ant.jar,本人經過測試,可以使用。例子如下:import
Time of Update: 2017-02-27
1 如何獲得某一個目錄下的檔案清單?File MyDir = new File("C:/Windows/.");String[] FileNames = MyDir.list();2 如何?一個開啟檔案或者是隱藏檔對話方塊?AWT: FileDialog類 + FilenameFilter類Swing: JFileChooser類 + FileFilter類其中,基於Swing的解決方案功能更加強大,介面也更加美觀。3
Time of Update: 2017-02-27
JAVA是解釋執行的語言,對於不同的操作平台都有相應的JVM對位元組碼檔案進行解釋執行。而這個位元組碼檔案,也就是我們平時所看到的每一個.class檔案。這是我們大家都知道的常識,也就是由.java檔案,經過編譯器編譯,變成JVM所能解釋的.class檔案。而這個過程,在現在公開的網路技術中,利用一個反編譯器,任何人都可以很容易的擷取它的源檔案。這對於很多人來說是不希望看到的。對於加密解密技術,我懂的不多,有些可以利用某種技術“模糊”JAVA類檔案。這樣能夠使反編譯的難度
Time of Update: 2017-02-27
本章介紹如何在Tomcat上建立和發布Web應用。這裡首先講解Tomcat的目錄結構以及Web應用的目錄結構,接著介紹如何將HTML、Servlet、JSP和Tag Library部署到Web應用中,然後介紹把整個Web應用打包並發布的方法,最後介紹如何在Tomcat上配置虛擬機器主機。本章側重於討論Web應用的結構和發布方法,所以沒有對本章的Servlet和JSP的例子進行詳細解釋,關於Servlet和JSP的技術可以分別參考其它章節的內容。2.1
Time of Update: 2017-02-27
本文主要談一下密碼學中的加密和數位簽章,以及其在java中如何進行使用。對密碼學有興趣的夥伴,推薦看Bruce Schneier的著作:Applied Crypotography。在jdk1.5的發行版本中安全性方面有了很大的改進,也提供了對RSA演算法的直接支援,現在我們從執行個體入手解決問題(本文僅是作為簡單介紹):一、密碼學上常用的概念 1)訊息摘要:這是一種與訊息認證碼結合使用以確保訊息完整性的技術。主要使用單向散列函數演算法,可用於檢驗訊息的完整性,和通過散列密碼直接以文本形式儲存等,
Time of Update: 2017-02-27
Java提供了兩類主要的異常:runtime exception和checked exception。所有的checked exception是從java.lang.Exception類衍生出來的,而runtime exception則是從java.lang.RuntimeException或java.lang.Error類衍生出來的。它們的不同之處表現在兩方面:機制上和邏輯上。一、機制上它們在機制上的不同表現在兩點:1.如何定義方法;2.
Time of Update: 2017-02-27
Java是一種非常強大的程式設計語言,但Java的GUI能力一直是它的軟肋。雖然Java提供2種圖形解決方案,AWT和Swing。但這2種圖形庫的功能十分有限,使用它們並不能帶來更多的使用者體驗。而且AWT和Swing的更新速度很慢。一直到Java SE 5也沒什麼明顯的變化。幸好Java SE 6終於為它們增加了更強大的功能。有了這些功能,使用AWT和Swing設計的使用者介面可以更貼近使用者。為了使讀者能夠更早地體驗Java SE 6 GUI的美麗,本文將就Java SE 6
Time of Update: 2017-02-27
其實,簡單的分析一下,就可以看出客戶和服務通訊的主要通道就是Socket本身,而伺服器通過accept方法就是同意和客戶建立通訊.這樣當客戶建立Socket的同時。伺服器也會使用這一根連線來先後通訊,那麼既然如此只要我們存在多條連線就可以了。那麼我們的程式可以變為如下:那麼下面的問題是如何使用線程.首先要做的事情是建立線程並使得其可以和網路連線取得聯絡。然後由線程來執行剛才的操作,要建立線程要麼直接繼承Thread要麼實現Runnable介面,要建立和Socket的聯絡只要傳遞引用就可以了.而要
Time of Update: 2017-02-27
Java的堆是一個運行時資料區,類的執行個體(對象)從中分配空間。Java虛擬機器(Jvm)的堆中儲存著正在啟動並執行應用程式所建立的所有對象,這些對象通過new、newarray、anewarray和multianewarray等指令建立,但是它們不需要程式碼來顯式的釋放。一般來說,堆是由記憶體回收來負責的,儘管Jvm規範並不要求特殊的記憶體回收技術,甚至根本就不需要記憶體回收,但是由於記憶體的有限性,Jvm在實現的時候都有一個由記憶體回收所管理的堆。記憶體回收是一種動態儲存裝置管理技術,它自
Time of Update: 2017-02-27
我們知道,許多程式設計語言都允許在程式運行期動態地分配記憶體空間。分配記憶體的方式多種多樣,取決於該種語言的文法結構。但不論是哪一種語言的記憶體配置方式,最後都要返回所分配的記憶體塊的起始地址,即返回一個指標到記憶體塊的首地址。當已經分配的記憶體空間不再需要時,換句話說當指向該記憶體塊的控制代碼超出了使用範圍的時候,該程式或其運行環境就應該回收該記憶體空間,以節省寶貴的記憶體資源。在C,C++或其他程式設計語言中,無論是對象還是動態配置的資源或記憶體,都必須由程式員自行聲明產生和回收,否則其中的
Time of Update: 2017-02-27
簡單地說,觀察者模式定義了一個一對多的依賴關係,讓一個或多個觀察者對象監察一個主題對象。這樣一個主題對象在狀態上的變化能夠通知所有的依賴於此對象的那些觀察者對象,使這些觀察者對象能夠自動更新。觀察者模式的結構觀察者(Observer)模式是對象的行為型模式,又叫做發表-訂閱(Publish/Subscribe)模式、模型-視圖(Model/View)模式、源-收聽者(Source/Listener)模式或從屬者(Dependents)模式。本模式的類圖結構如下:圖1、觀察者模式的靜態結構可從類圖
Time of Update: 2017-02-27
我們在做資訊系統的時候,都要訪問資料庫,我最近接手一個項目,項目組決定使用Java編寫,我負責資料層的設計和編碼,為了提高代碼的重用性和提高項目的開發效率。我們開發了一個通用的資料庫連接和完成基本操作的類庫,個人認為這個類在做MIS系統時還是有一定的價值,所以總結出來,介紹給大家。串連工廠,實現了DataSource介面package skydev.modules.data;import java.sql.*;import javax.sql.DataSource;import java.io.