gpt4 book ai didi

java - OSGi 和性能?

转载 作者:搜寻专家 更新时间:2023-11-01 01:03:14 24 4
gpt4 key购买 nike

OSGi 是否适用于高性能应用服务器?

OSGi 对生成高度模块化的应用程序有很大帮助,但由于执行模型与常规 Java 应用程序不同(因为我了解 OSGi 应用程序在特定平台上运行,如 Apache Felix)。

您对不同实现方式的性能有何体验?

谢谢

最佳答案

根据我的经验,将应用程序从非 OSGi 环境迁移到 OSGi 环境(使用 Felix)对性能没有影响。我制作的每个版本都经过压力测试;压力测试的结果表明性能没有下降。

这可能取决于您的应用程序做什么。我会打折 显式 OSGi 概念,例如服务,因为这样的新代码将需要您自己的测试,并且我假设您问的是对现有 POJO 代码的影响。

OSGi 环境的隐式影响主要是类加载。正如您可能知道的那样,OSGi 为每个包强制要求单独的类加载器,并提供了一种将包中的代码连接到其他包中的依赖项的方法。当 bundle 中的类调用不同 bundle 中的类时,第二个 bundle 的类加载器负责加载第二个类。

可能(但很可能不会)这个类加载逻辑比普通 Java 环境中使用的默认类加载器消耗了一些额外的工作。但是,除非您的代码本身不断地重新创建和重新加载类(这不太可能),否则任何性能影响都可以忽略不计。无论如何,这只是理论上的可能性。这取决于您选择的实现是否尽可能高效。

对内存占用也有小的影响。最好进行堆转储并使用 mat 之类的东西来分析它。

相信我,与等待类加载相比,您将花更多的时间从概念上了解 OSGi、OSGi 容器、工具、版本管理等方面的差异;)

关于java - OSGi 和性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11450447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com