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);
}
分享到:
相关推荐
这个过程是线程安全的,因为使用了`synchronized`关键字。 当一个新的会话开始时(即`session.isNew()`返回`true`),我们调用`numberVisiter()`方法更新在线人数,并从`application`对象中获取当前的在线人数`...
3. **application**:通过`application.setAttribute()`将对象保存到应用范围内。 4. **cookie**:通过设置cookie的方式传递信息。 示例: ```java // 使用request对象传递数据 request.setAttribute("message", ...
* Servlets在缺省情况下是单线程的,是线程不安全的 * 如果使用单线程Servlet,,最好分配大量的Pool来处理服务请求 * 最好使用HttpSessions来管理用户数据 HttpSession * Session管理会造成额外开销 * 建议使用...
- **application.setAttribute()**: 在应用程序范围内传递数据。 #### 三、编程题知识点 **1. 打印昨天的当前时刻** 使用Java的日期时间API(如`java.time`包)可以轻松完成此任务。 **2. 程序运行结果** - 第...
此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),...
此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),...
- `synchronized` 关键字,用于方法或代码块,确保同一时间只有一个线程执行特定代码。 - `wait()`, `notify()`, `notifyAll()` 方法,用于线程间通信,控制线程的等待和唤醒。 - `Lock` 接口及其实现,如 `...
5. **多线程**:线程的创建方式、同步机制(synchronized关键字,wait(),notify()等)。 6. **反射**:在运行时动态访问类信息的能力。 7. **设计模式**:常见的设计模式如工厂模式、单例模式、装饰器模式等。 **...
- 使用`synchronized`关键字锁定对象; - 使用`Lock`接口和`ReentrantLock`类显式锁定; - 使用`volatile`关键字保证可见性。 **1.4.2 线程交互** - **方法**: - `wait()`, `notify()`, `notifyAll()`用于线程...