日韩精品 中文字幕 动漫,91亚洲午夜一区,在线不卡日本v一区v二区丶,久久九九国产精品自在现拍

注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計JAVA及其相關(guān)Java平臺組件開發(fā)

Java平臺組件開發(fā)

Java平臺組件開發(fā)

定 價:¥32.00

作 者: (美)Stuart Dabbs Halloway著;韓宏志譯
出版社: 清華大學(xué)出版社
叢編項:
標 簽: JAVA語言

ISBN: 9787302089346 出版時間: 2004-09-01 包裝: 簡裝本
開本: 26cm 頁數(shù): 233 字數(shù):  

內(nèi)容簡介

  Java不僅是一種面向?qū)ο笳Z言,也是一個面向組件的平臺。作為一個成功的平臺,Java提供諸多強大的功能。本書詳細討論了使用Java平臺開發(fā)組件的優(yōu)缺點,分析Java平臺的一些核心功能,如類加載、反射、串行化、與本機程序的交互操作和代碼生成等技術(shù)。通過本書的學(xué)習(xí),您不僅可了解到如何有效地開發(fā)Java程序,同時也可了解到如何有效地部署Java組件,以充分利用Java提供的所有特性,創(chuàng)建靈活的、可重用的二進制組件,定義在運行時可安全可靠地連接二進制組件所需的服務(wù)。本書主要內(nèi)容:·使用和維護類加載器·通過反射創(chuàng)建動態(tài)和通用服務(wù)·控制對象的串行化表示形式·加載和使用本機代碼組件·擴充Java類格式以添加自定義服務(wù)·通過代碼生成機制實現(xiàn)自動開發(fā)本書重點強調(diào)對Java程序的部署,以便于讀者充分利用Java一些強大但尚未推廣開的重要特性。本書前言本書詳細討論了Java平臺面向組件的特性,分析類加載、反射、串行化、本機交互操作及代碼生成等技術(shù)。本書對“組件”的定義獨特新穎:組件是一個獨立的生產(chǎn)和部署單元,可與其他組件結(jié)合,以組裝應(yīng)用程序。對象和組件是不同的概念。對象表示問題域的實體,而組件是被安裝解決方案的原子成分。但對象與組件互為補充,正確的設(shè)計應(yīng)兼顧二者。Java是備受開發(fā)者推崇的現(xiàn)代開發(fā)平臺,提供了創(chuàng)建類和組件所需要的基礎(chǔ)結(jié)構(gòu)。Java提供封裝、繼承和多態(tài)性,以支持面向?qū)ο蟮木幊痰戎匾δ?。Java還提供加載器和各種類型信息,以支持組件。本書將圍繞組件闡述如何有效使用Java的組件基礎(chǔ)結(jié)構(gòu)。Java加載器在運行時定位、加載和連接組件。用Java加載器您可以做如下工作?!癫渴鸺毩6冉M件●根據(jù)需要動態(tài)加載組件●從網(wǎng)絡(luò)上的其他計算機加載組件●從自定義存儲庫加載組件●創(chuàng)建存在于多個虛擬機的移動式代碼代理●導(dǎo)入非Java組件的服務(wù)加載器管理組件間的二進制邊界。在分布式應(yīng)用程序和多組件供應(yīng)商環(huán)境中,加載器用于定位和連接所有兼容的組件。類型信息描述一些代碼單元的功能。在某些開發(fā)環(huán)境中,類型信息僅存在于源代碼。而在Java中,類型信息不單純是一種源代碼,還是編譯類的內(nèi)在部分,可在運行時通過編程接口使用。因為Java類型信息從不被“編譯掉”,所以加載器使用它在運行時驗證類之間的鏈接。在應(yīng)用程序編程中,類型信息的作用如下?!翊谢疛ava對象的狀態(tài),以便在另一虛擬機上重建對象●在運行時創(chuàng)建動態(tài)代理,以提供可用于任何接口的通用服務(wù)●將數(shù)據(jù)轉(zhuǎn)換為另一種表示形式,以與非Java組件交互操作●將方法調(diào)用轉(zhuǎn)換成網(wǎng)絡(luò)消息●在Java和XML之間轉(zhuǎn)換,XML是企業(yè)系統(tǒng)的新通用語言●使用應(yīng)用程序?qū)S迷獢?shù)據(jù)為組件添加注釋通過類型信息,可使原本需要手動編碼的任務(wù)自動實現(xiàn)。此外,類型信息還有助于組件與未來平臺的兼容。讀者對象為了解Java應(yīng)用程序的整個生存期,不僅要考慮對象,還要考慮組件。本書討論作為組件平臺的Java的核心功能:類加載器,反射,串行化,以及與其他平臺的交互操作。本書適用于在Java中設(shè)計、開發(fā)或部署大量應(yīng)用程序的讀者。在閱讀本書前,應(yīng)了解Java語法的基本知識,并具有一些用Java編寫面向?qū)ο蟪绦虻慕?jīng)驗。本書并未特別介紹高級Java技術(shù),如遠程方法調(diào)用(RemoteMethodInvocation,RMI)、企業(yè)JavaBean(EnterpriseJavaBean,EJB)、JINI、Java服務(wù)器頁(JavaServerPage,JSP)、servlet或JavaBean。但蘊涵的主題是這些技術(shù)的重要基礎(chǔ)。通過學(xué)習(xí)本書介紹的組件服務(wù),可以理解這些高級技術(shù)的構(gòu)建原理,從而有效地加以應(yīng)用。安全性也是組件開發(fā)和部署的一個重要方面。由于篇幅所限,本書未對此做過多介紹。要詳細了解Java平臺上的安全性,請參見[Gon99](見本書最后的參考書目)。本書內(nèi)容全書分三部分。第1章簡要介紹了組件,第2章到第6章解釋Java平臺上的加載器和類型信息。第7章顯示這些服務(wù)的更高級使用。第1章介紹面向組件的編程。不僅在編譯時,而且在部署和運行時建立組件的關(guān)聯(lián)。本章提出組件編程的關(guān)鍵問題,并將這些問題與后續(xù)章節(jié)中討論的Java平臺服務(wù)聯(lián)系起來。在學(xué)習(xí)本書時,建議您首先閱讀第1章,之后可以按自己安排的順序閱讀其他章節(jié)。第2章討論如何使用類加載器和解決類加載故障。類加載器用于控制代碼加載,并在同一進程中創(chuàng)建代碼間的命名空間邊界。通過類加載器,可在運行時運態(tài)加載代碼,甚至可以從其他計算機加載。類加載器命名空間允許單個Java虛擬機中有同一個類的多個版本。使用類加載器,可在不關(guān)閉虛擬機的情況下重新加載更改的類。本章將介紹如何使用類加載器,類加載器委托模型如何創(chuàng)建命名空間,如何解決類加載故障,以及如何有效控制引導(dǎo)類路徑、擴展路徑和類路徑。第3章介紹Java類型信息。Java以二進制類格式保存類型信息。這意味著,即使在編譯Java程序后,仍可訪問字段名、字段類型和方法簽名。在運行時可通過反射訪問類型信息,可使用類型信息來構(gòu)建能為其他任何對象添加功能的通用服務(wù)。本章將討論動態(tài)調(diào)用、動態(tài)代理、包反射和自定義屬性的用法;還將討論反射性能。第4章討論Java串行化如何使用反射。串行化是一個很好的通用服務(wù)示例。不必預(yù)先了解類格式的任何知識,串行化可以跨越時間和空間,將代碼和狀態(tài)從一個虛擬機移至另一個虛擬機。學(xué)習(xí)本章您可以了解到:串行化格式如何嵌入其類型信息樣式,如何自定義表示形式;如何擴展默認串行化,如何用自定義外部化代碼完全替換,如何調(diào)整串行化,以隨代碼的演變來處理類的多個版本;如何驗證反串行化到應(yīng)用程序的對象,以及如何用指令注解串行化對象,以查找正確的類加載器。第5章返回到類加載器主題,討論如何實現(xiàn)自定義類加載器。盡管標準類加載器在大多數(shù)應(yīng)用程序中占據(jù)主導(dǎo)地位,但自定義類加載器的作用亦不容忽視。通過自定義類加載器,可在加載類時轉(zhuǎn)換類代碼。這些轉(zhuǎn)換包括解密,添加性能監(jiān)視指令,或甚至在運行時新建類。本章將介紹如何將自定義類加載器綁定到Java安全體系結(jié)構(gòu),如何編寫自定義類加載器,如何編寫可自定義加載類(以及其他任何類型資源)方式的協(xié)議處理程序。第6章介紹Java本機接口(JavaNativeInterface,JNI)。JNI是控制Java代碼與在其他環(huán)境中編寫的組件之間邊界的基本方式。Java和本機編程樣式存在較大差異,類加載、類型信息、資源管理、錯誤處理和數(shù)組存儲的方式等都存在顯著區(qū)別。Java提供一組低級別工具,將Java對象顯示給平臺本地代碼,和將平臺本地代碼顯示給Java對象。本章介紹如何使用JNI應(yīng)用程序編程接口(API)實現(xiàn)Java和本機編程樣式之間的轉(zhuǎn)換。JNI存在諸多不足,為此,本書編排了附錄A以介紹更高級的方法。第7章討論使用Java元數(shù)據(jù)自動創(chuàng)建源代碼或字節(jié)碼。生成代碼是一種高性能重用策略,因為您只用生成在運行時需要的準確代碼路徑。本章首先介紹JSP和EJB,將此作為自動生成代碼的已有應(yīng)用程序示例,然后介紹在自己的程序中生成代碼的一些觀點。附錄A返回到交互操作主題。在第7章介紹的代碼生成技術(shù)的基礎(chǔ)上,附錄A介紹如何在Java和另一組件平臺Win32/COM之間創(chuàng)建交互操作層。本章以Jawin開放源庫為例,闡釋如何為Win32對象生成Java占位程序,或由Java占位程序生成Win32對象。示例代碼、Web站點和反饋除非特別聲明,本書所有示例代碼都是開放源代碼,可從Web站點http://staff.Develop.com/halloway/compsvcs下載。除非特別聲明,書中代碼都在Java2SDK1.3版本中經(jīng)過編譯和測試。大多數(shù)代碼也可用于SDK1.2、1.3和1.4版;若出現(xiàn)特例,本書將列出一個到適當SDK版本的特定引用。歡迎您對本書提出評論、更正和反饋意見,請將電子郵件發(fā)送到stu@develop.com。

