HashMap:先说HashMap,HashMap是线程不安全的,在并发环境下,可能会形成环状链表(扩容时可能造成,具体原因自行百度google或查看源码分析),导致get操作时,cpu空转,所以,在并发环境中使用HashMap是非常危险的. HashTable:HashTable和HashMap的 ...
分类:
编程语言 时间:
2018-10-20 16:14:43
阅读次数:
160
一、Propertie 主要用于读写资源配置文件。 Properties继承自Hashtable。 我们来看下HashMap和Hashtable的区别: Hashtabl 线程安全, 同步, 效率较低。 HashMap 线程不安全,不同步,效率高。 Hashtable key和value都不能为空 ...
分类:
其他好文 时间:
2018-10-19 02:24:11
阅读次数:
211
ThreadLocal翻译成中文比较准确的叫法应该是:线程局部变量。 这个玩意有什么用处,或者说为什么要有这么一个东东?先解释一下,在并发编程的时候,成员变量如果不做任何处理其实是线程不安全的,各个线程都在操作同一个变量,显然是不行的,并且我们也知道volatile这个关键字也是不能保证线程安全的。 ...
分类:
其他好文 时间:
2018-10-19 00:17:25
阅读次数:
130
java里LinkedList底层是双向链表 Vector:底层是数组,线程安全,但被ArrayList淘汰 ArrayList:底层是数组,线程不安全 LinkedList:底层是双向链表 ...
分类:
其他好文 时间:
2018-10-18 22:01:06
阅读次数:
114
1.HashMap和Hashtable的区别? HashMap:key、value都可以为空,线程不安全、初始容量16,扩容方式每次为2倍 Hashtable:不支持null key 和null value,线程安全、初始容量11,扩容方式为2n+1 2.ArrayList和LinkedList的异 ...
分类:
编程语言 时间:
2018-10-17 14:35:41
阅读次数:
139
1, 相对于 String 来说, StringBuilder 和 StringBuffer 均是可变的 2, StringBuilder 线程不安全, StringBuffer 线程安全 3, 运行速度 StringBuilder > StringBuffer > String 4, 常用方法 S ...
分类:
编程语言 时间:
2018-10-13 17:21:18
阅读次数:
163
1. 什么是线程?2. 什么是线程安全和线程不安全?3. 什么是自旋锁?4. 什么是Java内存模型?5. 什么是CAS?6. 什么是乐观锁和悲观锁?7. 什么是AQS?8. 什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?9. 什么是Exe ...
分类:
编程语言 时间:
2018-10-13 10:24:18
阅读次数:
152
本次全部学习内容:MyBatisLearning SqlSession SqlSession是一个面向用户(程序员)的接口。 SqlSession中提供了很多操作数据库的方法:如:selectOne(返回单个对象)、selectList(返回单个或多个对象)、。 SqlSession是线程不安全的, ...
分类:
其他好文 时间:
2018-10-07 15:39:42
阅读次数:
195
当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望之外的值,比如变量i = 1;A线程更新i + 1,B线程也更新i + 1,经过两个线程操作之后可能i不等于3,而是等于2,。因为A和B线程在更新变量i的时候拿到的i都是1,这就是线程不安全的更新操作,通常我们会使用synchronize ...
分类:
编程语言 时间:
2018-10-03 00:43:06
阅读次数:
221
单例模式 什么是单例模式? 单例保证一个对象JVM中只能有一个实例,常见单例 懒汉式、饿汉式 什么是懒汉式,就是需要的才会去实例化,线程不安全。 什么是饿汉式,就是当class文件被加载的时候,初始化,天生线程安全。 单例写法 class SingletonTest { public static ...
分类:
其他好文 时间:
2018-09-30 14:45:04
阅读次数:
116