版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
大綱:No.章節(jié)1WEB開發(fā)簡介2HTML、JavaScript簡介3XML簡介4Tomcat服務(wù)器的安裝及配置5JSP基礎(chǔ)語法JSP內(nèi)置對象6JavaBean7文件上傳8Servlet程序開發(fā)9表達式語言10JSP標準標簽庫(JSTL)11Ajax開發(fā)技術(shù)12Struts基礎(chǔ)開發(fā)13Struts高級開發(fā)88OSGi99Maven第88章OSGi
--OSGi入門本章目標:了解OSGi的發(fā)展歷史了解OSGi概覽和基本概念
了解OSGi要解決的問題什么是OSGi百度百科:OSGi(OpenServiceGatewayInitiative),實際上是一個由OSGi聯(lián)盟發(fā)起的以Java為技術(shù)平臺的動態(tài)模塊化規(guī)范.
OSGi是一個規(guī)范,規(guī)范的核心部分是定義了Java組件和服務(wù)的模型,組件和服務(wù)可以被動態(tài)的安裝、激活、去激活、更新、卸載。OSGi聯(lián)盟最初由Sun/IBM/Ericsson等成立,目的是嵌入式領(lǐng)域,在于使服務(wù)提供商通過住宅網(wǎng)關(guān)為各種家庭智能設(shè)備提供服務(wù).主要滿足諸如機頂盒、服務(wù)網(wǎng)管、手機登應(yīng)用環(huán)境的模塊化需求。R4開始,專項JavaSE和EE領(lǐng)域,成為Java平臺事實上的模塊化規(guī)范。OSGi的諸多優(yōu)秀特性,如動態(tài)性、模塊化和可擴展能力被越來越多開發(fā)者所認識和欣賞。OSGi技術(shù)在服務(wù)端和企業(yè)級領(lǐng)域正迅速走向成熟。OSGi規(guī)范演進OSGi初級階段:
移動和嵌入式設(shè)備上的Java模塊化應(yīng)用
OSGiR1:2000.5OSGiR2:2001.10OSGiR3:2003.3發(fā)展階段:Java模塊化應(yīng)用OSGiR4:2006,脫離JavaME進軍其他領(lǐng)域.DSService首次出現(xiàn)OSGiR4.1,2007.5,最重要的任務(wù)是適配JSR-291提案OSGiR4.2,2009.9,核心規(guī)范發(fā)布;2010.3,企業(yè)級規(guī)范發(fā)布.解決OSGi與JavaEE服務(wù)之間關(guān)系;DOSGi首次出現(xiàn).WebApplication規(guī)范;OSGiR4.2,2011.4,支持2003即出現(xiàn)的泛型.提供了Require-Capabilities和Requirements概念.OSGiR5,2012.7,主要目標是建立一套基于OSGi的模塊倉庫系統(tǒng),下一目標:OSGiinCloud;提出SubsystemServcie子規(guī)范和RepositoryService子規(guī)范。Java模塊化規(guī)范之爭1998,JCP(JavaCommunityProcess)組織成立,負責制訂Java技術(shù)標準,可通過JSR(JavaSpecificationRequests)形式提交提案,J2EE、EJB、JSP、JDBC、JMX等規(guī)范都由JSR文檔而來1999.3,OSGi源于JSR-8(OpenServiceGatewaySpecification,開放服務(wù)網(wǎng)關(guān)規(guī)范),Sun發(fā)起,IBM/Ericsson/Sybase;目的,支持各種移動設(shè)備/嵌入式設(shè)備/智能家電.1999.5,JSR-8撤回,成立獨立于JCP的OSGi聯(lián)盟,目的是讓不適合參與JCP的設(shè)備廠商參與OSGi規(guī)范制定.2000,OSGiR1.0規(guī)范發(fā)布OSGiR1~R3,由Sun主導(dǎo),JES(JavaEmbeddedServer)是使用最廣泛的OSGiR2實現(xiàn).從R4開始分歧,SunvsIBM2006,Sun離開OSGi聯(lián)盟OSGiR4的目標平臺轉(zhuǎn)變?yōu)镴avaSE/EE,進軍桌面/服務(wù)端和互聯(lián)網(wǎng).IBM支持下的Eclipse基金會作出巨大貢獻,Eclipse3.0M4重構(gòu)為完全基于OSGi架構(gòu)實現(xiàn).Equinox成為OSGiR4.x使用最廣泛的實現(xiàn)框架.IBM的WebSphere、JAZZ都相繼支持OSGi或直接基于OSGi來構(gòu)建。JavaSE/EE支持模塊化不可逆轉(zhuǎn),Sun公司期望借助JCP的力量爭奪Java模塊化規(guī)范的控制權(quán).2006.10,Sun提交JSR-277規(guī)范(JavaModuleSystem)2007.12,Sun攜帶JSR-277重新加入OSGi聯(lián)盟.但JSR-277是完全靜態(tài)的,模塊無法在運行時安裝/更新和卸載,相比OSGi是退步.OSGi主席評價“JSR-277只能相當于OSGi8年前的技術(shù)水平”2007,IBM將OSGiR4.1提交到JCP成為JSR-291(DynamicComponentSupportforJavaSE)與JSR-277對抗,戰(zhàn)場重新轉(zhuǎn)移到回JCP.JSR-277沒有通過.雖然過Sun反對但JSR-291獲得通過,成為Java唯一的模塊化規(guī)范.2009,Sun在JSR-316(Java企業(yè)版規(guī)范6)中仍然拒絕承認JSR-291,導(dǎo)致JDK6沒有任何Java模塊化體現(xiàn).Sun提交JSR-294試圖在Java虛擬機層面對模塊化進行支持,直接修改JLS(Java語言規(guī)范)和JVMS(Java虛擬機規(guī)范),加入module關(guān)鍵字和超級包(SuperPackage)等概念.由于語言特性修改慎重而敏感,此提案因超期未發(fā)布早期預(yù)覽版被自動廢止.同時,Sun在OpenJDK中啟動Jigsaw項目,以SunJDK專有方式實現(xiàn).屬于Sun私有的特性,無法運行在其他公司提供的JDK上,違反了Java語言的基本原則”一次編譯,到處運行”2012.7,Jagsaw主頁宣布推遲到Java9中發(fā)布.即2015年9月得見,
OSGi出現(xiàn)16年之后.目前,OSGi是java世界唯一的模塊化規(guī)范.也是至少5年以內(nèi)可預(yù)見的最有生命力/最標準/最廣泛的Java模塊化技術(shù).為什么使用OSGi(1)OSGi是技術(shù),更是一種做系統(tǒng)架構(gòu)的工具和方法論。只有不適用的場景,沒有不適用的技術(shù)。OSGi能讓軟件開發(fā)變得更容易嗎?并不能讓小型系統(tǒng)的開發(fā)成本更低彌補Java中資源精劃分的缺陷,加強架構(gòu)自約束能力(JAR中沒有Public、Private、Protected的區(qū)分,多版本JAR的陷阱,依賴包動態(tài)變化)更多的幫助控制軟件復(fù)雜度增長、延緩架構(gòu)腐化。如EclipseMarketplaceOSGi能讓軟件開發(fā)變得更容易嗎?OSGi框架常見問題:ClassNotFound、類加載器死鎖、OutOfMemeory會引導(dǎo)程序員開發(fā)出可積累可重用的軟件基于OSGi比較容易實現(xiàn)強魯棒性的系統(tǒng)系統(tǒng)的動態(tài)修復(fù)缺陷為什么使用OSGi(2)OSGi能讓系統(tǒng)運行得更快嗎?其實OSGi并不負責解決性能問題OSGi的長處在于組裝OSGi是在Java虛擬機之上實現(xiàn)的類加載機制,類加載層次比普通Java應(yīng)用深;服務(wù)層上,服務(wù)對象在每次使用前查找,對OSGi服務(wù)注冊表的頻繁訪問會帶來開銷OSGi允許不同版本的Package同時存在,客觀上占用更多內(nèi)存。如果不正確持有某個過期模塊(被更新或被卸載)中的一個類的實例,則類加載器就無法被揮手,類加載器中所有類都無法被GC回收掉。OSGi的確會讓系統(tǒng)性能略微下降,但完全在可接受范圍內(nèi)。OSGi概覽在OSGi中,軟件組件被稱為bundle。OSGi的一個非常實用的好處是每個bundle都必須定義它的導(dǎo)出java包和它所需的依賴。通過這種方式,可以有效地控制每個插件所提供的API和依賴.在Eclipse中,最小的組件化單位是一個plug-in,它也是一個OSGi的bundle。OSGi有幾種實現(xiàn),例如
EclipseEquinox、KnopflerfishOSGi、ApacheFelix。EclipseEquinox是一個基于OSGi規(guī)范的實現(xiàn),它也是Eclipse應(yīng)用程序基于的運行時環(huán)境。Eclipse通過擴展點概念擴展了OSGi的關(guān)于bundle和Services概念。OSGi框架分層BundleServiceLifecycleModuleExecutionenvironmentJVMHadrware/OSSecurityL0:L0運行環(huán)境:
運行的JVML1模塊:L1層定義類的裝載策略。OSGi框架是一個強大的具有嚴格定義的類裝載模型。在Java中,正常情況下有公共的classpath。OSGi模塊層為一個模塊增加了私有類同時有可控模塊間鏈接。L2生命周期管理:L2層增加了能夠被動態(tài)安裝、開啟、關(guān)閉、更新和卸載的bundles。這些bundles依賴于具有類裝載功能的模塊層,但是增加了在運行時管理這些模塊的API。生命周期層引入了正常情況下不屬于一個應(yīng)用程序的動態(tài)性。L3服務(wù)注冊:L3層增加了服務(wù)注冊。服務(wù)注冊提供了一個面向bundles的考慮到動態(tài)性的協(xié)作模型。bundles能通過傳統(tǒng)的類共享進行協(xié)作,但是類共享同動態(tài)安裝和卸載代碼不兼容。服務(wù)注冊提供了一個在bundles間分享對象的完整模型。定義了大量的事件來處理服務(wù)的注冊和刪除。L0:運行環(huán)境L1:模塊L2:生命周期管理L3:服務(wù)注冊O(shè)SGi
bundlesL0:在OSGi規(guī)范中將bundle作為組件化的單元。一個bundle是自包含的一個單元,可以顯式的定義它對其他模塊和服務(wù)的依賴,也顯式的定義它對外暴露的API.通常OSGibundle是.jar文件方式,內(nèi)部包含了額外的meta信息,這些信息保存在META-INF/MANIFEST.MF文件中.MANIFEST.MF文件是標準Java規(guī)范的一部分.OSGi增加了額外的元數(shù)據(jù),其它非OSGi運行時環(huán)境會忽略這些OSGi元數(shù)據(jù),因此,OSGibundle并不限制用于非OSGi的Java環(huán)境中.Bundle-SymbolicName和VersionL0:每一個bundle都有一個符號化名字,它通過Bundle-SymbolicName屬性定義.按慣例,這個名字使用點分格式,并且為bundle作者的域名反轉(zhuǎn).例如,“”域,符號化的名字就使用”com.example”開頭.每一個bundle還有一個版本號,通過Bundle-Version屬性定義.以上兩個屬性必須是唯一的.它們都定義在MANIFEST.MF中MANIFEST.MF內(nèi)容(1)L0:Manifest-Version:1.0Bundle-ManifestVersion:2Bundle-Name:PopupPlug-inBundle-SymbolicName:com.example.myosgi;singleton:=trueBundle-Version:1.0.0Bundle-Activator:com.example.myosgi.ActivatorRequire-Bundle:org.eclipse.ui,org.eclipse.core.runtimeBundle-ActivationPolicy:lazyBundle-RequiredExecutionEnvironment:JavaSE-1.6MANIFEST.MF內(nèi)容(2)L0:標識描述Bundle-Namebundle的短描述Bundle-SymbolicNamebundle的唯一標示符.如果bundle被用于Eclipse的擴展點功能,它必須被標識為Singleton,需要加入標識:singleton:=trueBundle-Version定義bundle版本.新版本的bundle發(fā)布時,版本號必須增長Bundle-Activator定義一個可選的activator類,這個類實現(xiàn)了BundleActivator接口。當bundle被激活時,這個類的實例就會被創(chuàng)建。當bundle被啟動或者停止時,這個實例的start()或stop()方法會被調(diào)用。OSGiactivator一般被用于在啟動時配置bundle。Bundle-RequireExecutionEnvironment(BREE)定義了bundle運行所需的Java版本。如果無法滿足,則OSGi運行時環(huán)境不會裝在這個bundle。Bundle-ActivationPolicy當定義為lazy時,是告訴OSGi運行時環(huán)境只有當這個插件的一個組件(例如類或者接口)被其他bundle所使用時,才激活它。Bundle-ClassPath定義了bundle從哪里去裝在class。缺省是”.”,這意味著允許在bundle的根目錄裝在class。可以增加JAR到到這個目錄。Bundle依賴和導(dǎo)出APIL0:沒有在MANIFEST.MF中定義依賴時,bundle的類無法訪問其他bundle中的類,如果試圖去這么做,會拋出ClassNotFoundException異常。每個Bundle也可以定義它的對外公開的API,通過MANIFEST中的Export-Package標識來定義。沒有被顯式導(dǎo)出的包,都不能夠被其他bundle看到。這些限制是通過特定的OSGiclassloader來達到的。每一個bundle都有它自己的classloader。備注:由于OSGi是基于Javaruntime之上來構(gòu)筑的,而Javaruntime并不支持模塊化層。因此,OSGi也不能阻止用戶使用Java反射機制來訪問其他bundle的類。Bu六nd費le生命呀周期L0液:當一個bu吹nd彈le在OS鞭Gi標r伶un谷ti暑me中被壩安裝覽時,它被驕持久賀化到導(dǎo)了本術(shù)地bu昂nd嚇le緩存竿中,帖OS樸Gi濤r功un遇ti慨me會試制圖解炸析它駛的所劫有依堅賴.如果所有電的依專賴都揚被解屢析,鞏bu打nd魚le就變沉為RE么SO耐LV途ED狀態(tài),否則司它就緩處于IN穗ST圓AL斃LE榮D狀態(tài).如果幾個bu千nd得le都能菌滿足投依賴,則最煌高版隔本的bu得nd踏le將被糊使用番。如震果版鑰本都徒一樣擁,家則具爺有最拉低in鏟st倍al鄭l幣ID的bu媽nd礙le將被普使用筑(當bu聲nd這le被安葡裝到OS保Gi時,鐵框柱架會草給它必分配等一個說唯一掩的in貌st廉a(chǎn)l逼l紙ID)。石如摧果bu偶nd學(xué)le啟動武了,芝它就罩變?yōu)镾T略AR狂TI番NG狀態(tài)汁,嚷然后宋它就色變?yōu)锳C巖TI化VE狀態(tài)筍。整個生命藝周期鍵如下膀圖所君示:OS君Gi依賴淚管理L0哀:當一個bu舞nd洗le安裝起時,夫OS手Gi讀取MA鑒NI殊FE挨ST店.M翅F文件,并確追保在質(zhì)它激雞活前,它所珍依賴柱的bu諷nd座le已經(jīng)禾被解抓析和鑼激活雪。如果依賴塑沒有熟就緒蝦,bu黃nd況le就不逼會被歐解析豆。Bu右nd簽le生命罪周期L0氣:當一個bu屯nd篩le安裝高時,律OS朱Gi讀取MA缺NI隱FE符ST類.M山F文件,并確隊保在飼它激芝活前,它所媽依賴則的bu破nd漂le已經(jīng)播被解盼析和狹激活敢。如果依賴曾沒有挽就緒摟,bu訪nd禿le就不經(jīng)會被批解析捉。OS荒Gi園Co叫ns壓ol們eL0妹:命令描述help列出所有可用命令ss列出所有安裝的bundle和它們的狀態(tài)ssvogella列出所有名字中含有vogella的bundle和狀態(tài)startid啟動id為id的bundle,如start5stopid停止id為id的bundle,如stop5diagid診斷id為id的bundle,列出所有未滿足的依賴項.installURL通過URL來安裝一個bundleuninstallid卸載id為id的bundlebundleid顯示id為id的bundle的信息,包括注冊的服務(wù)和使用的服務(wù)headersid顯示id為id的bundle的MANIFEST.MF信息services<filter>顯示所有的service和消費者.filter是一個可選的LDAP過濾器.例如,要查看所有提供了ManagedService實現(xiàn)的服務(wù),可以使用”services(objectclass=*ManagedService)”命令OS宏Gi峽co刪ns柔ol榨e就像牧是一盯個命腳令行超外殼.下面甚是一蹤蝶些常室用命捆令:面向步接口勁的編正程?L0賞:pu姨bl霞iccl單as陳sHe膨ll欄oS詞er娛vi謠ce絞Te窗st{pu雹bl竊icst霉at銹icvo盯idma施in(St屯ri測ng[]ar購gs){Se頑rv場ic云eL懇oa乓de繭r<He俘ll運oS銹er弓vi墾ce>sv凡cL另oa恰de掛r=Se滾rv緣瑞ic見eL伯oa前de嘩r.lo膚ad(He乎ll福oS籌er懼vi壘ce.cl原as衣s);//遍歷重取到桿的所建有實勒現(xiàn)類,調(diào)用掩其sa煙yH仁el勉lo尖()方法fo至r(He盲ll吵oS白er羅vi竄ce患s洞vc:sv辜cL荷oa超de慚r){Sy你st寨em.ou啟t.pr清in常tl傅n(sv腐c+"算--尤>召"+sv巨c.sa叮yH予el純lo("w似or唐ld允"))汗;}}}原理:份Se著rv巡壽ic憲eL湯oa情de拐r會讀旦取se宰rv僅ic天es文件樹夾下He陣ll米oS清er劣vi逐ce的的文全路四徑為狀文件竹名的負文件會的內(nèi)嬸容,文件爹內(nèi)容拍為實以現(xiàn)類丙名稱,通過反射俯機制捷生成醫(yī)實例(如果鹽有多竄個會戚生成辛多個硬實例),返回駛實例.上述擁方式雙的不推足L0忍:缺點1:雖然健采用輛此方蹈法可手以避翠免使器用接脖口的同代碼偵了解樹到接酷口的夸具體印實現(xiàn)駝類,但是麗實際州上并峽不能反阻止腳這么嶼做,實現(xiàn)籮類本批身是pu貧bl父ic的,在調(diào)覆用者粉還是菊可見閱的.缺點2:修改艷了實偵現(xiàn)類油之后,調(diào)用汗者(即He飼ll啄oS掛er贈vc搜ie戲Te途st也需崖要重知新加午載.還有是另外沿的方敞法,謊是使劉用工難廠模沙式或Io盆C容器。但無論順是采鑼用Fa覽ct偽or具y模式端還是Io門C容器廊,都秩是在設(shè)粒計期仗隱性鏡的對塊實現(xiàn)冊設(shè)置同了直逐接的宏依賴瘋,而夠非運悶行期壯去尋梨找可述用的漸依賴的。而且虎同樣由于A擺a=每ne總w稀A絕im經(jīng)pl督()還是控可以躲直接止的寫,導(dǎo)熊致存悠在強寺依賴激的隱澡患。OS暑Gi的做催法,就是鍛在這登個思以路的舞基礎(chǔ)肯上,做了勻更進任一步芽的實毅現(xiàn)類月的隔勻離;同時繼做到闖了更劫新時,不影遣響到尾調(diào)用料者.而OS夫GI提供而為每摧個Bu激nd遵le提供浙獨立小的Cl塘as漂sL糖oa姐de丑r機制泄的方令法則鄙讓我安們可濤以真遷正的瘦做到乏面向?qū)Ы涌谘碌拈_灑發(fā)。應(yīng)用OS腹Gi棉(1籠)L0恰:模塊訓(xùn)化設(shè)計盡管糊大家直在設(shè)畢計大疑部分既的系慰統(tǒng)時歪候確黎實是番按照腥模塊大化的芒思想分去進盼行的剝,但敵可能資不會考慮的象OS芳GI定義Bu釘nd你le那么粉的清晰.基于OS疲GI搭建亮的系咽統(tǒng)架蠶構(gòu)通無常類益似如惡下:可以獲看出雁基于OS競GI搭建茅的系的統(tǒng)由Bu侮nd役le組成推,而鍋每個Bu漆nd個le由多盾個Co景mp腎on腔en斯t或Ja槽va揭O缸bj必ec誘t共同炒組成隸,每獄個Co迫mp捷on惑en洲t又有盡可能全引用昆或暴耐露了鈴多個Se佩rv偷ic滋e,每駝個Bu啦nd儀le以及Co估m(xù)p顆on班en蒼t均可京在其食生命像周期密狀態(tài)胸改變疾時做與出相叫應(yīng)的細行為贏。應(yīng)用OS您Gi絨(2勺)L0迎:面向毅服務(wù)余的組王件模型總設(shè)計模塊誤化設(shè)咸計可禍以看鳴成是凍架構(gòu)趁級別喉的設(shè)疾計方渾式,伍而面追向服摧務(wù)的燒組件應(yīng)模型簽設(shè)計裁則是瓦對模塊所進行詳細頌設(shè)計欺時的遺核心思想.都Co猛mp學(xué)on姥en爪t通過客引用Se倡rv咱ic破e或暴柜露Se抓rv映ic號e來完草成模慈塊中用賴例的實現(xiàn).面向誼服務(wù)褲的組件模型耽設(shè)計寄更加株強調(diào)短在設(shè)鋼計時于分解鼻模塊柔中用學(xué)例的棗實現(xiàn)毯(形敗成組防件和意服務(wù)弓)以畫及組濃件依賴的關(guān)筑注基于OS型GI框架捷構(gòu)建和模塊偏、Co款mp柱on臭en瓶t、Se勾rv銜ic義e的依但賴時予,體橫現(xiàn)出尋了超轎越傳固統(tǒng)Io覺C容器的奔優(yōu)勢館,在妨依賴際的構(gòu)柏建上OS遷GI更是除提供黎了多竄種靈作活的葛依賴朱控制文方式潔,例識如屬蠅性過濾、版糊本過蹤蝶濾以辨及延刃遲加決載設(shè)態(tài)置等威。應(yīng)用OS退Gi黨(3舟)L0男:動態(tài)治性設(shè)計從OS罪GI規(guī)范聯(lián)的定政義來旗講,元基于OS蹦GI搭建怠的系途統(tǒng)保扇持動速態(tài)性某是其銜最大硬的優(yōu)灑勢,剃包括模塊殼、Co吵mp李on贊en吹t、Se圈rv膀ic懶e的依嘗賴都廚具備峽動態(tài)犧性的餓特征倒,在帥構(gòu)建冒模塊益、Co原mp糠on境en板t、Se鳥rv爭ic壯e的依外賴時OS偷GI框架弊采用罰的都蝦是動茂態(tài)的戒方式貝實現(xiàn)須,這重也就螞是說OS硬GI框架本身戲保證了基涉于其能實現(xiàn)林的系景統(tǒng)的動態(tài)偏性但這并擾不意矛味著車基于OS端GI框架中實現(xiàn)盼的系血統(tǒng)就一定具備校動態(tài)嗎性特碧征,業(yè)就像負基于JA告VA編寫選的系紙統(tǒng)不堆一定惜跨平悉臺一抵樣。要充藍分的街發(fā)揮膜基于OS取GI的動眠態(tài)性變,就屈要完薦全的取采用耍面向刷接口重的設(shè)密計方諒式,閃而不銅是去依斃賴實現(xiàn)肢,要沸記住秒基于OS賓GI搭建編的系參統(tǒng)是相在運另行期頑才構(gòu)幣成依機賴的唐,這離和傳伐統(tǒng)的系統(tǒng)慘有很大盜的差別.應(yīng)用OS引Gi篩(4幼)L0悲:面向魯接口售的開發(fā)基于OS塵GI能讓勞我們系在開娃發(fā)時喂真正瞇的做河到面應(yīng)向接即口的佩開發(fā)終,盡倡管面酒向接??诘拿_發(fā)樹的思想已經(jīng)墨被幾齊乎所獎有的嘉開發(fā)斜人員盆所接麥受,疤但由掩于有墓些時鈔候偷臣懶或頌者無公意中炸就直洗接去引用格了實現(xiàn)非的類OS辯GI提供榆為每虎個Bu轟nd扣le提供啄獨立禿的Cl醉as刃sL巖oa壟de事r機制番的方站法則葬讓我棍們可拐以真中正的濁做到面映向接拜口的蠅開發(fā)干,Eq虛ui特no道x本身宅就給蘆出了寧一個債這樣扎的例叼子,深在Eq傅ui報no考x中將OS孩GI中所雜有服客務(wù)的躬接口補都統(tǒng)敲一放陜到了OS粉GI膽S據(jù)er比vi訴ce喊s太Bu毒nd崖le中,肢由該Bu添nd騰le對外Ex嚴po刃rt這些Pa扎ck懼ag叢es,而父對于集這些Se伍rv辮ic東e的實蘿現(xiàn)則攪由其肆他單框獨的Bu姜nd備le去實景現(xiàn),曲那些Bu評nd促le就無需侵對外勢提供Pa清c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 46899.1-2025電能表試驗設(shè)備、技術(shù)和程序第1部分:固定式電能表試驗裝置(MTUs)
- 養(yǎng)老院員工培訓(xùn)與考核制度
- 養(yǎng)老院工作人員請假及調(diào)休制度
- 企業(yè)食堂安全管理制度
- 醫(yī)療凈化項目環(huán)評報告
- CCAA - 第二篇:合格評定答案及解析 - 詳解版(161題)
- 2025年廣州市第十二人民醫(yī)院招聘考試真題
- 鎂電解工崗前環(huán)保知識考核試卷含答案
- 竹藤編藝師崗前核心技能考核試卷含答案
- 我國上市公司并購協(xié)同效應(yīng)的深度剖析與策略優(yōu)化
- 柴油維修技術(shù)培訓(xùn)課件
- 安全附件管理制度規(guī)范
- 2026院感知識考試題及答案
- 《紅樓夢》導(dǎo)讀 (教學(xué)課件) -高中語文人教統(tǒng)編版必修下冊
- DL∕T 5210.6-2019 電力建設(shè)施工質(zhì)量驗收規(guī)程 第6部分:調(diào)整試驗
- GB/T 16927.1-2011高電壓試驗技術(shù)第1部分:一般定義及試驗要求
- 政府會計準則優(yōu)秀課件
- 陣發(fā)性室性心動過速課件
- 無機與分析化學(xué)理論教案
- 名詞性從句 講義-英語高考一輪復(fù)習語法部分
- T∕ZZB 2722-2022 鏈板式自動排屑裝置
評論
0/150
提交評論