文档章节

spring编写线程安全的代码

Jbpmx
 Jbpmx
发布于 2014/06/05 14:14
字数 153
阅读 53
收藏 0

spring 中支持单例模式。


单例的意思就是在一个应用中只存在一个实例对象,web环境是多线程多线程的,那么成员变量就和静态变量作用一致了。


例如:


下面的类注入到spring 中。


class Person {


   private String name="";
   
   setName;
   getName;
}
那么如果a线程修改了名字,B线程读取的就是A修改的名字。


解决办法:


如果是spring单例类不要使用成员变量的方式,变量定义在方法体内。

© 著作权归作者所有

共有 人打赏支持
Jbpmx
粉丝 0
博文 1
码字总数 153
作品 0
广州
java面试必备之ThreadLocal

按照传统的经验,如果某个对象是非线程安全的,在多线程环境下对象的访问需要采用synchronized进行同步。但是模板类并未采用线程同步机制,因为线程同步会降低系统的并发性能,此外代码同步解...

编程老司机
05/16
0
0
【转】Spring Bean单例与线程安全

   一、Spring单例模式及线程安全   Spring框架中的Bean,或者说组件,获取实例的时候都是默认单例模式,这是在多线程开发的时候需要尤其注意的地方。   单例模式的意思是只有一个实例...

弗兰克的猫
2017/11/24
0
0
扼住高并发、高性能的咽喉---Spring Boot并发进阶

原文链接:https://www.e4developer.com/2018/03/30/introduction-to-concurrency-in-spring-boot/ 作者: Bartosz Jedrzejewski 译者: helloworldtang 概览 在使用Spring Boot构建服务时,......

生活点亮技术
09/13
0
0
关于mybatis第三方数据源的支持-bonecp,druid,c3p0

有这样一个问题http://www.oschina.net/question/872246105770?from=mail-notify,其实是不需要的!!!看完本文,知道怎么依靠spring注入就应该完成目的;本文我只说bonecp怎么和mybatis集成...

石头哥哥
2013/02/27
0
0
Spring中获取request的几种方法

前言 本文将介绍在Spring MVC开发的web系统中,获取request对象的几种方法,并讨论其线程安全性。 概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户...

jackcooper2015
07/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
今天
3
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
3
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
今天
2
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
今天
3
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部