我有一个关于OSGi内存管理的理论问题。
假设我们有一些OSGi容器(例如Felix),假设我创建了一些存在内存泄漏的包。
下面是我的一些问题:
发布于 2011-05-16 22:04:59
完整的OSGi框架在单个虚拟机中运行。只是每个包都由不同的类加载器加载。但是所有的捆绑包共享相同的堆,如果一个捆绑包泄漏内存,这将影响整个基于OSGi的应用程序。
所以,是的,如果OutOfMemoryError是由一个包引起的,那么整个容器都会“爆炸”。
(顺便说一句:如果有人把一个包放到你的容器中执行System.exit()
,那么整个容器就会再次停止,而不会出现警告--包不会像一些“虚拟机”那样存在于隔离的上下文中)
发布于 2011-07-22 21:37:26
https://stackoverflow.com/questions/6018501
复制相似问题