线程安全 假如Java程序中有多个线程在同时运行,而这些线程可能会同时运行一部分的代码。如果说该Java程序每次运行的结果和单线程的运行结果是一样的,并且其他的变量值也都是和预期的结果是一样的,那么就可以说线程是安全的。 解析什么是线程安全:卖电影票案例 假如有一个电影院上映《葫芦娃大战奥特曼》,售 ...
分类:
编程语言 时间:
2020-01-19 09:36:45
阅读次数:
101
在 Java 多线程中如何保证线程的安全性?那我们可以使用 Synchronized 同步锁来给需要多个线程访问的代码块加锁以保证线程安全性。使用 synchronized 虽然可以解决多线程安全问题,但弊端也很明显:加锁后多个线程需要判断锁,较为消耗资源。所以就引出我们今天的主角——volatil ...
分类:
编程语言 时间:
2019-09-19 14:17:04
阅读次数:
91
1、JDK和JRE区别? 2、final关键字,抽象类可以使用final修饰吗? 3、JAVA容器 4、多线程安全在三个方面体现: 5、JAVA怎么保证线程安全? 6、有没有其他方法保证线程安全? 7、JAVA怎么避免死锁? 8、数据库为什么建立索引? 9、硬盘里一个50G大小的文件和另一个100G ...
分类:
编程语言 时间:
2019-09-07 20:53:12
阅读次数:
126
区别1.可变与不可变String—>privatefinalcharvalue[];final不可变的StringBuilder/Buffer—>charvalue[]可变的String设计成不可变原因->多个指引指向同一个内存空间,如任意指引修改,值将改变,其它引用也将改变。2.是否多线程安全String—>安全(不可变对象)StringBuilder—>不安全St
分类:
编程语言 时间:
2019-09-07 01:36:36
阅读次数:
98
1 课程讲解 1.1 应用场景 2 代码演练 1.1 容器单例 应用于在程序初始化的时候把多个单例对象放入到singletonMap中,使用的时候直接通过key获取对象。可以应用在懒汉模式中,不适用于饿汉模式(饿汉模式由于每次都要重新初始化会出现多线程安全问题) 使用hashtable会线程安全,但 ...
分类:
其他好文 时间:
2019-09-01 16:59:06
阅读次数:
93
多线程 多线程介绍 进程: 正在运行的程序。一个应用程序在内存中的执行区域 线程:进程中的一个执行单元,执行路径。负责当前进程中程序的执行 一个进程可以有一个线程,也可以有多个线程 简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程 单线程:安全性高,效率低 多线程:安全性低,效率高 ...
分类:
编程语言 时间:
2019-08-28 00:44:31
阅读次数:
103
ConcurrentHashMap数据结构 ConcurrentHashMap相比HashMap而言,是多线程安全的,其底层数据与HashMap的数据结构相同,数据结构如下: 说明:ConcurrentHashMap的数据结构(数组+链表+红黑树),桶中的结构可能是链表,也可能是红黑树,红黑树是为了 ...
分类:
其他好文 时间:
2019-08-10 10:05:46
阅读次数:
81
一、多线程安全单例模式实例一(不使用同步锁) public class Singleton { private static Singleton sin=new Singleton(); ///直接初始化一个实例对象 private Singleton(){ ///private类型的构造函数,保证 ...
分类:
编程语言 时间:
2019-07-01 00:49:24
阅读次数:
139
死磕 java集合之ConcurrentHashMap源码分析(二)——扩容
ConcurrentHashMap扩容门槛是多少?怎么计算得来?
ConcurrentHashMap装载因子是多少?
ConcurrentHashMap扩容规则是怎么样的?
ConcurrentHashMap扩容怎么保证多线程安全?
ConcurrentHashMap元素个数是怎么存储的?
ConcurrentHashMap是不是强一致性的?
分类:
编程语言 时间:
2019-04-11 01:14:15
阅读次数:
205
上章节我们在懒汉式的单例模式上解决了多线程安全的问题,但解决问题的同时,新的问题也随之而来。 上节问题: 1、在静态方法(static)上添加关键字(synchronized同步锁),就是相当于在类上加锁,锁的范围大,损耗性能。 2、加锁、解锁过程消耗资源。 那么,我们该如何解决呢? 此种方法就是懒 ...
分类:
其他好文 时间:
2019-04-10 23:43:20
阅读次数:
286