韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > java基础 > java中ThreadLocal的应用场景分析

java中ThreadLocal的应用场景分析

头像

小妮浅浅

2021-03-22 10:20:124815浏览 · 0收藏 · 0评论

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1、各种框架中的应用

Spring框架的事务管理中使用ThreadLocal来管理连接,每个线程是单独的连接,当事务失败时不能影响到其他线程的事务过程或结果,还有大家耳闻目睹的ORM框架、Mybatis也是用ThreadLocal管理,SqlSession也是如此。

//Spring TransactionSynchronizationManager类
@Override
protected void doBegin(Object transaction, TransactionDefinition definition) {
    DataSourceTransactionObject txObject = (DataSourceTransactionObject) transaction;
    Connection con = null;
    try {
        //此处省略N行代码
        if (txObject.isNewConnectionHolder()) {
            //绑定数据库连接到线程中
            TransactionSynchronizationManager.bindResource(obtainDataSource(), txObject.getConnectionHolder());
        }
    }
    catch (Throwable ex) {
        if (txObject.isNewConnectionHolder()) {
            //当发生异常时,移除线程中的连接
            DataSourceUtils.releaseConnection(con, obtainDataSource());
            txObject.setConnectionHolder(null, false);
        }
        throw new CannotCreateTransactionException("Could not open JDBC Connection for transaction", ex);
    }
}

2、防止内存泄漏

通常我们是使用如下的方式操作ThreadLocal,在使用完threadlocal后一定要remove掉,防止内存泄露。

private static final ThreadLocal<LoginUser> loginUserLocal = new ThreadLocal<LoginUser>();
 
public static LoginUser getLoginUser() {
    return loginUserLocal.get();
}
 
public static void setLoginUser(LoginUser loginUser) {
    loginUserLocal.set(loginUser);
}
 
public static void clear() {
    loginUserLocal.remove();
}
 
//在使用完后一定要清理防止内存泄露
try{
    loginUserLocal.set(loginUser);
    //执行其他业务逻辑
}finally{
    loginUserLocal.remove();
}

以上就是java中ThreadLocal的应用场景分析,大家在了解了这种变量的作用后,可以就这些使用场景,逐个进行尝试。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

《诱人的女房东3》| 代练通| 坤坤寒入桃子里电视剧| 老公在洗澡我被公干日本| 老赵在货车把儿媳妇送到了| 快乐8| 17CCC吃瓜爆料-免费吃瓜| 麻豆| 健身教练压腿压进去会怎么样| 《年轻朋友的妻子3》| 女生全身照真实不像网图图片| 妈妈的新男友| 暴躁老女人免费观看电视剧| 小俊在雪姨身上耕耘小说免费阅读| 依卡| 《魅魔之耻》1~4集免费看| 林语惊| 日韩精品国产一区二区三区| 撸撸社| 百度推荐官| 黑料门-今日黑料-每日大赛| 女生干多了腿中间会变宽吗| 女孩蹲下小便视频大全| 《破外女》高清完整版| 《湿点》未增减板相似| 是空无限传媒免费观看电视剧| 情满四合院| 禁忌3| 5YY3.CNV7Y7.CC| 疯狂做爰XXXX高潮喷水小说| 美女和男生一起努力的生孩子视频..| 动物扌桑辶鬲的| 《破外女》高清完整版| 韩剧公媳之恋免费观看全集| 《完美邻居2》电影在线观看| 《熟妇的荡欲》HD中字| WWW.CRI.8888888..| 老阿姨高清在线观看电视剧法游戏 | 东北老阿姨高清免费观看电视剧| 老公拿狗给我配| 《特别酒店》免费观看