Java 實(shí)時(shí)編程

出版時(shí)間:2010年4月  出版社:機(jī)械工業(yè)出版社  作者:Eric J. Bruno,Greg Bollella  頁(yè)數(shù):270  譯者:田思源  
Tag標(biāo)簽:無(wú)  

前言

  將廣泛使用的Java應(yīng)用于實(shí)時(shí)領(lǐng)域,是一項(xiàng)有益的探索?! ava因其自身特點(diǎn),如垃圾回收和即時(shí)編譯,并不適合實(shí)時(shí)應(yīng)用。從另一個(gè)角度看,Java廣大的用戶群和成熟的開(kāi)發(fā)環(huán)境,對(duì)于降低實(shí)時(shí)系統(tǒng)采用專用語(yǔ)言和操作系統(tǒng)環(huán)境所造成的開(kāi)發(fā)門檻,有著相當(dāng)?shù)奈?。  Java實(shí)時(shí)規(guī)范(RTSJ,也稱為JSR-001)和Java實(shí)時(shí)系統(tǒng)(Java RTS)是在這個(gè)方向的一個(gè)嘗試,并取得了不錯(cuò)的進(jìn)展?! ∧壳埃琂ava RTS還有其局限,例如,不支持硬實(shí)時(shí)。  本書(shū)介紹了實(shí)時(shí)系統(tǒng)的基本原理和概念、Java的垃圾回收、如何使用Java RTS的API 解決實(shí)際問(wèn)題、實(shí)時(shí)垃圾回收、線程調(diào)度和分派、新的RTSJ內(nèi)存模型,以及異步事件處理和異步控制轉(zhuǎn)移?! ”緯?shū)第三部分給出了一個(gè)用Java RTS實(shí)現(xiàn)的證券交易系統(tǒng)的例子,以及從從非實(shí)時(shí)Java到RTS的轉(zhuǎn)變過(guò)程和它們之間的差別。同時(shí),還介紹了開(kāi)發(fā)用到的有關(guān)工具,主要包括基于Netbeans和Eclipse的集成開(kāi)發(fā)環(huán)境、線程調(diào)度展示臺(tái)和Java RTS Dtrace 探針?! ”緯?shū)基于RTSJ 1.0.2和Java RTS 2.1。Java RTS 2.2已于2009年9月發(fā)布?! ∠M芸吹絁ava RTS的進(jìn)一步發(fā)展和真正的實(shí)際應(yīng)用?! ≡诜g過(guò)程中,得到了機(jī)械工業(yè)出版社華章公司的朋友陳冀康的大力幫助,在此表示感謝。  最后,我要感謝外甥女妞妞對(duì)我的支持和幫助。  由于時(shí)間有限,書(shū)中難免存在譯釋不當(dāng)之處,懇請(qǐng)讀者批評(píng)指正。

內(nèi)容概要

本書(shū)主要講述使用Java RTS進(jìn)行Java實(shí)時(shí)編程的各類主題。主要內(nèi)容包括3個(gè)部分:第一部分“實(shí)時(shí)計(jì)算概念”,明確定義計(jì)算領(lǐng)域中的實(shí)時(shí)概念,并討論了許多實(shí)時(shí)應(yīng)用程序設(shè)計(jì)和開(kāi)發(fā)的理論;第二部分“高級(jí)Java RTS”,提供充足的示例代碼來(lái)說(shuō)明Java RTS的內(nèi)部運(yùn)作機(jī)制及其使用;第三部分“使用Java RTS”,討論了實(shí)際的案例研究。    本書(shū)適合Java程序開(kāi)發(fā)人員、實(shí)時(shí)軟件開(kāi)發(fā)人員,以及使用Java RTS編程的人員使用,也可供高等院校老師和學(xué)生參考。

作者簡(jiǎn)介

Eric J.Brun0,Sun公司系統(tǒng)工程師,專門從事于金融界的Java RTS。他是《Dr.Dobb’s Jour-hal》的撰稿編輯,并撰寫(xiě)其在線Java博客。加入Sun之前,Eric曾在路透社工作,在那里他用Java和C++開(kāi)發(fā)實(shí)時(shí)交易系統(tǒng)、訂單輸入和路由系統(tǒng),以及實(shí)時(shí)新聞和報(bào)價(jià)數(shù)據(jù)源系統(tǒng)。

