1、三个类之间的关系 他们都是通过字符数组来实现的,继承关系 String:字符串常量,不可变类 StringBuffer:字符串变量,可变类,线程安全 StringBuilder:字符串变量,可变类,线程不安全 2、执行速度 String < StringBuffer < StringBuildr ...
分类:
其他好文 时间:
2018-09-03 17:14:31
阅读次数:
156
我们来用最经典的卖票的案例,表明两种实现方式的区别,同时分析线程不安全产生的原因 一、继承Thread类 二、实现Runnable接口 启动线程 可以看到,二者的主要区别是: 1.实现Runnable接口的方式可以避免由于JAVA单继承带来局限性 2.实现Runnable接口的方式,适用多个相同程序 ...
分类:
编程语言 时间:
2018-08-31 15:50:15
阅读次数:
187
package zhengze; /*如果需要对字符串进行频繁拼接的话,使用StringBuffer或者StringBuilder StringBuffer:【字符串缓冲器】是线程安全的,效率低 StringBuilder:【字符串操作类】是线程不安全的,效率高 */public class Str ...
分类:
其他好文 时间:
2018-08-26 18:28:44
阅读次数:
193
0.出现时间? HashMap是jdk1.2 Hashtable是jdk1.1 HashMap出现得晚 1.线程安全? HashMap线程不安全 Collections.synchronizedMap(map); Hashtable线程安全 synchronized 2.null key? Hash ...
分类:
其他好文 时间:
2018-08-26 11:54:43
阅读次数:
150
回顾: List集合:ArrayList集合 : 数组实现 查询和修改速度快 增加和删除速度慢LinkedList集合 : 链表 --> 栈 队列(单向和双向) 增加和删除速度快 ,查询和修改速度慢 Vector集合: 不在使用了 线程安全的 但是效率低 数组ArrayList集合 线程不安全 但是 ...
分类:
其他好文 时间:
2018-08-21 19:43:49
阅读次数:
185
一、HashMap简介 HashMap即是散列表,它存储的是键值对(key-value)映射。 HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。 HashMap的实现是不同步的,这意味着他线程不安全。(HashTable的 ...
分类:
编程语言 时间:
2018-08-20 15:40:36
阅读次数:
198
Num1:单例模式 基本概念:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 常见写法: 懒汉式 调用: 优点:延迟加载(需要的时候才去加载),适合单线程操作缺点: 线程不安全,在多线程中很容易出现不同步的情况,如在数据库对象进行的频繁读写操作时。 双重线程检查模式 调用: 优点:延迟加载, ...
分类:
编程语言 时间:
2018-08-20 13:45:15
阅读次数:
209
线程不安全性 先来举例说明线程不安全是什么情况下发生的:例如一个变量可以被多个线程进行访问,那么在大量线程并发访问这个变量的情况下,线程执行的顺序会给最后的结果带来不可预估的错误。 先定义一个单例类SimpleWorkingHardSingleton: 可以看到下面这个单例若在多线程环境下运行,co ...
分类:
编程语言 时间:
2018-08-20 13:13:24
阅读次数:
121
问题:线程不安全, 调用测试代码: mian.cs 错误原因: init方法中只判断了!increments.ContainsKey(BusinessIdKey)是否包含这个键,其它线程绕过,去执行getnext方法了 解决办法: 每个都需要判断,加锁,防止其它线程跳过init,去执行getnext ...
分类:
编程语言 时间:
2018-08-17 17:46:20
阅读次数:
145
单例模式的几种实现方式 单例模式的实现有多种方式,如下所示: 1、懒汉式,线程不安全 是否 Lazy 初始化:是 是否多线程安全:否 实现难度:易 描述:这种方式是最基本的实现方式,这种实现最大的问题就是不支持多线程。因为没有加锁 synchronized,所以严格意义上它并不算单例模式。这种方式 ...
分类:
其他好文 时间:
2018-08-14 00:54:16
阅读次数:
153