freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java知識點復習模板-資料下載頁

2025-05-13 22:02本頁面
  

【正文】 實現(xiàn)類的stub類的對象實例,對該對象實例的方法調(diào)用(在客戶端代碼中實際上就是對remote接口的調(diào)用),將傳送給服務(wù)器端remote接口的Weblogic實現(xiàn)類的skeleton類對象,而skeleton類對象再調(diào)用相應(yīng)的remote接口的Weblogic實現(xiàn)類,然后remote接口的Weblogic實現(xiàn)類再去調(diào)用Bean類的Weblogic實現(xiàn)類,如此就完成一次EJB對象的遠程調(diào)用。 先拿普通RMI來說,有4個class,分別是遠程對象,對象的接口,對象的stub類和skeleton類。而對象本身和對象的stub類同時都實現(xiàn)了接口類。而我們在客戶端代碼調(diào)用遠程對象的時候,雖然在代碼中操縱接口,實質(zhì)上是在操縱stub類,例如: 接口類:Hello 遠程對象:Hello_Server stub類:Hello_Stub skeleton類:Hello_Skeleton 客戶端代碼要這樣寫: Hello h = new Hello_Stub()。 ()。 我們不會這些寫: Hello_Stub h = new Hello_Stub()。 ()。 因為使用接口適用性更廣,就算更換了接口實現(xiàn)類,也不需要更改代碼。但是對于EJB來說,因為服務(wù)器會發(fā)送給它,必須有。表面上我們的客戶端代碼在操縱Hello,但別忘記了Hello只是一個接口,抽象的,實質(zhì)上是在操縱Hello_Stub。 拿Weblogic上的EJB舉例子,10個class分別是: Bean類:HelloBean (用戶編寫) Bean類的Weblogic實現(xiàn)類:HelloBean_Impl (EJBC生成) Home接口:HelloHome (用戶編寫) Home接口的Weblogic實現(xiàn)類 HelloBean_HomeImpl(EJBC生成) Home接口的Weblogic實現(xiàn)類的stub類 HelloBean_HomeImpl_WLStub(部署的時候動態(tài)生成字節(jié)碼) Home接口的Weblogic實現(xiàn)類的skeleton類 HelloBean_HomeImpl_WLSkeleton(部署的時候動態(tài)生成字節(jié)碼) Remote接口: Hello (用戶編寫) Remote接口的Weblogic實現(xiàn)類 HelloBean_EOImpl(EJBC生成) Remote接口的Weblogic實現(xiàn)類的stub類 HelloBean_EOImpl_WLStub(部署的時候動態(tài)生成字節(jié)碼) Remote接口的Weblogic實現(xiàn)類的skeleton類 HelloBean_EOImpl_WLSkeleton(部署的時候動態(tài)生成字節(jié)碼) 。 HelloHome home = (Home) ((Hello), )。 這一行代碼是從JNDI獲得Home接口,但是請記??!接口是抽象的,那么home這個對象到底是什么類的對象實例呢?很簡單,用toString()輸出看一下就明白了,下面一行是輸出結(jié)果: HelloBean_HomeImpl_WLStub@18c458 這表明home這個通過從服務(wù)器的JNDI樹上查找獲得的對象實際上是HelloBean_HomeImpl_WLStub類的一個實例。 接下來客戶端代碼: Hello h = () 同樣Hello只是一個抽象的接口,那么h對象是什么東西呢?打印一下: HelloBean_EOImpl_WLStub@8fa0d1 原來是HelloBean_EOImpl_WLStub的一個對象實例。 用這個例子來簡述一遍EJB調(diào)用過程: 首先客戶端JNDI查詢,服務(wù)端JNDI樹上Hello這個名字實際上綁定的對象是HelloBean_HomeImpl_WLStub,所以服務(wù)端將創(chuàng)建HelloBean_HomeImpl_WLStub的一個對象實例,序列化返回給客戶端。 于是客戶端得到home對象,表面上是得到HelloHome接口的實例,實際上是進行了一次遠程調(diào)用得到了HelloBean_HomeImpl_WLStub類的對象實例,別忘記了HelloBean_HomeImpl_WLStub也實現(xiàn)了HelloHome接口。 ()(),該方法將發(fā)送信息給HelloBean_HomeImpl_WLSkeleton,而HelloBean_HomeImpl_WLSkeleton接受到信息后,再去調(diào)用HelloBean_HomeImpl的create方法,至此完成第1次完整的RMI循環(huán)。 注意在這次RMI循環(huán)過程中,遠程對象是HelloBean_HomeImpl,遠程對象的接口是HelloHome,對象的stub是HelloBean_HomeImpl_WLStub,對象的skeleton是HelloBean_HomeImpl_WLSkeleton。 然后HelloBean_HomeImpl再去調(diào)用HelloBean_Impl的ejbCreate方法,而HelloBean_Impl的ejbCreate方法將負責創(chuàng)建或者分配一個Bean實例,并且創(chuàng)建一個HelloBean_EOImpl_WLStub的對象實例。 這一步比較有趣的是,在前一步RMI循環(huán)中,遠程對象HelloBean_HomeImpl在客戶端有一個代理類HelloBean_HomeImpl_WLStub,但在這一步,HelloBean_HomeImpl自己卻充當了HelloBean_Impl的代理類,只不過HelloBean_HomeImpl不在客戶端,而是在服務(wù)端,因此不進行RMI。 然后HelloBean_EOImpl_WLStub的對象實例序列化返回給客戶端,這一步也很有趣,上次RMI過程,主角是HelloBean_HomeImpl和它的代理類HelloBean_HomeImpl_WLStub,但這這一次換成了HelloBean_EOImpl和它的代理類HelloBean_EOImpl_WLStub來玩了。 Hello h = ()。()。 假設(shè)Hello接口有一個helloWorld遠程方法,那么表面上是在調(diào)用Hello接口的helloWorld方法,實際上是在調(diào)用HelloBean_EOImpl_WLStub的helloWorld方法。 然后HelloBean_EOImpl_WLStub的helloWorld方法將發(fā)送信息給服務(wù)器上的HelloBean_EOImpl_WLSkeleton,而HelloBean_EOImpl_WLSkeleton收到信息以后,再去調(diào)用HelloBean_EOImpl的helloWorld方法。至此,完成第2次完整的RMI循環(huán)過程。 在剛才HelloBean_EOImpl是作為遠程對象被調(diào)用的,它的代理類是HelloBean_EOImpl_WLStub,但現(xiàn)在HelloBean_EOImpl要作為HelloBean_Impl的代理類了?,F(xiàn)在HelloBean_EOImpl去調(diào)用HelloBean_Impl的helloWorld方法。注意!HelloBean_Impl繼承了HelloBean,而HelloBean中的helloWorld方法是我們親自編寫的代碼,現(xiàn)在終于調(diào)用到了我們編寫的代碼了! 至此,一次EJB調(diào)用過程終于完成。在整個過程中,服務(wù)端主要要調(diào)用的類是HelloBean_Impl, HelloBean_HomeImpl,HelloBean_HomeImpl_WLSkeleton,HelloBean_EOImpl,HelloBean_EOImpl_WLSkeleton。客戶端主要調(diào)用的類是HelloBean_HomeImpl_WLStub,HelloBean_EOImpl_WLStub,這兩個類在客戶端代碼中并不會直接出現(xiàn),出現(xiàn)在代碼中的類是他們的接口HelloHome和Hello,因此客戶端需要這兩個接口文件,而Stub是服務(wù)器傳送給他們的。 9排序都有哪幾種方法?請列舉。用JAVA實現(xiàn)一個快速排序。 排序的方法有:插入排序(直接插入排序、希爾排序),交換排序(冒泡排序、快速排序),選擇排序(直接選擇排序、堆排序),歸并排序,分配排序(箱排序、基數(shù)排序) 快速排序的偽代碼。 / /使用快速排序方法對a[ 0 :n 1 ]排序 從a[ 0 :n 1 ]中選擇一個元素作為m i d d l e,該元素為支點 把余下的元素分割為兩段left 和r i g h t,使得l e f t中的元素都小于等于支點,而right 中的元素都大于等于支點 遞歸地使用快速排序方法對left 進行排序 遞歸地使用快速排序方法對right 進行排序 所得結(jié)果為l e f t + m i d d l e + r i g h t 9請對以下在J2EE中常用的名詞進行解釋(或簡單描述) web容器:給處于其中的應(yīng)用程序組件(JSP,SERVLET)提供一個環(huán)境,使JSP,SERVLET直接和容器中的環(huán)境變量接接口互,不必關(guān)注其它系統(tǒng)問題。主要有WEB服務(wù)器來實現(xiàn)。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。該容器提供的接口嚴格遵守J2EE規(guī)范中的WEB APPLICATION 標準。我們把遵守以上標準的WEB服務(wù)器就叫做J2EE中的WEB容器。 Web container:實現(xiàn)J2EE體系結(jié)構(gòu)中Web組件協(xié)議的容器。這個協(xié)議規(guī)定了一個Web組件運行時的環(huán)境,包括安全,一致性,生命周期管理,事務(wù),配置和其它的服務(wù)。一個提供和JSP和J2EE平臺APIs界面相同服務(wù)的容器。一個Web container 由Web服務(wù)器或者J2EE服務(wù)器提供。 EJB容器:Enterprise java bean 容器。更具有行業(yè)領(lǐng)域特色。他提供給運行在其中的組件EJB各種管理功能。只要滿足J2EE規(guī)范的EJB放入該容器,馬上就會被容器進行高效率的管理。并且可以通過現(xiàn)成的接口來獲得系統(tǒng)級別的服務(wù)。例如郵件服務(wù)、事務(wù)管理。 一個實現(xiàn)了J2EE體系結(jié)構(gòu)中EJB組件規(guī)范的容器。 這個規(guī)范指定了一個Enterprise bean的運行時環(huán)境,包括安全,一致性,生命周期,事務(wù), 配置,和其他的服務(wù)。 JNDI:(Java Naming amp。 Directory Interface)JAVA命名目錄服務(wù)。主要提供的功能是:提供一個目錄系統(tǒng),讓其它各地的應(yīng)用程序在其上面留下自己的索引,從而滿足快速查找和定位分布式應(yīng)用程序的功能。 JMS:(Java Message Service)JAVA消息服務(wù)。主要實現(xiàn)各個應(yīng)用程序之間的通訊。包括點對點和廣播。 JTA:(Java Transaction API)JAVA事務(wù)服務(wù)。提供各種分布式事務(wù)服務(wù)。應(yīng)用程序只需調(diào)用其提供的接口即可。 JAF:(Java Action FrameWork)JAVA安全認證框架。提供一些安全控制方面的框架。讓開發(fā)者通過各種部署和自定義實現(xiàn)自己的個性安全控制策略。 RMI/IIOP:(Remote Method Invocation /internet對象請求中介協(xié)議)他們主要用于通過遠程調(diào)用服務(wù)。例如,遠程有一臺計算機上運行一個程序,它提供股票分析服務(wù),我們可以在本地計算機上實現(xiàn)對其直接調(diào)用。當然這是要通過一定的規(guī)范才能在異構(gòu)的系統(tǒng)之間進19
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1