关键字:
volatile,其修饰的变量,线程不会保存私有拷贝,java默认为非Volatile,目的是提高速度。
transient,对实现了java.io.Serializable的对象中的变量加上此关键字表示该变量不是串行化的一部分。
以上参考:http://www.blogjava.net/fhtdy2004/archive/2009/06/20/286112.html
对于限定词及其作用范围:
http://javadinosaur.blog.sohu.com/39228842.html
private 'default' protected public -- 同一类中 同一包中 不同包中子类 不同包中非子类。
ThreadLocal
From:http://www.wangchao.net.cn/bbsdetail_51177.html
ThreadLocal 是Java中一种较为特殊的线程绑定机制。通过ThreadLocal存取的数据,总是与当前线程相关,也就是说,JVM 为每个运行的线程,绑定了私有的本地实例存取空间,从而为多线程环境常出现的并发访问问题提供了一种隔离机制。
Servlet 运行是多线程的,而应用服务器并不会为每个线程都创建一个Servlet实例,也就是说,TestServlet在应用服务器中只有一个实例(在Tomcat中是这样,其他的应用服务器可能有不同的实现),而这个实例会被许多个线程并发调用,doGet 方法也将被不同的线程反复调用,可想而知,每次调用doGet 方法,这个唯一的TestServlet 实例的session 变量都会被重置,线程A 的运行过程中,其他的线程如果也被执行,那么session的引用将发生改变,之后线程A 再调用session,可能此时的session 与其之前所用的session就不再一致,显然,错误也就不期而至。ThreadLocal的出现,使得这个问题迎刃而解。
private ThreadLocal localSession = new ThreadLocal();
public void doGet( HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException {
localSession.set(getSession());
doSomething();
session.flush();
}
public void doSomething(){
Session session = (Session)localSession.get();
//基于session的存取操作
}
同时hibernate在获得session时也有此用法。
<!--EndFragment-->
分享到:
相关推荐
【标题】"3y java 杂杂.zip" 提示我们这是一个与 Java 编程语言相关的压缩文件,可能包含了各种 Java 开发的资料、代码示例、教程或项目。"3y" 可能是文件创建者的名字或者某种分类标记。 【描述】"3y java 杂杂....
第十一届蓝桥杯大赛软件类省赛第二场 作物杂交 答案Java版。没有官方测试数据,请大家测试,有问题请联系我。
首先,从【标题】:“java知识点汇总” 和【描述】:“内容较杂,有java初中高级知识点,也有Java web架构及原理”来看,涉及的内容包括了Java的序列化与反序列化、IO流的基础知识、多态的概念、泛型的应用、反射...
《Java版植物大战僵尸游戏完整项目源码解析与学习指南》 在编程世界中,将经典游戏移植到不同平台是一项常见的挑战。Java作为一种跨平台、面向对象的编程语言,其强大的可移植性和丰富的库资源使其成为开发游戏的...
此次比赛的题目设计涵盖了Java语言的基础知识,如数据类型、控制结构、类与对象、继承与多态、异常处理、集合框架等,同时也融入了高级特性,如并发编程、IO流、网络编程等。参赛者不仅需要对Java语法有深入理解,还...
如 Mi-croSoft、 IBM、 Netscape、 Novell、 Apple、 DEC、 SGI 等,因 此 ,Java 语言 被 美 国 的 著 名 杂 志 PC Magazine 评 为 1995年 十 大 优 秀科 技 产 品,(计 算 机 类 就 此 一项 入 选 ),随 之 大 量 出 ...
在Java中,所有的违例都继承自`java.lang.Throwable`类,它有两个直接子类`Error`和`Exception`。`Error`通常表示系统级的严重问题,如内存溢出或JVM错误,这些错误通常不需要也不应该在应用程序中捕获。相反,`...
接着,《java面试笔试题大汇总 JAVA相关基础知识.doc》是对Java基础知识的全面梳理,可能包括了类加载机制、反射、枚举、内部类、Lambda表达式、注解、泛型等进阶话题。这些都是Java开发中的重要组成部分,理解并能...
【标题】"2018第九届蓝桥杯Java语言C组&答案(无第十题)"指的是2018年举办的第九届蓝桥杯编程竞赛中,针对Java语言的C组题目及其官方或个人提供的解答。蓝桥杯是一项旨在提升大学生及软件开发者编程能力的全国性...
这可以通过Java的`File`、`BufferedReader`、`BufferedWriter`等类实现。 4. **游戏逻辑与算法**:实现走迷宫的核心算法是关键,可以采用深度优先搜索(DFS)或广度优先搜索(BFS)等路径查找算法。玩家在迷宫中移动,...
【Java试题概述】 Java作为一门广泛使用的编程语言,其试题涵盖了从基础语法到高级特性的各个方面,是评估和提升开发者技能的重要工具。经典Java试题旨在深入解析Java中的难点,帮助学习者巩固基础知识,掌握核心...
编写Applet时,需要继承`java.applet.Applet`类,并重写必要的方法。 7. **程序实例**: - 输出"你好,很高兴学习Java"的简单Application程序展示了如何使用System.out.println()方法。 - 判断回文数的程序涉及到...
在Java中,我们可以创建类来表示个体,其中包含个体的基因(解)。基因通常用数组表示,数组的每个元素对应一个决策变量。适应度函数可以是一个独立的方法,接收个体对象作为参数并返回适应度值。 3. **种群管理**...
这个压缩包中的"java-ga-devel-alpha-0.1"可能是源代码的主要目录,包含所有相关的类和方法。 总的来说,这个项目为理解和学习Java遗传算法提供了一个实践平台,开发者可以通过阅读源代码,了解遗传算法的基本思想...
书名:数据结构Java版 图书编号:2086963 出版社:清华大学 定价:118.0 ...第二十九章杂类算法 附录AJava入门 附录BJava关键字 附录CASCII字符编码 附录DJava操作符的优先顺序 附录EEZJava集成开发环境
商品类型:食品类、杂货类、便利性商品、文化出版物 1.角色:销售人员(销售:增删该查 数据)、管理员 2.采购管理里面的 退货改成新增一个单独的菜单。对不满意的采购进行退货。库存减少一。字段加一个退货...
2. **面向对象编程**:Java是面向对象的语言,设计连连看游戏涉及到类的设计和对象的创建,如MainFrame、ChessButton等类的定义,体现了封装、继承和多态等面向对象特性。 3. **用户图形界面设计**:使用Java的...
基于JAVA的多线程实现方法-继承Thread类,将需要实现多线程的类声明为继承Thread类,覆盖其run()方法,并将线程体放在该方法里。