您的位置:首页 > 其它

servlet基本概念

2015-06-27 20:22 281 查看
一、servlet是一个供其他java程序调用的java类,比如tomcat服务器,它不能独自运行,它的运行由servlet引擎来控制和调度。

二、servlet是单例,多线程

针对多个客户端访问servlet的情况,servlet只实例化一次,也就是其init()方法只运行一次。

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

servlet是多线程的。

三、多线程的安全问题

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

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

比如 对于全局变量 i

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

要解决这个问题,还是使用了同步的方式,使用synchronized
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: