站长工具同大全站,做网站多少钱大概,网络营销策略应遵循的原则,做母婴网站赚钱Java中各种常见的生命周期
1.Spring bean的生命周期#xff1f;
1、Spring 容器根据配置中的 bean 定义中实例化 bean。
2、Spring 使用依赖注入填充所有属性#xff0c;如 bean 中所定义的配置。
3、如果 bean 实现 BeanNameAware 接口#xff0c;则工厂通过传…Java中各种常见的生命周期
1.Spring bean的生命周期
1、Spring 容器根据配置中的 bean 定义中实例化 bean。
2、Spring 使用依赖注入填充所有属性如 bean 中所定义的配置。
3、如果 bean 实现 BeanNameAware 接口则工厂通过传递 bean 的 ID 来调用 setBeanName()。
4、如果 bean 实现 BeanFactoryAware 接口工厂通过传递自身的实例来调用 setBeanFactory()。
5、如果存在与 bean 关联的任何 BeanPostProcessors则调用 preProcessBeforeInitialization() 方法。
6、如果为 bean 指定了 init 方法 的 init-method 属性那么将调用它。
7、最后如果存在与 bean 关联的任何 BeanPostProcessors则将调用 postProcessAfterInitialization() 方法。
8、如果 bean 实现 DisposableBean 接口当 spring 容器关闭时会调用 destory()。
9、如果为 bean 指定了 destroy 方法 的 destroy-method 属性那么将调用它。
2.servlet的生命周期
Servlet生命周期可以分成四个阶段加载和实例化、初始化、服务、销毁。
具体如下
当客户第一次请求时首先判断是否存在Servlet对象若不存在则由Web容器创建对象而后调用init()方法对其初始化此初始化方法在整个Servlet生命周期中只调用一次。
3. 完成Servlet对象的创建和实例化之后Web容器会调用Servlet对象的service()方法来处理请求。
当Web容器关闭或者Servlet对象要从容器中被删除时会自动调用destory()方法。
3.Java中类的生命周期是什么?
1. 加载查找并加载类的二进制数据在Java堆中也创建一个java.lang.Class类的对象
2. 连接连接又包含三块内容验证、准备、初始化。 1验证文件格式、元数据、字节码、符号引用验证 2准备为类的静态变量分配内存并将其初始化为默认值 3解析把类中的符号引用转换为直接引用
初始化为类的静态变量赋予正确的初始值使用new出对象程序中使用卸载执行垃圾回收
4. 线程的生命周期?
当线程被创建并启动以后它既不是一启动就进入了执行状态也不是一直处于执行状态。 在线程的生命周期中它要经过新建(New)、就绪Runnable、运行Running、阻塞 (Blocked)和死亡(Dead)5 种状态。尤其是当线程启动以后它不可能一直霸占着 CPU 独自 运行所以 CPU 需要在多条线程之间切换于是线程状态也会多次在运行、阻塞之间切换
这5种状态如下
1新建New创建后尚未启动的线程处于这种状态
2运行RunableRunable包括了操作系统线程状态的Running和Ready也就是处于此状态的线程有可能正在执行也有可能正在等待着CPU为它分配执行时间。
3等待Wating处于这种状态的线程不会被分配CPU执行时间。等待状态又分为无限期等待和有限期等待处于无限期等待的线程需要被其他线程显示地唤醒没有设置Timeout参数的Object.wait()、没有设置Timeout参数的Thread.join()方法都会使线程进入无限期等待状态有限期等待状态无须等待被其他线程显示地唤醒在一定时间之后它们会由系统自动唤醒Thread.sleep()、设置了Timeout参数的Object.wait()、设置了Timeout参数的Thread.join()方法都会使线程进入有限期等待状态。
4阻塞Blocked线程被阻塞了“阻塞状态”与”等待状态“的区别是”阻塞状态“在等待着获取到一个排他锁这个时间将在另外一个线程放弃这个锁的时候发生而”等待状态“则是在等待一段时间或者唤醒动作的发生。在程序等待进入同步区域的时候线程将进入这种状态。
5结束Terminated已终止线程的线程状态线程已经结束执行。