线程安全 1.概念 多个线程同时运行同一个实现了Runnable接口的类,程序每次运行结果和单线程运行结果是一样的,其他变量的值和预期的一样,就称之为线程安全的,反之则是不安全的 2.问题演示 如下模拟一个抢票系统: 定义一个Ticket线程类 public class Ticket impleme ...
分类:
编程语言 时间:
2020-07-09 22:24:20
阅读次数:
79
老生常谈的问题了,首先要说的是单例模式的线程安全意味着:某个类的实例在 多线程环境下只会被创建一次出来。单例模式有很多种的写法,我总结一下: 1、饿汉式单例模式的写法:线程安全 2、懒汉式单例模式的写法:非线程安全 3、双检锁单例模式的写法:线程安全 ...
分类:
编程语言 时间:
2020-07-08 15:11:12
阅读次数:
57
这篇文章记录的主要是java多线程部分的基础知识,记录一下线程的创建、同步、通信问题。感觉细节部分还是挺难的,比如线程的同步问题,解决多线程处理共享数据的线程安全问题,这里最经典的一个例子就是买火车票问题,要解决全国这么多用户的买票问题,这个线程数量级是很大的。 ...
分类:
编程语言 时间:
2020-07-08 15:07:15
阅读次数:
49
Java部分 1、基础篇 ①怎么理解面对对象? ②重载和重写区别? ③什么是字节码?采用字节码文件最大的好处? ④列举基本数据类型?分别所占字节? ⑤StringBuffer、StringBuild区别? ⑥异常怎么处理? 2、集合篇 ①都有哪些集合? ②Hashmap是线程安全的吗?为什么? ③H ...
分类:
编程语言 时间:
2020-07-08 13:49:23
阅读次数:
57
线程安全性不同, HashMap 是线程不安全的, ConcurrentHashMap 是线程安全的. ConcurrentHashMap 采用锁分段技术, 将整个 Hash 桶进行了分段 segment, 也就是将这个大的数组分成了几个小的片段 segment, 而且每个 segment 片段上面 ...
分类:
其他好文 时间:
2020-07-07 23:36:30
阅读次数:
90
####什么是线程安全 “当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下 的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那就称这个对象是线程安全的。” 它要求线程安全的代码都必须具备一个共同特征:代码本身封装了 ...
分类:
编程语言 时间:
2020-07-06 20:19:07
阅读次数:
47
线程安全: ArrayList 和 LinkedList 都是线程不安全的, 它们的方法之间都是不同步的. 底层数据结构: ArrayList 底层是使用 Object 数组; LinkedList 底层是使用双向链表数据结构. 快速访问随机元素: ArrayList 支持高效的快速访问随机元素, ...
分类:
其他好文 时间:
2020-07-06 00:37:16
阅读次数:
68
不是线程安全的操作。它涉及到多个指令,如读取变量值,增加,然后存 储回内存,这个过程可能会出现多个线程交差。 ...
分类:
编程语言 时间:
2020-07-05 13:23:44
阅读次数:
58
##多种实现方式 饿汉式 懒汉式 (DCL必会) 枚举 (自己用推荐) 在多种实现方式下,需要注意多线程环境下线程安全问题。 ###首先,考虑如何确保单例? 1、如果在外部所有人都可以访问单例类的构造器,那就可以直接创建对象,所以构造器私有化。 2、构造器私有化了以后,只有自己可以创建对象,因此需要 ...
分类:
其他好文 时间:
2020-07-04 17:02:22
阅读次数:
72
Java容器 容器主要包括Collection和Map两种,Collection存储着对象的集合,而Map存储着键值对(两个对象)的映射表。 Java中常用的线程安全的集合类有Vector、Hashtable、ConcurrentHashMap、Stack Set --TreeSet(有序):基于红 ...
分类:
编程语言 时间:
2020-07-02 22:13:53
阅读次数:
93