Java的垃圾收集功能影响了实时性,怎么办?(100分)
现在,Java在嵌入式实时系统中用的还不多,因为不能满足:
当一个优先级较高的实时任务处于ready状态时,它能中断当前任务,
而被立刻执行. 最主要的原因是:
/*----------------------------------------*/
Java实时慢在哪
影响Java在特定时间段内迅速完成某一操作的主要原因是,Java的垃圾收集功能。在任
何应用的运行期间,都需对那些不再使用的内存,进行自动的标识和回收,但Java未向
程序设计人员提供一个直接分配和释放内存的机制,所以Java必须自行配备一个垃圾收
集功能。然而,垃圾收集既是这一语言吸引人的一个特性,也是引起诸多麻烦的一个特
性。事实上,让用户来管理内存会在程序中引发大量的错误,由Java来执行垃圾收集工
作,将可使程序设计人员编制出性能更加可靠性的程序代码。
当内存的使用达到系统所规定的上限时,垃圾收集程序便会被调用,并将会以非常高的
优先级运行在内存中,直至收集工作完成为止。然而,凡当垃圾收集程序被调用时,执
行过程对实时响应的要求便无法予以实现。
/*----------------------------------------*/
听说:
Sun公司成立了一个Real-Time Experts(实时专家)部门。
目前这一部门也正致力于“Java平台实时扩展”规范的制定。
有知道详细情况的吗?