Java中的各种生命周期

Servlet生命周期

  1. 在一个servlet第一次被请求的时候,servlet就会被实例化,该实例会一直驻留在内存内,以便响应后续的其他请求!(如果在servlet的配置中添加了load-on-startup,就会在服务器启动的时候直接实例化servlet)
  2. 在servlet实例化以后,就会立即调用init()方法,该方法在整个生命周期之间只会调用一次。
  3. 在每次请求servlet的时候,都会调用service()方法(回调doGet,doPost)
  4. 在web应用即将被卸载的时候,就会调用destroy方法,该方法在整个servlet生命周期之间只会执行一次

Filter(过滤器)生命周期

  1. 在服务器启动的时候,就直接实例化过滤器,该实例会一直驻留在内存中,以便拦截后续的其他请求!
  2. 在过滤器实例化以后,就立刻调用init方法
  3. 在每次过滤器拦截到请求时,都会执行doFilter方法。
  4. 在web应用即将被卸载的时候,就会调用destroy方法,该方法在整个Filter生命周期之间只会执行一次

interceptor(拦截器)生命周期

  1. 在服务器启动的时候,就直接实例化拦截器,该实例会一直驻留在内存中,以便拦截后续的其他请求!
  2. 在拦截器实例化以后,就立刻调用init方法
  3. 在每次拦截器拦截到请求时,都会执行intercept方法。
  4. 在web应用即将被卸载的时候,就会调用destroy方法,该方法在整个Interceptor生命周期之间只会执行一次
时间: 2024-10-10 18:04:10

Java中的各种生命周期的相关文章

简要分析一下java中线程的生命周期

面试题:您了解线程吗?简单叙述一下线程的生命周期? 答:之前学过一些有关于线程方面的知识,并且在编写代码的过程中还是要经常考虑线程,所以,我对线程还是了解一点的. 首先,创建一个线程,线程进入初始状态,线程调用start()方法,进入可运行状态,然后被操作系统选中,进入运行状态,在运行状态有五种情况,1.线程调用run()方法,一运行进入终止状态,2.线程调用sleep等方法进入阻塞状态,时间到期进入可运行状态3.线程调用wait()方法进入等待队列状态,然后被唤醒进入锁池状态,被操作系统选中进

JAVA面试题:Spring中bean的生命周期

Spring 中bean 的生命周期短暂吗? 在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不会有什么问题,但对于多线程的程序,就必须注意安全(Thread-safe)的议题,防止多个线程同时存取共享资源所引发的数据不同步问题. 然而在spring中 可以设定每次从BeanFactory或Appl

Spring容器中Bean的生命周期

日出日落,春去秋来,花随流水,北雁南飞,世间万物皆有生死轮回.从调用XML中的Bean配置信息,到应用到具体实例中,再到销毁,Bean也有属于它的生命周期. 人类大脑对图像的认知能力永远高于文字,因此,闲言少叙,书归正传,上图先: 步骤很多,切莫惊慌,我们可以把上面的步骤归纳如下: 1-2:创建实例: 现在假设spring就是个容器,而配置文件中配置的bean属性才是我们真正需要的东西.创建实例就是说,我把配置文件中的bean信息取出来化作一个真正的bean并放到容器中. 3-4:注入依赖关系:

Java 并发 线程的生命周期

Java 并发 线程的生命周期 @author ixenos 线程的生命周期 线程状态: a)     New 新建 b)     Runnable 可运行 c)     Running 运行 (调用getState()时显示为Runnable) d)     Blocked 阻塞 i.          I/O阻塞 (不释放锁) I/O操作完成解除阻塞,进入Runnable状态 ii.          同步阻塞(不释放锁) 运行的线程在获取对象的同步锁时,若该同步锁被别的线程占用,则JVM会

Spring中Bean的生命周期

Spring中Bean的生命周期过程: 1.Spring对Bean进行实例化(相当于程序中的new Xx()) 2.Spring将值和Bean的引用注入进Bean对应的属性中 3如果Bean实现了BeanNameAware接口,Spring将Bean的ID传递给setBeanName()方法 (实现BeanNameAware清主要是为了通过Bean的引用来获得Bean的ID,一般业务中是很少有在Bean的ID的) 4.如果Bean实现了BeanFactoryAware接口,Spring将调用se

4.事务提交过程,事务基本概念,Oracle中的事务生命周期,保存点savepoint,数据库的隔离级别

 事务提交过程 事务 基本概念 概念:一个或者多个DML语言组成 特点:要么都成功,要么都失败 事务的隔离性:多个客户端同时操作数据库的时候,要隔离它们的操作, 否则出现:脏读  不可重复读  幻读 Oracle默认情况下,事务是打开的 commit案例: SQL> create table t1(tid int,tname varchar2(20)); 表已创建. SQL> select * from tab; TNAME                          TABTYPE

spring IOC 容器中 Bean 的生命周期

IOC 容器中 Bean 的生命周期: 1.通过构造器或工厂方法创建 Bean 实例2.为 Bean 的属性设置值和对其他 Bean 的引用3.调用 Bean 后置处理器接口(BeanPostProcessor),进行初始化前处理4.调用 Bean 的初始化方法5.调用 Bean 后置处理器接口(BeanPostProcessor),进行初始化后处理6.Bean 可以使用了7.当容器关闭时, 调用 Bean 的销毁方法8.在 Bean 的声明里设置 init-method 和 destroy-m

viewpager中fragment的生命周期管理

viewpager中fragment的生命周期管理 - i_bobby - 开源中国社区 调试fragment的时候发现一个莫名其妙的事情,viewpager中包含4个fragment,其中第一个和第三个fragment是要联网取得数据的,如图: 界面刚进去的时候显示第一个fragment,通过log信息,我发现two fragment竟然"偷偷"走了一遍的生命周期!着实把我震惊了! 然后我滑动到two,发现第三个也"偷"了一遍生命周期,也就是说,手机在显示第二个不

Android中activity的生命周期以及使用场景

#1完整生命周期代码如下. package com.wzw.lifecycle; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class MainActivity extends Activity { //被创建的时候调用的方法 @Override protected void onCreate(Bund