- 方法区在JVM中和堆一样,是线程共享的
- 程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的
-
doPost/doGet是在javax.servlet.http.HttpServlet中实现
-
service()方法是在javax.servlet.Servlet接口中定义的
-
servlet的生命周期分为5个阶段:
1.加载:容器通过类加载器使用servlet类对应的文件加载servlet
2.创建:通过调用servlet构造函数创建一个servlet对象
3.初始化:调用init方法初始化
4.处理客户请求:每当有一个客户请求时,容器会创建一个线程来处理该请求
5,卸载:调用destory方法让servlet自己释放其占用的资源 -
Servlet是线程不安全的,在servlet类中可能会定义共享的类变量,这样在并发的多线程情况下,不同成员变量的修改会引发错误
堆(heap)和栈(stock)的区别
####什么是栈
每个应用程序运行时,都有属于自己的一段内存空间,用于存放临时变量,参数传递,函数调用时的PC值的保存,这个地方叫栈
####什么是堆
所有的应用可以从一个系统中共用的空间中申请供自己使用的内存,叫堆