确切地说,垃圾收集器是实时系统的问题。更精确地说,可以使用具有自动内存管理功能的语言编写实时软件。
有关使用Java实现实时行为的方法之一,可以在Java实时规范中找到更多详细信息。RTSJ背后的想法非常简单-
不要使用堆。RTSJ提供了各种新的Runnable对象,以确保线程不会访问任何类型的堆内存。线程可以访问作用域内存(在这里没有什么异常;关闭作用域时会破坏值)或不朽内存(在应用程序生命周期中一直存在)。不朽存储器中的变量一次又一次地被写入新值。
通过使用不朽内存,RTSJ确保线程不会访问堆,更重要的是,系统没有垃圾收集器,该垃圾收集器不会抢先执行线程。
JPL和Sun出版的论文“金门计划:在太空任务中实现实时Java”提供了更多详细信息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)