servlet基本概念

一、servlet是一个供其它java程序调用的java类,比方tomcatserver,它不能独自执行,它的执行由servlet引擎来控制和调度。


二、servlet是单例,多线程

针对多个client訪问servlet的情况,servlet仅仅实例化一次,也就是其init()方法仅仅执行一次。

而每次请求,servlet引擎都会创建新的servletrequest和servletresponse对应对象,然后作为參数传递给service()方法。service再依据请求调用doget()或者dopost()

servlet是多线程的。


三、多线程的安全问题

对于全局变量,假设进行高并发的时候,同一个变量。一个线程请求还未运行完,下一个线程请求就来了。

这就造成了,变量的操作出现错误。

比方 对于全局变量 i

当第一个线程取出来,进行i++操作。i++还未运行,下一个线程就到来,也进行i++操作,这样事实上i++运行了两次。但终于的结果仅仅是加了1。


要解决问题,还是使用了同步的方式。使用synchronized



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值