作者簡介

暫缺《Java平臺組件開發(fā)》作者簡介

圖書目錄

第1章 從對象到組件
第2章 類加載器體系結(jié)構(gòu)
2.1 組狀應(yīng)用程序
2.2 類加載器結(jié)構(gòu)的目標
2.1.1 透明性
2.2.2 可擴展性
2.2.3 功能豐富
2.2.4 可配置性
2.2.5 處理命名和版本沖突
2.2.6 安全性
2.3 顯式和隱式類加載
2.3.1 用URLClassloader顯示加載
2.3.2 隱式類加載
2.3.3 引用類型與已引用類
2.3.4 Classloader.loadClass與Class.forName
2.3.5 加載非類資源
2.4 類加載
2.4.1 一致性規(guī)則
2.4.2 委托規(guī)則
2.4.3 可見性規(guī)則
2.4.4 委托用作命名空間
2.4.5 非Singleton模式的靜態(tài)字段
2.4.6 隱式加載隱藏了大多數(shù)細節(jié)
2.5 熱部署
2.6 卸載類
2.7 引導(dǎo)類路徑\擴展路徑和類路徑
2.7.1 類路徑
2.7.2 擴展路徑
2.7.3 引導(dǎo)類路徑
2.8 調(diào)試類加載結(jié)構(gòu)
2.8.1 改編應(yīng)用程序
2.8.2 使用verbose:class標志
2.8.3 改編內(nèi)核APl
2.9 倒置問題和上下文類加載器
2.10 小結(jié)
2.11 資源
第3章 類型信息和反射
3.1 二進制類格式
3.1.1 二進制兼容性
3.1.2 二進制類元數(shù)據(jù)
3.1.3 從二進制類到反射
3.2 反射
3.2.1 反射字段
3.2.2 get和getDeclared的區(qū)別
3.2.3 運行時出現(xiàn)的類型錯誤
3.2.4 反射方法
3.3 反射調(diào)用
3.3.1 反射啟動器
3.3.2 包裝基本類型
3.3.3 避開語言訪問規(guī)則
3.3.4 反射調(diào)用引發(fā)的異常
3.4 動態(tài)代理
3.4.1 用委托代替實現(xiàn)繼承
3.4.2 動態(tài)代理使委托通用化
3.4.3 實現(xiàn)InvocationHandler'
3.4.4 實現(xiàn)轉(zhuǎn)發(fā)處理程序
3.4.5 將InvocationHandler用作通用服務(wù)
3.4.6 處理InvocationHandler中的異常
3.4.7 客戶程序或服務(wù)器都可安裝代理
3.4.8 動態(tài)代理的優(yōu)點
3.5 反射性能
3.6 包反射
3.6.1 設(shè)置包元數(shù)據(jù)
3.6.2 訪問包元數(shù)據(jù)
3.6.3 封裝包
3.6.4 版本控制機制的弱點
3.7 自定義元數(shù)據(jù)
3.8 小結(jié)
3.9 資源
第4章 串行化處理機制
4.1 串行化處理和元數(shù)據(jù)
4.2 串行化基礎(chǔ)知識
4.2.1 串行化忽略的一些字段
4.2.2 串行化與類構(gòu)造函數(shù)
4.3 使用readObject和writeObject
4.4 將流與類匹配
4.4.1 serialVersionUID
4.4.2 重寫默認SUID
4.4.3 兼容的和不兼容的更改
4.5 顯式管理可串化字段
4.5.1 ObjectlnputStream.GetField應(yīng)用提示
4.5.2 編寫器對格式的處理
4.5.3 重寫類元數(shù)據(jù)
4.5.4 性能問題
4.5.5 自定義類描述符
4.6 停用元數(shù)據(jù)
4.6.1 在defaultWriteObiect后寫入自定義數(shù)據(jù)
4.6.2 可外部化
4.6.3 用writeObiect只寫入原始數(shù)據(jù):錯誤做滋
4.7 對象圖
4.7.1 用Transient關(guān)鍵字縮減圖大小
4.7.2 保存標識
4.7.3 通過reset關(guān)鍵字來利用無用單元收集器
4.8 對象替換
4.8.1 流控制替換
4.8.2 類控制替換
4.8.3 替換的排序規(guī)則
4.8.4 控制圖排序
4.9 查找類代碼
4.9.1 RMI中的注解
4.9.2 RMIMarshalledObject
4.10 小結(jié)
4.11 資源
第5章 自定義類加載器
5.1 Java2安全性
5.2 自定義類加載器
5.2.1 Java2之前的自定義類加載器
5.2.2 SDKl.2后的類加載
5.2.3 轉(zhuǎn)換類加載器
5.3 協(xié)議處理程序
5.3.1 實現(xiàn)處理程序
5.3.2 安裝自定義處理程序
5.3.3 加載器和處理程序之間的選擇
5.4 為需要的加載器傳遞安全性
5.5 讀取自定義元數(shù)據(jù)
5.5.1 版本屬性示例
5.5.2 可串行類用作屬性
5.5.3 在類加載時讀取屬性
5.5.4 調(diào)試支持
5.6 小結(jié)
5.7 資源
第6章 交互操作1:JNI
6.1 交互操作的原因
6.2 本機代碼的危險
6.3 查找和加載本機代碼
6.3.1 名稱映射
6.3.2 類型映射
6.3.3 重載名
6.3.4 加載本機庫
6.3.5 類加載器和JNI
6.3.6 加載本機庫的常見錯誤
6.3.7 本機加載釋疑
6.4 從C++調(diào)用Java
6.4.1 最小化往返次數(shù)
6.4.2 性能比較
6.4.3 JNI和反射調(diào)用的區(qū)別
6.5 JNI中的錯誤處理
6.5.1 本機代碼中的故障
6.5.2 處理C++異常
6.5.3 從本機代碼處理異常
6.5.4 從本機代碼拋出Java異常
6.6 資源管理
6.6.1 與無用單元收集器的交互
6.6.2 管理本機資源
6.6.3 管理數(shù)組
6.6.4 管理字符串
6.7 小結(jié)
6.8 資源
第7章 生成式編程
7.1 使用生成式代碼的原因
7.1.1 建立變性模型的面向?qū)ο蟮姆椒?br />7.1.2 按綁定時間進行分析
7.1.3 分離綁定時間和規(guī)范
7.1.4 選擇規(guī)范語言
7.1.5 重用性的高需求
7.1.6 小型域分析很危險
7.2 用Java生成代碼的原因
7.2.1 類型信息用作自由規(guī)范文檔
7.2.2 類加載支持靈活綁定模式
7.2.3 易于生成Java源文件
7.2.4 易于生成Java二進制類
7.2.5 代碼生成功能有利于提高性能
7.2.6 代碼生成的責(zé)任級別
7.3 綁定時間和模式的分類
7.4 RMI中的代碼生成
7.5 JSP中的代碼生成
7.6 EJB中的代碼生成
7.6.1 部署描述符
7.6.2 替補實現(xiàn)
7.7 生成強類型集合
7.8 生成自定義串行化代碼
7.9 小結(jié)
7.10 資源
第8章 展望
8.1 當前狀況
8.2 發(fā)展方向
8.3 資源
附錄A 交互操作2:連接Java和Win32/COM
A.1 綜述
A.2 半透明占位程序
A.3 平臺差異
A.4 組件對象模型
A.4.1 COM加載器
A.4.2 COM類型信息
A.4.3 COM對象生存期
A.4.4 COM類型發(fā)現(xiàn)
A.4.5 COM錯誤處理
A.4.6 COM線程親緣性
A.4.7 COM安全性
A.5 Win32動態(tài)鏈接庫
A.5.1 DLI加載器
A.5.2 DLL類型信息
A.5.3 DLL對象生存期
A.5.4 DLI類型發(fā)現(xiàn)
A.5.5 DLL錯誤報告
A.5.6 DLL線程親緣性
A.5.7 DLL安全性
A.6 編組體系結(jié)構(gòu)
A.6.1 共享占位程序
A.6.2 通用占位程序
A.6.3 指令字符串
A.7 生成占位程序
A.7.1 生成共享占位程序
A.7.2 生成接口占位程序
A.8 小結(jié)
參考書目

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) rgspecialties.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號