线程安全策略

Java52

保证线程安全的策略大体可以分为以下几个:

  • 不可变对象:对象只能读,不能修改,从根本上消除了多线程的不安全感。
    [En]

    immutable objects: objects can only be read and cannot be modified, eliminating the insecurity of multithreading from the root.*

  • 线程封闭:线程之间不共享变量。
  • 同步容器:使用同步关键字修改关键方法,确保对象关键操作的线程安全。
    [En]

    synchronization container: use synchronization keywords to modify key methods to ensure thread safety of key operations of objects.*

  • 并发容器:针对同步容器进行优化。

不可变对象

大多数线程不安全因素是由于多个线程同时修改共享变量而导致的冲突,因此如果将对象设置为不可变,可以避免相当大的麻烦。

[En]

Most thread unsafe factors are due to conflicts caused by multiple threads modifying shared variables at the same time, so a considerable amount of trouble can be avoided if the object is set to immutable.

final

final关键字修饰的对象的值是不能够再被修改的,对于基本数据类型以及String,使用final修饰,就意味着它们再不能被修改。

final修饰的类:不能够被继承,其中的方法也隐式地被final修饰;final修饰的方法:不能被子类重写;final修饰的对象:值不能被修改。

String类是不可变对象中的典范,它只要被初始化之后,就不能再被改变了,其中主要用到了以下的手法:

封装对象

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长

相关文章
Java

PyScript:让Python在HTML中运行

大家好,我是DD,已经是封闭在家的第51天了! 最近一直在更新Java新特性和IDEA Tips两个专栏,其他方向内容的动态关注少了。昨天天晚上刷推的时候,瞄到了这个神奇的东西,觉得挺cool的,拿出...
Java

如何生成一个java文档

如何生成一个java文档 众所周知,一个程序给别人看可能可以看懂,几万行程序就不一定了。在更多的时候,我们并不需要让别人知道我们的程序是怎么写的,只需要告诉他们怎么用的。那么,api文档就发挥了它的作...
Java

java并发和排序的简单例子(Runnable+TreeSet)

很多时候,并发需要考虑线程安全,但在很多情况下,它与线程安全无关,因为并发最大的作用是并行性,而线程安全只是并发的一个子主题。[En]Many times concurrency needs to c...
Java

Java 16 新特性:instanceof增强

instanceof这个关键词,主要用来判断某个对象是不是某个类的实例。 比如,有时候我们要处理一个类似这样的数据集: Map data = new HashMap<>(); data.p...
Java

JAVA-poi导出excel到http响应流

导出结果为excel是相对常见的业务需求,大部分情况下只需要导出简单的格式即可,所以有许多可以采用的方案。有些方案还是很容易实现的。 目前可以有几类解决方案: poi+注解 如果想简单一点处理,那么可...
Java

设计模式之策略模式

在收银系统中,如果普通用户、中级会员和高级会员对应不同的优惠策略,常规编程需要使用一系列判断语句来判断用户类型,在这种情况下可以使用策略模式。[En]In a cashier system, if o...
Java

一些基本的jar包

jackson与前端传送数据 com.fasterxml.jackson.core jackson-databind 2.13.3 lombok可以自动生成一些方法 org.projectlombok...
Java

asp.net 客户邮件群发功能 SendMail 发送静态化html

背景:现在几乎每个企业都需要使用邮箱,在客户数量庞大的情况下,如何给不同层次的客户送去节日关怀,让他们知道我们的好消息和新产品,是我们迫切需要解决的问题。效果如图所示[En]Background: n...
Java

Markdown语法

本地编辑器的选择 1. 推荐文本编辑器:Typora 2. Typora编辑器的下载和安装 编辑器下载地址 安装步骤如下: 下载之后,双击打开,一直点击下一步则可安装好。 Markdown的语法 标题...