您的位置:首页 > 其它

servlet基本概念

2016-03-02 15:19 197 查看
一、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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: