作为一个对象来讲的话,肯定会有创建,使用,回收的步骤,而JAVA自带GC垃圾回收机制,于是生命周期我们可以只谈论
创建和使用
1.当浏览器访问Servlet的时候,Web应用容器(也就是我们常用的tomcat)会查询当前Servlet实例对象是否存在,如果不存在,则会通过反射机制来动态创建对象,反之,直接执行第三步。
2.调用init方法来完成初始化操作
3.调用service方法来完成业务逻辑操作
4.关闭web应用容器时,调用destory方法,释放当前对象所占用的资源。
说一下怎么具体通过反射机制来创建Servlet实例对象的主要逻辑
反射首先我们需要拿到运行时类,然后我们通过运行时类来获取构造器,然后通过调用构造器来newInstance,new出一个实例对象
顺便补充一下什么是运行时类?
当我们的写完我们的类文件(.java)文件经过javac编译成为字节码文件(.class后缀的文件)然后将字节码文件加载到方法区,此时加载到方法区中的.class文件就相当于一个模板,然后我们通过这个模板来动态的创建一个一个的对象(其实我们创建的对象都是动态进行创建的,通过静态代码文件,当经过完整的生命周期后,对象都会被释放掉,但是静态文件不会消失,因此我们说对象是我们动态创建的)而这个静态文件就是我们要找的运行时类
自己的一些理解,如有不对,恳请斧正~