在本线程中添加object数据,必须在本线程中才能获取出来。。其他线程获取不到。

public class Test {
public static void main(String[] args) {
final ThreadLocal<String> thread=new ThreadLocal<>();
thread.set("助兴"); new Thread(){
@Override
public void run() {
String temp=thread.get();
System.out.println("结果是:"+temp);
};
}.start(); 这样是获取不到结果的!!!!!
}
}

Filter过滤器和Servlet在一个线程中,并且在servlet前面执行,这就可以在Filter过滤器中添加数据,让Servlet使用。。

service中的sqlsessionFactory 实例化的过程是一个比较耗费性能的过程

 public class mybtaisutil {      通过这种方式可以保证只有一个factory
private static SqlSessionFactory factory;
static{
try {
InputStream is = Resources.getResourceAsStream("mybatis.xml");
factory = new SqlSessionFactoryBuilder().build(is);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
      /**
         * 获取sqlsession对象
         */
    public static SqlSession getsession(){
            SqlSession session = tl.get();
            if(session==null){
                tl.set(factory.openSession());
            }
             return tl.get();
        }
        关闭sqlsession对象
    public static void closesession(){
        SqlSession session = tl.get();
        if(session!=null){
            session.close();
        }
        tl.set(null);
    }
}

对 Service中sqlsession对象的优化的更多相关文章

  1. 使用ThreadLocal管理Mybatis中SqlSession对象

    转自http://blog.csdn.net/qq_29227939/article/details/52029065 public class MybatisUtil { private stati ...

  2. [转] C++中临时对象及返回值优化

    http://www.cnblogs.com/xkfz007/articles/2506022.html 什么是临时对象? C++真正的临时对象是不可见的匿名对象,不会出现在你的源码中,但是程序在运行 ...

  3. 转:C++中临时对象及返回值优化

    http://www.cnblogs.com/xkfz007/articles/2506022.html 什么是临时对象? C++真正的临时对象是不可见的匿名对象,不会出现在你的源码中,但是程序在运行 ...

  4. 【性能优化】面试官:Java中的对象都是在堆上分配的吗?

    写在前面 从开始学习Java的时候,我们就接触了这样一种观点:Java中的对象是在堆上创建的,对象的引用是放在栈里的,那这个观点就真的是正确的吗?如果是正确的,那么,面试官为啥会问:"Jav ...

  5. Web Service 中返回DataSet结果大小改进

    http://www.cnblogs.com/scottckt/archive/2012/11/10/2764496.html Web Service 中返回DataSet结果方法: 1)直接返回Da ...

  6. Web Service 中返回DataSet结果的几种方法

    Web Service 中返回DataSet结果的几种方法: 1)直接返回DataSet对象    特点:通常组件化的处理机制,不加任何修饰及处理:    优点:代码精减.易于处理,小数据量处理较快: ...

  7. Windows Service中使用Threading.Timer需注意回收

    在Windows Service中使用Threading.Timer时需要注意回收池问题 Threading.Timer是基于线程池的,系统会对其进行垃圾回收. 当Threading.Timer定义在 ...

  8. oracle中sql语句的优化

    oracle中sql语句的优化 一.执行顺序及优化细则 1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info   (30000条数据)D ...

  9. (转)C++中返回对象的情形及RVO

    http://www.cnblogs.com/xkfz007/archive/2012/07/21/2602110.html 之前有文章介绍过临时对象和返回值优化RVO方面的问题.见此处. 在C++中 ...

随机推荐

  1. 进程实时监控pidstat命令详解

    pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存.设备IO.任务切换.线程等.pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行 ...

  2. Cron 表达式

    Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式: (1) Seconds Minutes Hours DayofMonth Mo ...

  3. CentOS 下搭建Jenkins

    1.下载安装包 A 可以连接外网: 导入仓库 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jen ...

  4. vue 给v-html中的元素设置样式

    解决方案:写样式的时候添加>>>

  5. Q in Q

    简介 Q in Q技术(也称Stacked VLAN 或Double VLAN).标准出自IEEE 802.1ad,将用户私网VLAN Tag封装在公网VLAN Tag中,使报文带着两层VLAN Ta ...

  6. win8 IIS配置

    iis发展到win8已经到是iis8.0了.至于如何安装的,咱们接下来看.大体和iis6安装差别不大.iis8安装起来也是很方便的. 1.打开“控制面板”——“程序和功能”.如下图所示 2.点击“启用 ...

  7. linux命令学习之:read

    read命令从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合.该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开.在read命令后面,如果没有指定变量名,读取的数据将被自 ...

  8. 4-java 格式化输出

    java保留两位小数4种方法 import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...

  9. jsp获取ip使用request.getRemoteAddr返回0:0:0:0:0:0:0:1

    JAVA Web开发过程中,很多场景下需要获取访问终端的IP,对应方法getRemoteAddr.例如调试过程中本地回环ip地址是127.0.0.1,忽然有一天返回 0:0:0:0:0:0:0:1,这 ...

  10. python 数据类型 之 集合

    集合是一个数学概念:由一个或多个确定的元素所构成的整体叫做集合 集合的三个特性: 1.确定性 (element必须可hash,不可变类型是可hash的) 2.互异性(集合中element 不能重复) ...