13、会话 Bean 生命周期详解

会话 Bean 生命周期详解

1. 钝化与激活机制

在某些算法的作用下,容器会挑选出一个等待客户端下一次调用的实例,让其“小憩”一下。具体而言,容器会将该实例暂时移出内存,并把它的状态(如实例变量的值等)保存到二级存储中,随后创建一个新实例来服务新客户端,这个过程就叫做钝化(Passivation)。

在钝化之前,容器会调用实例的 ejbPassivate() 方法。不过,需要注意的是,处于事务中的会话 Bean 实例不能被钝化。

当客户端调用处于钝化状态的 Bean 实例的方法时,容器会将该实例重新加载到内存中,并调用 ejbActivate() 方法,以此告知实例重新初始化自身。而如果 Bean 在钝化状态下超时,容器会直接将其置为不存在状态,且不会调用 ejbRemove() 方法,因为激活实例再移除会浪费资源。

2. 无状态会话 Bean 生命周期

无状态会话 Bean 的生命周期较为简单,仅包含方法就绪状态和不存在状态。由于无状态会话 Bean 在方法调用之间不维护任何客户端特定信息,这使得它的实例与特定客户端解耦。容器会创建特定 Bean 类型的多个实例,例如 DiscountBean ,并将它们放入一个池中,这些实例都能平等地服务任何客户端的调用。

当客户端调用 Bean 的方法时,容器会从池中取出任意一个实例来处理该调用。实例处理完调用后会返回池中。对于同一客户端的另一个调用,所有实例同样有资格处理,因为它们都不与客户端保持会话状态。当需要节省内存时,容器可以选择将多个实例置为不存在

提供了基于BP(Back Propagation)神经网络结合PID(比例-积分-微分)控制策略的Simulink仿真模型。该模型旨在实现对杨艺所著论文《基于S函数的BP神经网络PID控制器及Simulink仿真》中的理论进行实践验证。在Matlab 2016b环境下开发,经过测试,确保能够正常运行,适合学习和研究神经网络在控制系统中的应用。 特点 集成BP神经网络:模型中集成了BP神经网络用于提升PID控制器的性能,使之能更好地适应复杂控制环境。 PID控制优化:利用神经网络的自学习能力,对传统的PID控制算法进行了智能调整,提高控制精度和稳定性。 S函数应用:展示了如何在Simulink中通过S函数嵌入MATLAB代码,实现BP神经网络的定制化逻辑。 兼容性说明:虽然开发于Matlab 2016b,但理论上兼容后续版本,可能会需要调整少量配置以适配不同版本的Matlab。 使用指南 环境要求:确保你的电脑上安装有Matlab 2016b或更高版本。 模型加载: 下载本仓库到本地。 在Matlab中打开.slx文件。 运行仿真: 调整模型参数前,请先熟悉各模块功能和输入输出设置。 运行整个模型,观察控制效果。 参数调整: 用户可以自由调节神经网络的层数、节点数以及PID控制器的参数,探索不同的控制性能。 学习和修改: 通过阅读模型中的注释和查阅相关文献,加深对BP神经网络与PID控制结合的理解。 如需修改S函数内的MATLAB代码,建议有一定的MATLAB编程基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值