串列通訊概述串列通訊協議有很多種,像RS232,RS485,RS422,甚至現今流行的USB等都是串列通訊協議。而串列通訊技術的應用無處不在。可能大家見的最多就是電腦的串口與Modem的通訊。記得在PC機剛開始在中國流行起來時(大約是在90年代前五年),那時甚至有人用一條串列線進行兩台電腦之間的資料共用。除了這些,手機,PDA,USB滑鼠、鍵盤等等都是以串列通訊的方式與電腦串連。而筆者工作性質的關係,所接觸到的就更多了,像多串口卡,各種種類的具有串口通訊介面的檢測與測量儀器,串口通訊的網路裝置等
一、引子其實沒有什麼好的例子引入解譯器模式,因為它描述了如何構成一個簡單的語言解譯器,主要應用在使用物件導向語言開發編譯器中;在實際應用中,我們可能很少碰到去構造一個語言的文法的情況。雖然你幾乎用不到這個模式,但是看一看還是能受到一定的啟發的。二、定義與結構解譯器模式的定義如下:定義語言的文法,並且建立一個解譯器來解釋該語言中的句子。它屬於類的行為模式。這裡的語言意思是使用規定格式和文法的代碼。在GOF的書中指出:如果一種特定類型的問題發生的頻率足夠高,那麼可能就值得將該問題的各個執行個體表述為
假設這樣一種情況,我們的系統的介面使用javax.swing包構建,介面的基礎是BaseView,他是一個容器,當然他應當提供擷取控制項元素的功能,比如得到按鈕,下拉框,表格等,當然僅僅是一個容器而已,而我們的介面的元素全部部署在JPanel上。描述為:一個介面就是一個BaseView,他只包含一個JPanel,這個包含JPanel包含所有我們的Swing控制項,例如JButton,JLable等等。問題出現了:我們通常因為業務的需要完成一個介面的操作要自動跳轉到下一個介面,完成下一個介面又能跳
概述面向方面的程式設計(AOP)是一個激動人心的新規範,和已經有十幾年歷史的物件導向的程式設計(OOP)在軟體開發上有相同的作用。 AOP和OOP不是相互競爭的技術,實際上它們相輔相成的十分融洽。物件導向的程式設計對於建模常見的對象等級體系非常有用。 它的不足之處在於處理跨多個非關聯物件模型的常見情況;這時就有AOP的用武之地了。AOP允許你跨關聯,使用單獨的、彼此之間非常不同的物件模型。 它允許你層次化--而不是嵌入--函數,以便代碼更易讀、更便於維護。
一、AOP編程概覽物件導向編程技術進入軟體開發的主流對軟體的開發方式產生了極大的影響,開發人員可以用一組實體以及這些實體之間的關係將系統形象地表示出來,這使得他們能夠設計出規模更大、更複雜的系統,開發週期也比以前更短。OO開發的唯一問題是,它本質上是靜態,需求的細微變化就可能對開發進度造成重大影響。Aspect-Oriented
1 Java與資料庫應用,JDBCJava發明以來,在短短的幾年之間,迅速佔領了從案頭應用(J2SE)到伺服器(J2EE),再到小型裝置嵌入式系統(J2ME)的應用開發市場,其語言吸取了SmallTalk的一切皆對象的理念,擺脫了C++的曆史累贅,簡潔、自由的風格贏得了很多開發人員的喜愛。從JDK1.1開始,Java成為實用的語言,而不是被人觀望的新品秀;再經過JDK1.2的大量增強(尤其是Collection Framework),JDK1.3的虛擬機器效率提升(HotSpot),JDK1.4
作為異軍突起的新型語言,Java定義了一個標準的運行環境,使用者定義的類在其中得到執行。這些使用者自訂類的執行個體代表了真實環境中的資料,包括儲存在資料庫、檔案或某些大型交易處理系統中的資料,而小型系統通常也需要一種在本地負責控制資料存放區的機制。由於資料訪問技術在不同的資料來源類型中是不一樣的,因此對資料進行訪問成了給程式開發人員的一種挑戰,程式員需要對每一種類型的資料來源使用特定的編程介面(API),即必須至少知道兩種語言來基於這些資料來源開發業務應用:Java語言和由資料來源所決定的資料訪
對於一個能夠訪問原始碼的經驗豐富的Java開發人員來說,任何程式都可以被看作是博物館裡透明的模型。類似線程轉儲(dump)、方法調用跟蹤、斷點、切面(profiling)統計表等工具可以讓我們瞭解程式目前正在執行什麼操作、剛才做了什麼操作、未來將做什麼操作。但是在產品環境中情況就沒有那麼明顯了,這些工具一般是不能夠使用的,或最多隻能由受過訓練的開發人員使用。支援小組和終端使用者也需要知道在某個時刻應用程式正在執行什麼操作。為了填補這個空缺,我們已經發明了一些簡單的替代品,例如記錄檔(典型情況下用
在撰寫本文時,夏季即將結束,新的學年就要開始,Twitter 的伺服器上不 斷湧現出世界各地的網蟲和非網蟲們發布的更新。對於我們很多身在北美的人來 說,從海灘聚會到足球,從室外娛樂到室內項目,各種各樣的想法紛至遝來。為 了跟上這種形勢,是時候重訪 Scitter 這個用於訪問 Twitter 的 Scala 客戶 機庫了。如果 到目前為止 您一直緊隨 Scitter 的開發,就會知道,這個庫現在能夠 利用各種不同的 Twitter API 查看使用者的好友、追隨者和時間軸,以及其他內 容。但是,
socket是基於TCP和UDP協議的高層介面,定義了收發資料的格式。Java的TCP服務中使用的Socket是一 種流機制,即對於編程人員來說,處理socket只需要從Socket中擷取流,然後可以像處理本地流一樣來進 行資料的收發。例如:DataOutputStream outToClient =new DataOutputStream(socket.getOutputStream());BufferedReader inFromClient =new BufferedReader(new
Java
本教程將展示如何建立一個 Java 的傳統型應用程式,用來訪問以及更新資料庫。本教程利用 NetBeans IDE 6.0 支援的以下技術:Java 持久化 API (JPA),協助你使用Java 代碼來與資料庫接合Beans 綁定技術 (JSR 295) ,為不同的JavaBeans 控制項提供一種方式來相互同步屬性值。舉一個例子, 你可以使用 Beans 綁定技術來保持 JTable 可視化控制項中各單元的值與實體類中各域的值同步。(在這裡,實體類表示資料表)Swing 應用程式架構
對於作Java案頭應用來說,比較煩人的就是安裝部署問題,用戶端是否安裝 有jre、jre版本問題、jre去哪下載、如何用jre啟動你的Java應用?不要說剛接 觸電腦的人,就算是比較熟悉電腦,如果沒有接觸過Java,面對一個Java應用, 如何在Windows下啟動它,估計都會折騰半天。如果不是因為這個問題,Java在 我的眼裡算是最完美的語言了,也是我最喜愛的語言。所以我認為這個是導致Java案頭應用被一些人所討厭的最大原因,Java的優
以前一直感覺Java的案頭應用沒有什麼優勢,特別是在UI設計上,單從布局 管理器上就讓人難受。設計的效率太過低下,所以一直從事java web。不過最近使用了Netbeans的swing案頭工程項目,感覺在UI設計上用起來已經 很舒適。不用再去管什麼布局管理器了,直接拖放就可以,很智能,使用起來很 快捷。以前也有JBuilder但是感覺沒有NetBeans用起來舒服。這幾天,順便作了個Mp3線上搜尋器,實際上也只是借用了強大的百度Mp3搜 索功能,借花獻佛,0.5版,
什麼是包Java中的包(Package)其實指的就是目錄,它是為了更好地管理Java類(Class)和介面(Interface)。Java語言的包可以被另一個Java開發包所使用。如果我們要引用某個包中的類,用import關鍵字來標明即可。比如:import java.util.date=new Date提示:import java.util.表示java.util中的所有公有類和介面被引入到當前包。這裡的匹配符可以調入多個類名。常用的Java標準包JDK為我們提供了很多標準的Java類和介面,
我有一個Java程式,啟動了七個線程,這些線程都形如:public void run() {while (true) {try {......} catch (Throwable t)
摘要: 在軟體開發中,我們經常面臨著處理長時間任務的多線程編程問題。在我們的ezOne平台的開發中就多處涉及到,如JPC資料服務JPC資料處理服務 警示聯動 門禁系統等。本人在編寫DEMO程式的過程中幾易其稿,煞費心機,但依然感覺有許多地方需要改進,為了減少多線程編程帶來的風險,我翻譯整理了一個類似問題的解決方案架構以達到一勞永逸。 為了便於閱讀,保留原文。引用請保留作者和文章來源。關鍵詞: Thread、 Lock 、
很多的J2EE應用程式需要使用持久性資料(資料庫、檔案等)。不同的程式,持久性儲存是各不相同的,並且用來訪問這些不同的持久性儲存機制的API也有很大的不同。如果應用程式要在不同的持久性儲存間遷移,這些訪問特定持久儲存層的代碼將面臨重寫。如何解決這個問題?且看"DAO模式"Data Access Objects(Data Acess Object)
只要有表格,就會有Microsoft Excel,用Microsoft Excel處理資料已成為不少人的習慣。Jakarta POI API就為Java程式員提供了一條存取Microsoft文檔格式的神奇之路,其中最成熟的就是能存取Microsoft Excel文檔的HSSF API。本篇文章就舉例示範如何利用Java 建立和讀取Excel文檔,並設定儲存格的字型和格式。為了保證樣本程式的運行,必須安裝Java 2 sdk1.4.0 和Jakarta POI,Jakarta
因為論壇有人問到這個問題,所以就寫了這篇文章。希望對大家有所協助。一般來講,要用java得到硬碟空間,有3種方法:1. 調用system的command,然後分析得到的結果,這種方法有很強的系統依賴性,linux下和win下要分別寫程式。下面是一個win下的例子,編譯成功之後,運行java Diskspace yourdir(比如c:\)import java.io.BufferedReader;import java.io.InputStreamReader; /*** Determine