OSGi是一個模塊化體系結構,JavaBeans是一個組件體系結構。 什麼是差異?'組件體系結構'和'模塊化體系結構'之間的區別
1
A
回答
6
OSGi和Java Beans之間的主要區別在於類加載器的工作方式。在標準的.jar文件或EJB中,rt.jar文件或EJB等效文件維護類路徑。此外,如果您使用容器來部署應用程序,則可能會有多個導致問題的類路徑維護機制。因此,例如,當您創建一個.war文件時,通常會創建一個包含所有.war's .jar依賴項的lib目錄。如果您的應用程序中只有一個war或.jar,則不會太糟糕。但想象一下使用100個EJB包含apache-commons的大型企業部署!你最終會得到100個運行在同一個容器中的apache-commons實例,這些實例會吸收資源。
在OSGi中,您將每個.jar文件(我們稱之爲bundle cuz,現在是OSGi)放入OSGi容器中。每個.jar文件公開(導出)希望其他軟件包使用的軟件包,並標識軟件包的版本。此外,每個捆綁包還明確聲明(導入)它需要從其他捆綁包運行的包。然後,OSGi容器將管理所有這些導出並將它們匹配到適當的導入。現在,您可以爲每個想要提供的EJB提供apache-commons。您已經取消了/ lib目錄,現在您的應用程序佔用的資源更少。
在您的問題中,您詢問了組件體系結構和模塊化體系結構之間的區別。模塊化是指將每個捆綁包設置爲自己的部署單元並允許其與其他捆綁包進行交談而不是將它們全部組合成一個大型.jar文件的過程。
相關問題
- 1. GraniteDS插件/模塊化體系結構
- 2. ExtJS的模塊化體系結構?
- 3. 模塊化體系結構 - ASP.NET MVC
- 4. ASP.NET N層/ DDD體系結構和Window服務軟件體系結構之間有區別嗎?
- 5. 軟件體系結構文檔和系統設計文檔之間的區別
- 6. Android體系結構組件中AndroidViewModel和ViewModel之間的區別是什麼?
- 7. 實現模塊化體系結構/簡單插件系統
- 8. 瞭解Magento模塊的體系結構
- 9. MySQL體系結構優化
- 10. Selenium RC體系結構和Selenium WebDriver體系結構差異
- 11. 模塊體系結構/分佈
- 12. VHDL結構體系結構和clk'event
- 13. CQRS體系結構優化和變化
- 14. Xcode構建設置中的「體系結構」和「有效體系結構」有什麼區別?
- 15. 代碼構建和體系結構有什麼區別?
- 16. 用戶級別和OOP體系結構
- 17. MVC體系結構
- 18. Graphql體系結構
- 19. Rails體系結構?
- 20. mongodb體系結構
- 21. Firebug體系結構
- 22. CakePHP體系結構
- 23. Elasticsearch體系結構
- 24. Android:Manager和SystemService體系結構
- 25. 體系結構和Microsoft.AspNet.Providers
- 26. 模塊化應用程序體系結構和Castle Windsor
- 27. 模塊化共享服務接口體系結構和Interfaceversiondescription
- 28. QSlider和QSpinBox之間的Qt模型視圖體系結構
- 29. AS3事件體系結構
- 30. MigratorDotNet插件體系結構