synchronized是java中用于同步的关键字,其典型的作用域如下所示. 1 对象锁 @Slf4j public class SynchronizedExample1 { private final int loopNum = 20; // 修饰一个代码块 private void test1(int j) { synchronized (this) { for (int i = 0; i < loopNum; i++) { log.info("test1 {} - {}"…
jsp有四种属性范围: page -> 页面级别,显然只有在一个页面内可用. request -> 请求级别 服务器跳转,一次请求之后消失. session -> 会话级别 客户端跳转(服务器跳转),与浏览器有关,ie是在重新打开ie时才会不同. application = 应用级别,当重启服务器时才会消失客户端跳转: 客户端跳转是服务器将请求结果返回给客户端,客户端再向服务器发起另一次请求.在客户端跳转的过程中,客户端一定要参与跳转的过程.客户端跳转后的url是最后一次请求的地址.客户…
几乎所有web应用容器都提供了四种类似Map的结构:application session request page,Jsp或者Servlet通过向着这四个对象放入数据,从而实现Jsp和Servlet之间数据的共享. application:整个应用  对应servlet中ServletContext session:会话 对应servlet中HttpSession request:一次请求 对应servlet中的HttpServletRequest page:当前页面…
如何使用spring的作用域: <bean id="role" class="spring.chapter2.maryGame.Role" scope="singleton"/> 这里的scope就是用来配置spring bean的作用域,它标识bean的作用域.在spring2.0之前bean只有2种作用域即:singleton(单例).non-singleton(也称 prototype), Spring2.0以后,增加了sess…
本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? ? 1 2 3 4 5 6 7 8 new Thread(new Runnable() {     @Override   public void run() {     // TODO Auto-generated method stub     }   } ).star…
1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? 1 2 3 4 5 6 7 8 new Thread(new Runnable() {     @Override   public void run() {     // TODO Auto-generated method stub     }   } ).start(); 那你就out太多了,new Thread的弊端如下: a. 每次new Thread新建对象性能差.b. 线程缺乏统一管理,可能无限制…
一 修饰方法  Synchronized修饰一个方法很简单,就是在方法的前面加synchronized,synchronized修饰方法和修饰一个代码块类似,只是作用范围不一样,修饰代码块是大括号括起来的范围,而修饰方法范围是整个函数. 例如: 方法一 public synchronized void method() { // todo } 方法二 public void method() { synchronized(this) { // todo } } 写法一修饰的是一个方法,写法二修饰…
一 修饰方法 Synchronized修饰一个方法很简单,就是在方法的前面加synchronized,synchronized修饰方法和修饰一个代码块类似,只是作用范围不一样,修饰代码块是大括号括起来的范围,而修饰方法范围是整个函数. 例如: 方法一 public synchronized void method() { // todo } 方法二 public void method() { synchronized(this) { // todo } } 方法一修饰的是一个方法,方法二修饰的…
代码块作用域: 任何位于一对花括号之间是一个代码块,代码块内声明的标识符具有代码块作用域,嵌套代码块内,内部变量会屏蔽外部相同标示的标示符,非嵌套代码块,不会同时处于活动状态所以不会屏蔽. int main() { int value = 123; { int value = 456; printf("%d\n", value); } { int value = 789; printf("%d\n", value); } printf("%d\n"…
page.request.session和application,具体如下: ①page 代表与一个页面相关的对象和属性. ②request 代表与Web客户机发出的一个请求相关的对象和属性.一个请求可能跨越多个页面,涉及多个Web 组件:需要在页面显示的临时数据可以置于此作用域 ③session代表与某个用户与服务器建立的一次会话相关的对象和属性.跟某个用户相关的数据应该放在用户自己的session中 ④application代表与整个Web应用程序相关的对象和属性,它实质上是跨越整个Web应…