1:List的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数組,查迿快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数組,查询快,增删慢 线程安全,效率低 LinkedList: 底层数据结枃是链表,查询慢,增删快 线程不安全,效率高 (2)Arrayl ...
分类:
编程语言 时间:
2018-01-13 12:58:54
阅读次数:
177
HashMap是最常用的集合类框架之一,它实现了Map接口,所以存储的元素也是键值对映射的结构,并允许使用null值和null键,其内元素是无序的,如果要保证有序,可以使用LinkedHashMap。HashMap是线程不安全的,下篇文章会讨论。HashMap的类关系如下: java.util Cl ...
分类:
其他好文 时间:
2018-01-12 17:04:05
阅读次数:
190
StringBuffer类&StringBuilder类String长度大小不可变StringBuffer和StringBuilder长度可变StringBuffer线程安全StringBuilder线程不安全StringBuilder速度快StringBuffer类&StringBuilder类的对象能够被多次修改,并且不产生新的未使用对象(String会产生新的,并且比较耗费内
分类:
编程语言 时间:
2018-01-11 22:32:29
阅读次数:
199
线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据 线程安全问题产生的原因 1、线程任务中 ...
分类:
编程语言 时间:
2018-01-09 12:56:49
阅读次数:
179
单例模式的实现有多种方式,如下所示:1、懒汉式,线程不安全是否 Lazy 初始化:是是否多线程安全:否实现难度:易描述:这种方式是最基本的实现方式,这种实现最大的问题就是不支持多线程。因为没有加锁 synchronized,所以严格意义上它并不算单例模式。这种方式 lazy loading 很明显, ...
分类:
其他好文 时间:
2018-01-07 17:26:46
阅读次数:
124
ADO线程不安全,UniDAC 在使用MSSQL也是如此。其实这是微软COM问题,不怪Devart公司。 一般解决方法是在线程开始启用 CoInitialize(nil),线程结束调用 CoUninitialize 。如果你使用多种数据库连接,比如三层中经常切换到MSSQL和Oracle,我们只需在 ...
分类:
数据库 时间:
2018-01-05 22:57:50
阅读次数:
189
Java设计模式之单例模式(七种写法) 第一种,懒汉式,lazy初始化,线程不安全,多线程中无法工作: 第二种,懒汉式,lazy初始化,线程安全: 优点:第一次调用才初始化,避免内存浪费。 缺点:必须加锁 synchronized 才能保证单例,但加锁会影响效率。 优点:没有加锁,执行效率会提高。 ...
分类:
编程语言 时间:
2018-01-02 23:35:55
阅读次数:
183
使用两个线程分别调用上面的getNext方法1000次,出现了一次线程不安全的情况,在转出的结果中有两个1311: 图片.png 图片.png 原因分析,与书上说的一致: 图片.png 图片.png 完整的代码 程序启动后5秒输出invoke.... ...
分类:
编程语言 时间:
2018-01-02 23:30:57
阅读次数:
220
线程不安全代码测试 private static class UnsafeSequence { private int value; public int getNext() { return value++; } } 使用两个线程分别调用上面的getNext方法1000次,出现了一次线程不安全的情 ...
分类:
编程语言 时间:
2018-01-02 21:19:53
阅读次数:
178
什么是线程安全的类和函数,可以被多个线程调用而不会出现数据的错乱的类和函数被叫做线程安全的类和函数,首先导致线程不安全的根本原因是我们函数中或着类中的共享成员变量(如类静态成员变量,全局变量),当我们的函数中或者类中有这些变量时他们都是非线程安全的,当有多个线程调用这些函数或者对象时,就会由于没有对 ...
分类:
编程语言 时间:
2017-12-23 21:45:46
阅读次数:
190