出版時間:2010年4月 出版社:機(jī)械工業(yè)出版社 作者:Eric J. Bruno,Greg Bollella 頁數(shù):270 譯者:田思源
Tag標(biāo)簽:無
前言
將廣泛使用的Java應(yīng)用于實時領(lǐng)域,是一項有益的探索?! ava因其自身特點,如垃圾回收和即時編譯,并不適合實時應(yīng)用。從另一個角度看,Java廣大的用戶群和成熟的開發(fā)環(huán)境,對于降低實時系統(tǒng)采用專用語言和操作系統(tǒng)環(huán)境所造成的開發(fā)門檻,有著相當(dāng)?shù)奈??! ava實時規(guī)范(RTSJ,也稱為JSR-001)和Java實時系統(tǒng)(Java RTS)是在這個方向的一個嘗試,并取得了不錯的進(jìn)展?! ∧壳?,Java RTS還有其局限,例如,不支持硬實時?! ”緯榻B了實時系統(tǒng)的基本原理和概念、Java的垃圾回收、如何使用Java RTS的API 解決實際問題、實時垃圾回收、線程調(diào)度和分派、新的RTSJ內(nèi)存模型,以及異步事件處理和異步控制轉(zhuǎn)移。 本書第三部分給出了一個用Java RTS實現(xiàn)的證券交易系統(tǒng)的例子,以及從從非實時Java到RTS的轉(zhuǎn)變過程和它們之間的差別。同時,還介紹了開發(fā)用到的有關(guān)工具,主要包括基于Netbeans和Eclipse的集成開發(fā)環(huán)境、線程調(diào)度展示臺和Java RTS Dtrace 探針?! ”緯赗TSJ 1.0.2和Java RTS 2.1。Java RTS 2.2已于2009年9月發(fā)布?! ∠M芸吹絁ava RTS的進(jìn)一步發(fā)展和真正的實際應(yīng)用?! ≡诜g過程中,得到了機(jī)械工業(yè)出版社華章公司的朋友陳冀康的大力幫助,在此表示感謝?! ∽詈?,我要感謝外甥女妞妞對我的支持和幫助。 由于時間有限,書中難免存在譯釋不當(dāng)之處,懇請讀者批評指正。
內(nèi)容概要
本書主要講述使用Java RTS進(jìn)行Java實時編程的各類主題。主要內(nèi)容包括3個部分:第一部分“實時計算概念”,明確定義計算領(lǐng)域中的實時概念,并討論了許多實時應(yīng)用程序設(shè)計和開發(fā)的理論;第二部分“高級Java RTS”,提供充足的示例代碼來說明Java RTS的內(nèi)部運作機(jī)制及其使用;第三部分“使用Java RTS”,討論了實際的案例研究。 本書適合Java程序開發(fā)人員、實時軟件開發(fā)人員,以及使用Java RTS編程的人員使用,也可供高等院校老師和學(xué)生參考。
作者簡介
Eric J.Brun0,Sun公司系統(tǒng)工程師,專門從事于金融界的Java RTS。他是《Dr.Dobb’s Jour-hal》的撰稿編輯,并撰寫其在線Java博客。加入Sun之前,Eric曾在路透社工作,在那里他用Java和C++開發(fā)實時交易系統(tǒng)、訂單輸入和路由系統(tǒng),以及實時新聞和報價數(shù)據(jù)源系統(tǒng)。
書籍目錄
譯者序 前言 致謝 作者簡介 第一部分 實時計算概念 第1章 實時系統(tǒng)概述 1.1 實時系統(tǒng)質(zhì)量 1.2 可預(yù)見性和確定性 1.3 實時計算 1.4 實時調(diào)度 1.5 參考資料 第2章 實時與Java SE 2.1 Java是實時語言嗎 2.2 垃圾回收 2.3 Sun Java SE 6 HotSpot中的垃圾回收 2.4 實時垃圾回收算法 2.5 Java的困境 第3章 Java實時規(guī)范 3.1 實時 Java 基礎(chǔ) 3.2 RTSJ內(nèi)部機(jī)制 3.3 可選的RTSJ工具 3.4 實時Java 的未來 第4章 Sun Java實時系統(tǒng) 4.1 Java RTS程序設(shè)計的前奏 4.2 安裝Java RTS 4.3 確定性指南 4.4 命令行選項 第二部分 高級Java RTS 第5章 線程、調(diào)度與新內(nèi)存模型 5.1 可調(diào)度對象 5.2 實時線程 5.3 內(nèi)存模型 第6章 同步 6.1 資源共享 6.2 非等待線程通信 第7章 實時時鐘API 7.1 Clock API 7.2 Java RTS高精度時間操作 7.3 疊加的股票數(shù)據(jù)提供的例子 第8章 異步事件 8.1 異步事件處理 8.2 創(chuàng)建一個異步事件處理程序 8.3 基于時間的事件 第9章 異步控制轉(zhuǎn)移和線程終止 9.1 異步控制轉(zhuǎn)移 9.2 異步線程終止 第10章 實時垃圾回收器內(nèi)部機(jī)制 10.1 RTGC操作理論 10.2 RTGC內(nèi)存分配 10.3 RTGC策略 第三部分 使用Java RTS 第11章 證券交易系統(tǒng) 11.1 股票市場 11.2 交易系統(tǒng)實現(xiàn) 11.3 Java SE版本 11.4 Java RTS 版本 11.5 Java RTS 沒有堆的版本 11.6 應(yīng)用程序配置 第12章 Java RTS工具 12.1 Java RTS開發(fā) 12.2 線程調(diào)度展示臺(TSV) 12.3 Java RTS DTrace探針 參考文獻(xiàn)
章節(jié)摘錄
1.3 實時計算 現(xiàn)在,你已經(jīng)了解了實時是什么以及它意味著什么,現(xiàn)在要對它加以擴(kuò)展。實時計算是針對真實世界的時間關(guān)鍵制約因素建設(shè)應(yīng)用系統(tǒng)的研究與實踐。實時系統(tǒng)必須在某個時間或針對某個最后期限響應(yīng)外部(往往是物理的)真實世界的事件。實時系統(tǒng)整體通常包括硬件和軟件。傳統(tǒng)上,實時系統(tǒng)是專門設(shè)計的系統(tǒng),為特定使用而實施。最近實時社區(qū)才專注于用通用計算機(jī)系統(tǒng)(硬件或軟件)來解決實時問題?! 〗裉?,需要特定的專用硬件的實時系統(tǒng)已大部分消失了。例如,現(xiàn)代的芯片組包括可用于實時應(yīng)用的具有足夠小的延遲精度的可編程中斷控制器。因此,對實時要求的支持已經(jīng)轉(zhuǎn)移到軟件,即專門的調(diào)度程序和資源控制程序。曾經(jīng)蝕刻到特殊電路的算法現(xiàn)在用通用計算機(jī)的軟件實現(xiàn)。 這并不是說,在實時系統(tǒng)中,不需要硬件支持。例如,許多實時系統(tǒng)可能會要求訪問可編程中斷控制器的低延遲中斷和調(diào)度、高精度時鐘的精確計時、直接物理內(nèi)存訪問或一個高速緩存。大多數(shù)現(xiàn)代的計算機(jī)硬件,包括服務(wù)器、工作站,甚至是臺式機(jī)和筆記本電腦,支持這些要求。蔗線是運行在這些硬件上的操作系統(tǒng)軟件是否支持訪問這些硬件設(shè)施?! ∈聦嵣?,操作系統(tǒng)可能直接通過其調(diào)度實現(xiàn)支持實時任務(wù),或可能至少允許替代調(diào)度算法到位。然而,許多通用操作系統(tǒng)的任務(wù)調(diào)度實現(xiàn)不同于實時系統(tǒng)的目標(biāo)。其他一些因素,如整個系統(tǒng)的吞吐量,前臺應(yīng)用程序的性能和GUI刷新率,可能是有利于個別任務(wù)的延遲要求。事實上,在一個通用系統(tǒng)中,可能沒有辦法精確確定或衡量一個應(yīng)用程序的延遲要求和實際結(jié)果?! ∪欢谕ㄓ玫牟僮飨到y(tǒng)上,仍有可能實現(xiàn)實時行為,并滿足實時任務(wù)的最后期限。事實上,這是Java RTS和RTSJ憲章要解決的一個目標(biāo):在通用硬件和實時操作系統(tǒng)上的Java的實時行為。在現(xiàn)實中,只有一些通用系統(tǒng)可以支持?! ”菊碌挠嘞虏糠指攀隽藢崟r系統(tǒng)調(diào)度任務(wù)所涉及的理論和機(jī)制。必須明確的是,實時調(diào)度理論需要大量的數(shù)學(xué)用于描述以透徹理解。這里有充分的理由:一個系統(tǒng)要求滿足每一個行動的最后期限,否則,如果錯過了,可能產(chǎn)生可怕的后果,你需要保證最大的精度。表征和保證系統(tǒng)的行為,數(shù)學(xué)是做到這一點的唯一辦法。但是,我們會試圖討論這個問題,而不使你受限于過深的數(shù)學(xué)概念。取而代之的是,使用類比、說明和圖形表示使概念具體化,到令平均水平的程序員應(yīng)該感覺很舒服的程度。當(dāng)然,也為那些對更深的數(shù)學(xué)和科學(xué)的問題感興趣的人提供了進(jìn)一步的閱讀材料?! ?.3.1 高速公路類比 一種最簡單的描述實時系統(tǒng)的動態(tài)調(diào)度任務(wù)的方法是用高速公路作類比。在開車時,我們都經(jīng)歷過大交通流量的影響;即不可預(yù)測的大量時間花在了等待上,而不是向目標(biāo)前進(jìn)。這種情況與實時系統(tǒng)或任何系統(tǒng)的任務(wù)調(diào)度有驚人的相似之處。對于汽車交通,調(diào)度的項目是車輛,而它們共享的資源是道路空間。
編輯推薦
面向開發(fā)者和架構(gòu)師的Java RTS權(quán)威指南?! ∶嫦蜣D(zhuǎn)向?qū)崟r系統(tǒng)領(lǐng)域的Java開發(fā)者和架構(gòu)師,以及轉(zhuǎn)向Java的實時系統(tǒng)開發(fā)者?! 念^至尾逐步分析應(yīng)用示例,確定其限制并討論解決它們的API和設(shè)計模式?! ∽髡邽閷崟rJava標(biāo)準(zhǔn)過程的前任組長和華爾街實時系統(tǒng)的頂級開發(fā)者?! un公司的Java實時系統(tǒng)(Java RTS)在多個廣泛的環(huán)境中得到了實踐驗證,其中包括金融、控制系統(tǒng)、制造和防務(wù)。Java RTS和RTSJ標(biāo)準(zhǔn)(JSR-001)消除了對于復(fù)雜、專用的實時語言和操作系統(tǒng)的需要,利用Java超常的生產(chǎn)率和為人所熟知的特點,節(jié)省了資金。 在實時Java編程中,Sun公司的兩位實時編程專家介紹了開發(fā)者成功使用Java RTS及其API所需要的深入知識和實際代碼示例,并闡明了用任何RTSJ兼容的環(huán)境進(jìn)行實時編程的基礎(chǔ)。 《Java 實時編程》的內(nèi)容包括: 實時原理和概念,以及實時應(yīng)用設(shè)計和開發(fā)的獨特要求?! ∪绾伟袹ava應(yīng)用于實時環(huán)境?! ±厥蘸蚃ava SE回收器。 使用Java RTS API盡可能高效地解決實際實時系統(tǒng)問題。 當(dāng)前領(lǐng)先的Java RTS開發(fā)和調(diào)試工具?! 崟r垃圾回收、線程、調(diào)度和分派。 新的RTSJ內(nèi)存模型。 異步事件處理和異步控制轉(zhuǎn)移。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載