Time of Update: 2017-02-27
第11章介紹了Java
Time of Update: 2017-02-27
儘管對涉及文文書處理的一些項目來說,前例顯得比較方便,但下面要介紹的項目卻能立即發揮作用,因為它執行的是一個樣式檢查,以確保我們的大小寫形式符合“事實上”的Java樣式標準。它會在目前的目錄中開啟每個.java檔案,並提取出所有類名以及標識符。若發現有不符合Java樣式的情況,就向我們提出報告。為了讓這個程式正確運行,首先必須構建一個類名,將它作為一個“倉庫”,負責容納標準Java庫中的所有類名。為達到這個目的,需遍曆用於標準Java庫的所有源碼子
Time of Update: 2017-02-27
上述設計方案的一個問題是仍然需要一個中心場所,必須在那裡知道所有類型的對象:在factory()方法內部。如果經常都要向系統添加新類型,factory()方法為每種新類型都要修改一遍。若確實對這個問題感到苦惱,可試試再深入一步,將與類型有關的所有資訊——包括它的建立過程——都移入代表那種類型的類內部。這樣一來,每次新添一種類型的時候,需要做的唯一事情就是從一個類繼承。為將涉及類型建立的資訊移入特定類型的Trash裡,必須使用“原型&rd
Time of Update: 2017-02-27
(1) 編譯和運行本章中的JabberServer和JabberClient程式。接著編輯一下程式,刪去為輸入和輸出設計的所有緩衝機制,然後再次編譯和運行,觀察一下結果。(2) 建立一個伺服器,用它請求使用者輸入密碼,然後開啟一個檔案,並將檔案通過網路連接傳送出去。建立一個同該伺服器串連的客戶,為其分配適當的密碼,然後捕獲和儲存檔案。在自己的機器上用localhost(通過調用InetAddress.getByName(null)產生本地IP地址127.0.0.1)測試這兩個程式。(3)
Time of Update: 2017-02-27
伺服器必須包含一個擴充了UnicastRemoteObject的類,並實現遠程介面。這個類也可以含有附加的方法,但客戶只能使用遠程介面中的方法。這是顯然的,因為客戶得到的只是指向介面的一個控制代碼,而非實現它的那個類。必須為遠程對象明確定義構建器,即使只準備定義一個預設構建器,用它調用基礎類構建器。必須把它明確地編寫出來,因為它必須“擲”出RemoteException違例。下面列出遠程介面PerfectTime的實施過程: //:
Time of Update: 2017-02-27
RMI對介面有著強烈的依賴。在需要建立一個遠程對象的時候,我們通過傳遞一個介面來隱藏基層的實施細節。所以客戶得到遠程對象的一個控制代碼時,它們真正得到的是介面控制代碼。這個控制代碼正好同一些本地的根代碼串連,由後者負責通過網路通訊。但我們並不關心這些事情,只需通過自己的介面控制代碼發送訊息即可。建立一個遠程介面時,必須遵守下列規則:(1)
Time of Update: 2017-02-27
閱覽JDBC的線上說明文檔時,我們往往會產生畏難情緒。特別是DatabaseMetaData介面——與Java中看到的大多數介面相反,它的體積顯得非常龐大——存在著數量眾多的方法,比如dataDefinitionCausesTransactionCommit(),getMaxColumnNameLength(),getMaxStatementLength(),storesMixedCaseQuotedIdentifiers(),supportsAN
Time of Update: 2017-02-27
最好的方法是讓尋找程式一直保持運行,要尋找什麼東西時只需簡單地切換到它,並鍵入要尋找的名字即可。下面這個程式將尋找程式作為一個“application/applet”建立,且添加了名字自動填寫功能,所以不必鍵入完整的姓,即可看到資料: //: VLookup.java// GUI version of Lookup.javaimport java.awt.*;import java.awt.event.*;import java.applet.*;import
Time of Update: 2017-02-27
就JDBC來說,代碼本身是很容易理解的。最令人迷惑的部分是如何使它在自己特定的系統上運行起來。之所以會感到迷惑,是由於它要求我們掌握如何才能使JDBC驅動程式正確裝載,以及如何用我們的資料庫管理軟體來設定一個資料庫。當然,具體的操作過程在不同的機器上也會有所區別。但這兒提供的在32位Windows環境下操作過程可有效協助大家理解在其他平台上的操作。1.
Time of Update: 2017-02-27
據估算,將近一半的軟體開發都要涉及客戶(機)/伺服器方面的操作。Java為自己保證的一項出色能力就是構建與平台無關的客戶機/伺服器資料庫應用。在Java
Time of Update: 2017-02-27
現在讓我們想想如何建立一個應用,令其在真實的Web環境中運行,它將把Java的優勢表現得淋漓盡致。這個應用的一部分是在Web伺服器上啟動並執行一個Java程式,另一部分則是一個“程式片”或“小應用程式”(Applet),從伺服器下載至瀏覽器(即“客戶”)。這個程式片從使用者那裡收集資訊,並將其傳回Web伺服器上啟動並執行應用程式。程式的任務非常簡單:程式片會詢問使用者的E-mail地址,並在驗證這個地址合格後(沒有包含空格,
Time of Update: 2017-02-27
最近需要在 Linux 系統上對 Java 的應用系統進行監測,就用到了 JDK1.5 附帶的工具 jps ( Java Virtual Machine Process Status Tool ,查看 JVM 進程狀態的工具), jstat(Java Virtual Machine Statistics Monitoring Tool ,運行資料監測工具 ) 以及 jstatd ( jstat 的 daemon 程式,利用 RMI 進行遠程監控)。(建議可以使用 jvmstat 包,可視化的
Time of Update: 2017-02-27
今天大家討論說發現 JDK 1.6 安裝目錄下有個 jrunscript.exe, 不知道是幹啥的, 在 DOS 下運行一下看看:D:\jee5training\jdk1.6.0\bin>jrunscript.exejs> var a = 2;js> print(a)2js> println(a)2js>js> alert(a)script error: sun.org.mozilla.javascript.internal.EcmaError:
Time of Update: 2017-02-27
同J/Direct相比,RNI是一種比非Java代碼複雜得多的介面;但它的功能也十分強大。RNI比J/Direct更接近於JVM,這也使我們能寫出更有效代碼,能處理固有方法中的Java對象,而且能實現與JVM內部運行機制更緊密的整合。RNI在概念上類似Sun公司的JNI。考慮到這個原因,而且由於該產品尚未正式完工,所以我只在這裡指出它們之間的主要差異。欲瞭解更詳細的情況,請參考微軟公司的文檔。JNI和RNI之間存在幾方面令人信服的差異。下面列出的是由msjavah產生的C標頭檔(微軟提供的msj
Time of Update: 2017-02-27
通過@dll.import引導命令內的修改符(標記),還可用到J/Direct的另兩項特性。第一項是對OLE函數的簡化訪問,第二項是選擇API函數的ANSI及Unicode版本。根據約定,所有OLE函數都會傳回型別為HRESULT的一個值,它是由COM定義的一個結構化整數值。若在COM那一級編寫程式,並希望從一個OLE函數裡返回某些不同的東西,就必須將一個特殊的指標傳遞給它——該指標指向函數即將在其中填充資料的那個記憶體地區。但在Java中,我們沒有指標可用;此外,這種方
Time of Update: 2017-02-27
最新在做一套GIS系統的架構,其中用到了Janus WinForms Controls和Developer Express這兩個外掛程式。我用DE的xtraTabbedMdiManager組件來管理我的子表單。在父表單中放置了janus的Ribbon控制項做菜單。讓我比較鬱悶的是,直接放上去會在啟動並執行時候會彈出錯誤視窗,如下:System.InvalidOperationException: 視窗控制代碼已存在。在
Time of Update: 2017-02-27
這個問題來自論壇提問,對dom稍微瞭解的話還是比較簡單的,只要註冊一下事件就可以了。C#代碼如下:using System;using System.ComponentModel;using System.Windows.Forms;namespace WindowsApplication5...{ public partial class Form1 : Form ...{ public Form1() ...{ InitializeComponent(); }
Time of Update: 2017-02-27
BaseQueryForm
Time of Update: 2017-02-27
BaseEditForm
Time of Update: 2017-02-27
在開發過程中,大家可能都發現,形成一套個人開發風格是相當重要,這也可以延伸為整個團隊的開發模式,甚至形成一個有形的開發架構。我經過這一兩年的摸索,不斷的完善,現在大體形成了幾個東東,自己感覺還不錯,所以想貼出來與大家一起分享,如有需要的朋友,可以直接與我聯絡。大體有以下幾個類庫:FaibClass.Data 資料訪問庫FaibClass.Common.Windows WinForm架構庫FaibClass.Windows.Forms