学习日记2020/1/22

本文深入解析了JVM中的方法区与程序计数器作用,详细阐述了Servlet的五阶段生命周期,包括加载、创建、初始化、处理请求及卸载过程,并强调了Servlet在多线程环境下可能遇到的线程安全问题。
  1. 方法区在JVM中和堆一样,是线程共享
  2. 程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离

在这里插入图片描述

  1. doPost/doGet是在javax.servlet.http.HttpServlet中实现

  2. service()方法是在javax.servlet.Servlet接口中定义的

  3. servlet的生命周期分为5个阶段:
    1.加载:容器通过类加载器使用servlet类对应的文件加载servlet
    2.创建:通过调用servlet构造函数创建一个servlet对象
    3.初始化:调用init方法初始化
    4.处理客户请求:每当有一个客户请求时,容器会创建一个线程来处理该请求
    5,卸载:调用destory方法让servlet自己释放其占用的资源

  4. Servlet是线程不安全的,在servlet类中可能会定义共享的类变量,这样在并发的多线程情况下,不同成员变量的修改会引发错误

堆(heap)和栈(stock)的区别

####什么是栈
每个应用程序运行时,都有属于自己的一段内存空间,用于存放临时变量,参数传递,函数调用时的PC值的保存,这个地方叫栈
####什么是堆
所有的应用可以从一个系统中共用的空间中申请供自己使用的内存,叫堆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值