軟件系統結構與開發環境

Chapter 2 軟件開發平臺與軟件系統架構 之 JAVA

JVM的框架結構和解釋執行代碼流程

jvm包括

J2ee 框架

注意LDAP目錄服務協議和JNDI(java名字和目錄服務接口)架構(如對象上傳和下載、目錄搜索),RMI協議(遠程調用),HTTP擴展的SOAP協議(以xml爲中立化信息交換語言),三層(服務層(EJB),中間層,web層...)

Servlet 和  HttpServletRequest, RequestDispatcher(包含其他Servlet或重定向http request URL), HTTPSession(爲無狀態的http協議定義和管理會話機制,該機制跨越HTTP請求完成信息共享),ServletContext(Servlet運行時環境)  P91

Java 傳遞參數

傳值和傳地址兩種。注意String一旦修改就會重新申請內存並拷貝,所以String做參數時相當於傳值。

Java 反射機制: 

JVM爲每個加載(即類字節碼Load進JVM)的類SomeClass生成一個特別的Class類實例 XXX。

對象SomeClassObj運行時可利用基類Object提供的方法getClass()獲取該特別的實例 XXX; (Class XXX=SomeClassObj.getClass). 另外Class類還提供了靜態函數forName(String),給定類SomeClass的名字,可以返回該類對應的Class類實例XXX。( Class XXX = Class.forName("SomeClass") )

這個特別的Class類可以動態地創建對應的類的實例:XXX.newInstance()將創建XXX對應的類SomeClass的實例。

Java 對象序列化技術

注意JDK/JRE會爲實現了Serializable的類生成一個UID,相當於hash值,用於鑑別一個序列化的對象是不是屬於某類。

Java 線程 

Java線程不是內核級別的線程,而是Jvm解釋運行環境自己提供的一種用戶級別線程,所以它對cpu是不可見的。cpu只能看到它所在的jvm進程,後者纔是內核級別線程/進程。

1 繼承Thread。 注意Thread其實實現了Runnable接口;  2 自定義一個類,實現Runnable接口。

Java併發控制(同步)

http://www.111cn.net/jsp/Java/63543.htm

採用等待喚醒機制,劃分出主(調用notify喚醒從線程)從(調用wait阻塞自己,等待喚醒)線程,優於鎖機制。

wait/notify必須在synchronized(anObj)塊內,意味着執行這些操作前,必須獲得anObj的對象鎖,從而保證這些操作之間的互斥。此外一個線程調用wait時,會釋放anObj的鎖,防止死鎖。從wait返回時,需要再次獲得鎖才能繼續執行。主線程調用notify並退出synchronized塊之後從線程才能真正從wait返回,即被喚醒。 


Chapter 5 中間件與分佈式軟件架構

中間件是在客戶機和服務器之外的公共服務器上運行的第三方軟件。更一般的,任何獨立的系統軟件和服務程序,只要介於操作系統和應用軟件之間,就是中間件。
傳統中間件:1  遠程過程/方法調用中間件,2  消息服務中間件,3 數據庫連接中間件,4 事務處理中間件(最初用於聯機交易系統,因此也被稱爲交易中間件)。
1 如stub-skeleton模型,中間件提供名字服務,代理服務。 如基於IDL的應用開發模型,服務程序和客戶程序通過能夠解析IDL接口的IDL編譯器而間接關聯。
遠程調用始終是同步阻塞的。所以一般用異步的消息服務代替它。
2 如消息隊列模型,pub/sub消息服務模型。生產者和消費者都是和中間件建立連接,而不需要和對方直接連接。
3 數據連接中間件基於數據源-連接池模型。連接池存放了中間件與多個數據庫系統建立的會話連接,適當的時候中間件的數據源可以把連接池裏的連接租借給用戶程序使用。利用連接池避免了用戶程序反覆和遠程數據庫建立和斷開連接。
4 主要爲了實現分佈式數據庫系統,分佈式事務處理,(並滿足ACID數據庫事務四原則);它在分佈式系統中非常關鍵。三個標準: 1 OMG‘s OTS for CORBA, 2 MS's MTS, 3 JAVA's JTS/JTA, similar with OTS. 以上標準的基礎是X-Open DTM, 包含了一個分佈式事務處理架構模型和一個兩階段提交協議(2-PC)原型。
兩階段提交協議: 投票和決策執行。

J2ee 中間件

RMI : 序列化, 遠程類(可以藉助LDAP進行遠程傳遞對象)。

EJB服務器端組件
JMS消息服務技術

CORBA中間件技術

Web Services 中間件技術

特點是根據服務接口WSDL文件,用soap/http在服務器和客戶端之間傳遞信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章