28、安全关键 Java 的内存管理与安全保障

安全关键 Java 的内存管理与安全保障

1. SCJ 内存回收机制

在安全关键 Java(SCJ)中,不同类型的内存区域有着不同的对象回收规则。在任务内存(MissionMemory)中分配的对象,会在任务终止、所有注册的可调度对象处于非活动状态且任务的 cleanUp() 方法返回后被回收。而在私有内存(PrivateMemory)中分配的对象,会在 enterPrivateMemory() 方法返回时被回收;如果这是顶级私有内存,那么在 handleAsyncEvent() 方法返回时回收。

executeInArea(runnable) 方法可用于临时将分配上下文更改为另一个作用域,并在该上下文中执行 runnable 参数的 run() 方法。该调用的目标可以是不朽内存(ImmortalMemory)、任务内存或私有内存的实例,并且必须是父作用域。不过,调用 executeInArea() 后,就不能再使用 enterPrivateMemory() 了。

作用域内存的后备存储来自其可调度对象的后备存储预留。后备存储通过预留来管理,供可调度对象使用。初始的可调度对象会将其后备存储预留的部分划分出来,传递给在其控制线程中创建的可调度对象。后备存储大小的预留通过 StorageParameters 对象进行管理。

任务的 initialize() 方法调用可以在任务内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值