第一个问题,先问Servlet是不是线程安全的?我回答“不是,因为只初始化一个Servlet对象,别的线程也可以访问。”然后他又问在Servlet里定义一个成员变量count用来计数,然后每次访问这个Servlet都给这个count+1,然后问我这样做好不好?我说“不好”。他又问我要怎么样解决,我就囧了,他说让我回家去网上查查,还说这个问题太普遍了。我晕问问大家,怎么解决?第二个问题,事务的权限有哪些?
解决方案 »
- 如何进行需求调研
- 高手进..关于格式化HTML代码问题
- 如何实现网页提供生成EXCEL下载
- out.println() 的问题...
- java script 的问题
- 如何在页面关闭后中止此页面中调用的Servlet的运行
- java applet 打包问题
- 想专心学习J2EE,请大家介绍几本基础的书,就由浅入深吧,先从JSP入手,其次是Servlet和JavaBean吧,分数不够再给,万分感谢!
- 大问题,高分请教!呵呵:)
- maven项目出现中数据库Communications link failure
- axis2 WebService 怎么定义一个XML格式的参数传递?
- JAVA新手,JSP页面如何在一开始加载的时候就显示后台数据库的数据
事物权限就多了```
第二个问题不太了解
同步代码不太会写哈。。貌似应该类似这样
class Count {
private int count; public int getCount() {
return count;
} public synchronized void add() {
this.count += 1;
}}
AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。来看AtomicInteger提供的接口。//获取当前的值public final int get()//取当前的值,并设置新的值 public final int getAndSet(int newValue)//获取当前的值,并自增 public final int getAndIncrement()//获取当前的值,并自减public final int getAndDecrement()//获取当前的值,并加上预期的值public final int getAndAdd(int delta)