Java Web普通Java类单例多线程的吗

场景是这样的,比如说有一个JavaWeb项目用户点了某个页面后跳转到一个Servlet,而这个Servlet中会去调用其他的Java类。我看网上的说法说Servlet是单... 场景是这样的,比如说有一个Java Web项目用户点了某个页面后跳转到一个Servlet,而这个Servlet中会去调用其他的Java类。
我看网上的说法说Servlet是单例的,也就是说第一次访问Servlet时会创建一个该Servlet的实例,后面的都用这个实例。又说Servlet是多线程的,这个怎么理解?
还有普通的java类也是单例多线程的吗?
求高手解释!
展开
 我来答
FuN哥
2013-12-04 · TA获得超过798个赞
知道答主
回答量:183
采纳率:0%
帮助的人:75.3万
展开全部
servlet是多线程去访问,这与servlet自身并没关系。因为servlet通常不会涉及到状态,所以多线程访问调用同一个servlet里的方法不会出现异常
追问
那普通的java类,比如说Dao类是单例多线程的吗?
追答
我举个例子,比如你用刀杀鸡,你可以用一把刀砍,也可以用一堆刀扔过去砍。如果你用了一堆刀同时砍,那就叫多线程。至于你杀鸡愿意用几把刀,这与鸡没关系。而java类就是鸡一样的存在。
dao一般都是单例。但是是否单例不是由dao来决定的,而是由获取dao的容器来决定的,比如spring。那么再举个例子,spring就是菜市场,你可以买一只鸡,那就是单例,你也可以买很多鸡,那就不是单例了。但是菜市场能让你买到一只鸡还是多只鸡,这仍然与鸡毫无关系。
dzb1121
2013-12-04 · 超过12用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:37.7万
展开全部
就是一个实例生成多个线程吧.比如类 A 是单例的 A 中有一个方法是 B b = new B();
b.start();(注意由于B是继承了Thread类所以它是线程类)这样每次调用这个方法的时候都会启动一个线程
就可以了.
更多追问追答
追问
问题是一般我们写的Servlet中没有你说的这些B b = new B();b.start();
追答
我想Servlet底层的实现是类似这样的,只不过封装了你看不到而已...
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
市靖厹0eja99
2013-12-04 · 超过20用户采纳过TA的回答
知道答主
回答量:99
采纳率:0%
帮助的人:34.6万
展开全部
我是做任务的,无视我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式