書(shū)籍目錄

譯者序 前言 致謝 作者簡(jiǎn)介 第一部分 實(shí)時(shí)計(jì)算概念   第1章 實(shí)時(shí)系統(tǒng)概述     1.1 實(shí)時(shí)系統(tǒng)質(zhì)量     1.2 可預(yù)見(jiàn)性和確定性     1.3 實(shí)時(shí)計(jì)算     1.4 實(shí)時(shí)調(diào)度     1.5 參考資料   第2章 實(shí)時(shí)與Java SE     2.1 Java是實(shí)時(shí)語(yǔ)言嗎     2.2 垃圾回收     2.3 Sun Java SE 6 HotSpot中的垃圾回收     2.4 實(shí)時(shí)垃圾回收算法     2.5 Java的困境   第3章 Java實(shí)時(shí)規(guī)范     3.1 實(shí)時(shí) Java 基礎(chǔ)     3.2 RTSJ內(nèi)部機(jī)制     3.3 可選的RTSJ工具     3.4 實(shí)時(shí)Java 的未來(lái)   第4章 Sun Java實(shí)時(shí)系統(tǒng)     4.1 Java RTS程序設(shè)計(jì)的前奏     4.2 安裝Java RTS     4.3 確定性指南     4.4 命令行選項(xiàng) 第二部分 高級(jí)Java RTS   第5章 線程、調(diào)度與新內(nèi)存模型     5.1 可調(diào)度對(duì)象     5.2 實(shí)時(shí)線程     5.3 內(nèi)存模型   第6章 同步     6.1 資源共享     6.2 非等待線程通信   第7章 實(shí)時(shí)時(shí)鐘API     7.1 Clock API     7.2 Java RTS高精度時(shí)間操作     7.3 疊加的股票數(shù)據(jù)提供的例子   第8章 異步事件     8.1 異步事件處理     8.2 創(chuàng)建一個(gè)異步事件處理程序     8.3 基于時(shí)間的事件   第9章 異步控制轉(zhuǎn)移和線程終止     9.1 異步控制轉(zhuǎn)移     9.2 異步線程終止   第10章 實(shí)時(shí)垃圾回收器內(nèi)部機(jī)制     10.1 RTGC操作理論     10.2 RTGC內(nèi)存分配     10.3 RTGC策略 第三部分 使用Java RTS   第11章 證券交易系統(tǒng)     11.1 股票市場(chǎng)     11.2 交易系統(tǒng)實(shí)現(xiàn)     11.3 Java SE版本     11.4 Java RTS 版本     11.5 Java RTS 沒(méi)有堆的版本     11.6 應(yīng)用程序配置    第12章 Java RTS工具     12.1 Java RTS開(kāi)發(fā)     12.2 線程調(diào)度展示臺(tái)(TSV)     12.3 Java RTS DTrace探針   參考文獻(xiàn)

章節(jié)摘錄

  1.3 實(shí)時(shí)計(jì)算  現(xiàn)在,你已經(jīng)了解了實(shí)時(shí)是什么以及它意味著什么,現(xiàn)在要對(duì)它加以擴(kuò)展。實(shí)時(shí)計(jì)算是針對(duì)真實(shí)世界的時(shí)間關(guān)鍵制約因素建設(shè)應(yīng)用系統(tǒng)的研究與實(shí)踐。實(shí)時(shí)系統(tǒng)必須在某個(gè)時(shí)間或針對(duì)某個(gè)最后期限響應(yīng)外部(往往是物理的)真實(shí)世界的事件。實(shí)時(shí)系統(tǒng)整體通常包括硬件和軟件。傳統(tǒng)上,實(shí)時(shí)系統(tǒng)是專門設(shè)計(jì)的系統(tǒng),為特定使用而實(shí)施。最近實(shí)時(shí)社區(qū)才專注于用通用計(jì)算機(jī)系統(tǒng)(硬件或軟件)來(lái)解決實(shí)時(shí)問(wèn)題。  今天,需要特定的專用硬件的實(shí)時(shí)系統(tǒng)已大部分消失了。例如,現(xiàn)代的芯片組包括可用于實(shí)時(shí)應(yīng)用的具有足夠小的延遲精度的可編程中斷控制器。因此,對(duì)實(shí)時(shí)要求的支持已經(jīng)轉(zhuǎn)移到軟件,即專門的調(diào)度程序和資源控制程序。曾經(jīng)蝕刻到特殊電路的算法現(xiàn)在用通用計(jì)算機(jī)的軟件實(shí)現(xiàn)?! ∵@并不是說(shuō),在實(shí)時(shí)系統(tǒng)中,不需要硬件支持。例如,許多實(shí)時(shí)系統(tǒng)可能會(huì)要求訪問(wèn)可編程中斷控制器的低延遲中斷和調(diào)度、高精度時(shí)鐘的精確計(jì)時(shí)、直接物理內(nèi)存訪問(wèn)或一個(gè)高速緩存。大多數(shù)現(xiàn)代的計(jì)算機(jī)硬件,包括服務(wù)器、工作站,甚至是臺(tái)式機(jī)和筆記本電腦,支持這些要求。蔗線是運(yùn)行在這些硬件上的操作系統(tǒng)軟件是否支持訪問(wèn)這些硬件設(shè)施。  事實(shí)上,操作系統(tǒng)可能直接通過(guò)其調(diào)度實(shí)現(xiàn)支持實(shí)時(shí)任務(wù),或可能至少允許替代調(diào)度算法到位。然而,許多通用操作系統(tǒng)的任務(wù)調(diào)度實(shí)現(xiàn)不同于實(shí)時(shí)系統(tǒng)的目標(biāo)。其他一些因素,如整個(gè)系統(tǒng)的吞吐量,前臺(tái)應(yīng)用程序的性能和GUI刷新率,可能是有利于個(gè)別任務(wù)的延遲要求。事實(shí)上,在一個(gè)通用系統(tǒng)中,可能沒(méi)有辦法精確確定或衡量一個(gè)應(yīng)用程序的延遲要求和實(shí)際結(jié)果?! ∪欢谕ㄓ玫牟僮飨到y(tǒng)上,仍有可能實(shí)現(xiàn)實(shí)時(shí)行為,并滿足實(shí)時(shí)任務(wù)的最后期限。事實(shí)上,這是Java RTS和RTSJ憲章要解決的一個(gè)目標(biāo):在通用硬件和實(shí)時(shí)操作系統(tǒng)上的Java的實(shí)時(shí)行為。在現(xiàn)實(shí)中,只有一些通用系統(tǒng)可以支持?! ”菊碌挠嘞虏糠指攀隽藢?shí)時(shí)系統(tǒng)調(diào)度任務(wù)所涉及的理論和機(jī)制。必須明確的是,實(shí)時(shí)調(diào)度理論需要大量的數(shù)學(xué)用于描述以透徹理解。這里有充分的理由:一個(gè)系統(tǒng)要求滿足每一個(gè)行動(dòng)的最后期限,否則,如果錯(cuò)過(guò)了,可能產(chǎn)生可怕的后果,你需要保證最大的精度。表征和保證系統(tǒng)的行為,數(shù)學(xué)是做到這一點(diǎn)的唯一辦法。但是,我們會(huì)試圖討論這個(gè)問(wèn)題,而不使你受限于過(guò)深的數(shù)學(xué)概念。取而代之的是,使用類比、說(shuō)明和圖形表示使概念具體化,到令平均水平的程序員應(yīng)該感覺(jué)很舒服的程度。當(dāng)然,也為那些對(duì)更深的數(shù)學(xué)和科學(xué)的問(wèn)題感興趣的人提供了進(jìn)一步的閱讀材料。  1.3.1 高速公路類比  一種最簡(jiǎn)單的描述實(shí)時(shí)系統(tǒng)的動(dòng)態(tài)調(diào)度任務(wù)的方法是用高速公路作類比。在開(kāi)車時(shí),我們都經(jīng)歷過(guò)大交通流量的影響;即不可預(yù)測(cè)的大量時(shí)間花在了等待上,而不是向目標(biāo)前進(jìn)。這種情況與實(shí)時(shí)系統(tǒng)或任何系統(tǒng)的任務(wù)調(diào)度有驚人的相似之處。對(duì)于汽車交通,調(diào)度的項(xiàng)目是車輛,而它們共享的資源是道路空間。

編輯推薦

  面向開(kāi)發(fā)者和架構(gòu)師的Java RTS權(quán)威指南?! ∶嫦蜣D(zhuǎn)向?qū)崟r(shí)系統(tǒng)領(lǐng)域的Java開(kāi)發(fā)者和架構(gòu)師,以及轉(zhuǎn)向Java的實(shí)時(shí)系統(tǒng)開(kāi)發(fā)者?! 念^至尾逐步分析應(yīng)用示例,確定其限制并討論解決它們的API和設(shè)計(jì)模式?! ∽髡邽閷?shí)時(shí)Java標(biāo)準(zhǔn)過(guò)程的前任組長(zhǎng)和華爾街實(shí)時(shí)系統(tǒng)的頂級(jí)開(kāi)發(fā)者?! un公司的Java實(shí)時(shí)系統(tǒng)(Java RTS)在多個(gè)廣泛的環(huán)境中得到了實(shí)踐驗(yàn)證,其中包括金融、控制系統(tǒng)、制造和防務(wù)。Java RTS和RTSJ標(biāo)準(zhǔn)(JSR-001)消除了對(duì)于復(fù)雜、專用的實(shí)時(shí)語(yǔ)言和操作系統(tǒng)的需要,利用Java超常的生產(chǎn)率和為人所熟知的特點(diǎn),節(jié)省了資金?! ≡趯?shí)時(shí)Java編程中,Sun公司的兩位實(shí)時(shí)編程專家介紹了開(kāi)發(fā)者成功使用Java RTS及其API所需要的深入知識(shí)和實(shí)際代碼示例,并闡明了用任何RTSJ兼容的環(huán)境進(jìn)行實(shí)時(shí)編程的基礎(chǔ)?!  禞ava 實(shí)時(shí)編程》的內(nèi)容包括:  實(shí)時(shí)原理和概念,以及實(shí)時(shí)應(yīng)用設(shè)計(jì)和開(kāi)發(fā)的獨(dú)特要求。  如何把Java應(yīng)用于實(shí)時(shí)環(huán)境?! ±厥蘸蚃ava SE回收器?! ∈褂肑ava RTS API盡可能高效地解決實(shí)際實(shí)時(shí)系統(tǒng)問(wèn)題?! ‘?dāng)前領(lǐng)先的Java RTS開(kāi)發(fā)和調(diào)試工具?! ?shí)時(shí)垃圾回收、線程、調(diào)度和分派。  新的RTSJ內(nèi)存模型。  異步事件處理和異步控制轉(zhuǎn)移。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    Java 實(shí)時(shí)編程 PDF格式下載


用戶評(píng)論 (總計(jì)9條)

 
 

  •   java實(shí)時(shí)編程,內(nèi)容寫(xiě)的很好,正是我需要的
  •   內(nèi)容有些枯燥,但是開(kāi)啟了另一扇門,對(duì)JAVA又有了新的理解。
  •   Java提高篇,Java底層的一些實(shí)現(xiàn)原理
  •   很好,適合我這樣的自學(xué)者,用起來(lái)很上手
  •   我之前主要是看RTSJ的英文規(guī)范,有些不是很明白.現(xiàn)在結(jié)合著<Java實(shí)時(shí)編程>,很多API都很清晰了.這本書(shū)對(duì)于想在實(shí)時(shí)領(lǐng)域應(yīng)用Java的開(kāi)發(fā)人員來(lái)說(shuō),是一個(gè)很好的入門(只有少些翻譯有點(diǎn)難懂).總得來(lái)說(shuō)是一本實(shí)用的書(shū).
  •   總的來(lái)說(shuō)質(zhì)量還好,紙有點(diǎn)薄~書(shū)不是很厚,這個(gè)價(jià)格有有點(diǎn)高了~
    內(nèi)容還沒(méi)開(kāi)始看
    ps:當(dāng)當(dāng)?shù)乃俣群芸?,昨天下?點(diǎn)下的單,今天早上不到10點(diǎn)就到了~
  •   一向喜歡買書(shū),卻很少看書(shū)的家伙
  •   這本看起來(lái)有些吃力,不過(guò)還行可以理解
  •   不錯(cuò)的東東,雖然目前沒(méi)有涉及
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7