`

servlet 线程安全 application.setattribute,加上synchronized

    博客分类:
  • java
 
阅读更多
http://www.alixixi.com/Dev/Web/JSP/jsp7/2007/2007020914328.html

servletContext application=getServletContext();

后面的一段函数是env.java的片断,可以看看在servlet中如何使用application变量的。

Integer count = null;

synchronized (application) {

  count = (Integer) application.getAttribute("change");

  if (count == null)

    count = new Integer(0);

  count = new Integer(count.intValue() + 1);

  application.setAttribute("change", count);

}


分享到:
评论

相关推荐

    jsp利用application统计在线人数的方法.docx

    这个过程是线程安全的,因为使用了`synchronized`关键字。 当一个新的会话开始时(即`session.isNew()`返回`true`),我们调用`numberVisiter()`方法更新在线人数,并从`application`对象中获取当前的在线人数`...

    java程序员滴宝典

    3. **application**:通过`application.setAttribute()`将对象保存到应用范围内。 4. **cookie**:通过设置cookie的方式传递信息。 示例: ```java // 使用request对象传递数据 request.setAttribute("message", ...

    WebLogic_Server性能调优

    * Servlets在缺省情况下是单线程的,是线程不安全的 * 如果使用单线程Servlet,,最好分配大量的Pool来处理服务请求 * 最好使用HttpSessions来管理用户数据 HttpSession * Session管理会造成额外开销 * 建议使用...

    java面试题集锦

    - **application.setAttribute()**: 在应用程序范围内传递数据。 #### 三、编程题知识点 **1. 打印昨天的当前时刻** 使用Java的日期时间API(如`java.time`包)可以轻松完成此任务。 **2. 程序运行结果** - 第...

    超级有影响力霸气的Java面试题大全文档

    此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),...

    java 面试题 总结

    此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),...

    JAVA面试题-sp公司的

    - `synchronized` 关键字,用于方法或代码块,确保同一时间只有一个线程执行特定代码。 - `wait()`, `notify()`, `notifyAll()` 方法,用于线程间通信,控制线程的等待和唤醒。 - `Lock` 接口及其实现,如 `...

    java面试题库(j2ee,j2se,ssh,ajax)

    5. **多线程**:线程的创建方式、同步机制(synchronized关键字,wait(),notify()等)。 6. **反射**:在运行时动态访问类信息的能力。 7. **设计模式**:常见的设计模式如工厂模式、单例模式、装饰器模式等。 **...

    JAVA程序开发技术

    - 使用`synchronized`关键字锁定对象; - 使用`Lock`接口和`ReentrantLock`类显式锁定; - 使用`volatile`关键字保证可见性。 **1.4.2 线程交互** - **方法**: - `wait()`, `notify()`, `notifyAll()`用于线程...

Global site tag (gtag.js) - Google Analytics