Time of Update: 2017-02-27
概述利用 Java 的 JSSE(Java Secure Socket Extension)技術,我們可以方便的編寫安全通訊端程式,關於 JSSE 的介紹,可以參閱 Oracle網站提供的 JSSE指導。程式編寫過程中,我們需要將數位憑證應用到代碼中。通常在正式的產品開發中,我們可以支付一定的費用,向正規認證機構,例如:Verisign、Geotrust、Thawte等申請。如果只是為了實驗,我們還可以使用 Java 內建的 keytool 工具來製作認證。keytool 是密鑰和認證管理工具,
Time of Update: 2017-02-27
(1) 建立一個myString類,在其中包含了一個String對象,以便用在構建器中用構建器的自變數對其進行初始化。添加一個toString()方法以及一個concatenate()方法,令其將一個String對象追加到我們的內部字串。在myString中實現clone()。建立兩個static方法,每個都取得一個myString
Time of Update: 2017-02-27
繼承最值得注意的地方就是它沒有為新類提供方法。繼承是對新類和基礎類之間的關係的一種表達。可這樣總結該關係:“新類屬於現有類的一種類型”。這種表達並不僅僅是對繼承的一種形象化解釋,繼承是直接由語言提供支援的。作為一個例子,大家可考慮一個名為Instrument的基礎類,它用於表示樂器;另一個衍生類叫作Wind。由於繼承意味著基礎類的所有方法亦可在衍生出來的類中使用,所以我們發給基礎類的任何訊息亦可發給衍生類。若Instrument類有一個play()方法,則Wind裝置也會
Time of Update: 2017-02-27
可考慮用構建器執行初始化進程。這樣便可在編程時獲得更大的靈活程度,因為我們可以在運行期調用方法和採取行動,從而“現場”決定初始化值。但要注意這樣一件事情:不可妨礙自動初始化的進行,它在構建器進入之前就會發生。因此,假如使用下述代碼:class Counter {int i;Counter() { i = 7; }// . .
Time of Update: 2017-02-27
“別名”意味著多個控制代碼都試圖指向同一個對象,就象前面的例子展示的那樣。若有人向那個對象裡寫入一點什麼東西,就會產生別名問題。若其他控制代碼的所有者不希望那個對象改變,恐怕就要失望了。這可用下面這個簡單的例子說明: //: Alias1.java// Aliasing two handles to one objectpublic class Alias1 { int i; Alias1(int ii) { i = ii; } public
Time of Update: 2017-02-27
(1) 開啟一個文字檔,每次讀取一行內容。將每行作為一個String讀入,並將那個String對象置入一個Vector裡。按相反的順序列印出Vector中的所有行。(2) 修改練習1,使讀取那個檔案的名字作為一個命令列參數提供。(3) 修改練習2,又開啟一個文字檔,以便將文字寫入其中。將Vector中的行隨同行號一起寫入檔案。(4) 修改練習2,強迫Vector中的所有行都變成大寫形式,將結果發給System.out。(5) 修改練習2,在檔案中尋找指定的單詞。列印出包含了欲找單詞的所有文本行。
Time of Update: 2017-02-27
將一個方法調用同一個方法主體串連到一起就稱為“綁定”(Binding)。若在程式運行以前執行綁定(由編譯器和連結程式,如果有的話),就叫作“早期繫結”。大家以前或許從未聽說過這個術語,因為它在任何程式化語言裡都是不可能的。C編譯器只有一種方法調用,那就是“早期繫結”。上述程式最令人迷惑不解的地方全與早期繫結有關,因為在只有一個Instrument控制代碼的前提下,編譯器不知道具體該調用哪個方法。解決的方法就是“後
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
從安全性的角度,IBM i提供了三個層級的安全保護機制,分別為:物理安全性、登入安全性、以及資源安 全性。物理安全性是從硬體的角度,主要涉及的是IBM i資料存放區介質的保護;登入安全性則以使用者為中心, 限制哪些使用者訪問IBM i以及登入後可執行哪些操作;資源安全性是圍繞IBM i對象與檔案等資源,保護檔案、 對象以及對象中資料避免非法訪問。另一方面,作為一組JavaAPI,IBM Java Toolbox for i主 要用於訪問IBM i的資料與資源。有關IBM Java
Time of Update: 2017-02-27
Java在語言層次上實現了對線程的支援。它提供了Thread/Runnable/ThreadGroup等一系列封裝的類和介面,讓程式員可以高效的開發Java多線程應用。為了實現同步,Java提供了synchronize關鍵字以及object的wait()/notify()機制,可是在簡單易用的背後,應藏著更為複雜的玄機,很多問題就是由此而起。一、Java記憶體模型在瞭解Java的同步秘密之前,先來看看JMM(Java Memory
Time of Update: 2017-02-27
四種方式 sychronized關鍵字sychronized method(){}sychronized (objectReference) {/*block*/}static synchronized method(){}sychronized(classname.class)其中1和2是代表鎖當前對象,即一個對象就一個鎖,3和4代表鎖這個類,即這個類的鎖要注意的是sychronized
Time of Update: 2017-02-27
隨著多核 CPU 的日益普及,越來越多的 Java 應用程式使用多線程並行計算來充分發揮整個系統的效能。多線程的使用也給應用程式開發人員帶來了巨大的挑戰,不正確地使用多線程可能造成線程死結或資源競爭,導致系統癱瘓。因此,需要一種運行時線程監控工具來協助開發人員診斷和跟蹤 Java 線程狀態的切換。JDK 1.5 及其後續版本提供了監控虛擬機器運行狀態的介面 JVMTI。JVMTI 工具介面隨著多核 CPU 技術的發展,多線程編程技術被廣泛地應用,從而充分發揮整個系統的效能。Java
Time of Update: 2017-02-27
簡介Java EE 技術是 Java 語言平台的擴充,支援開發人員建立可伸縮的強大的可移植公司專屬應用程式程式。它為應用程式組件定義了四種容器:Web、Enterprise JavaBean(EJB)、應用程式客戶機和 applet。一個應用伺服器規範詳細描述了這些容器和它們必須支援的 Java API,這促使 Java EE 產品相互競爭,同時保證符合這個規範的應用程式可以在伺服器之間移植。這個平台的最新版本 Java EE 5 已經於 2006 年 5 月發布。Java EE 5
Time of Update: 2017-02-27
即時 Java 是對 Java 語言的一組增強,為應用程式提供了一定程度的即時效能,這些即時效能是標準 Java 技術所不能提供的。傳統的輸送量效能通常是對可在固定時間量內完成的指令、任務或工作的總數的衡量。與傳統的輸送量效能不同,即時效能專註於應用程式(在不超出給定時間約束的情況下)響應外部刺激因素所需的時間。在硬 即時系統中,決不能超出這類約束;軟
Time of Update: 2017-02-27
SDate部分:class SDate { public static int accountDays(int year,int month) { switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31;
Time of Update: 2017-02-27
Java 語言提供了靈活的、看上去很簡單的線程功能,使得您很容易在您的應用程式中使用多線程。然而,Java應用程式中的並發編程比看上去要複雜:在 Java 程式中,有一些微妙(也許並不是那麼微妙)方式會造成資料爭用(data race)以及並發問題。在這篇 Java 理論和實踐中,Brian探討了一個常見的線程方面的危險:在構造過程中,允許 this 引用逃脫(escape)。這個看上去沒有什麼危害的做法可以在 Java
Time of Update: 2017-02-27
AppFuse 是一個開放源碼的項目和應用程式,它使用了在 Java 平台上構建的開放源碼工具來協助我們快速而高效地開發 Web 應用程式。我最初開發它是為了減少在為客戶構建新 Web 應用程式時所花費的那些不必要的時間。從核心上來說,AppFuse 是一個項目骨架,類似於通過嚮導建立新 Web 項目時 IDE 所建立的東西。當我們使用 AppFuse 建立一個項目時,它會提示我們將使用開放源碼架構,然後才建立項目。它使用 Ant
Time of Update: 2017-02-27
Constant Pool常量池的概念:在講到String的一些特殊情況時,總會提到String Pool或者Constant Pool,但是我想很多人都不太明白Constant Pool到底是個怎麼樣的東西,啟動並執行時候儲存在哪裡,所以在這裡先說一下Constant Pool的內容。String Pool是對應於在Constant Pool中儲存String常量的地區.習慣稱為String Pool,也有人稱為String Constant
Time of Update: 2017-02-27
在這裡,筆者根據自己的一點理解鬥膽提出自己的一些對掌握Java這個說法的標準,當然對於新手,也可以提供一個需要學習哪些內容的參考。另外這個標準僅限於J2SE部分,J2EE部分的內容有時間再另說。1、文法:必須比較熟悉,在寫代碼的時候,IDE的編輯器對某一行報錯,應該能夠根據報錯資訊知道是什麼樣的語法錯誤,並且知道任何修正。2、命令:必須熟悉JDK帶的一些常用命令及其常用選項,命令至少需要熟悉:appletviewer、HtmlConverter、jar、