java线程安全
q1054261752
这个作者很懒,什么都没留下…
展开
-
浅谈SimpleDateFormat的线程安全问题
浅谈SimpleDateFormat的线程安全问题在实际项目中,我们经常需要将日期在String和Date之间做转化,此时需要使用SimpleDateFormat类。使用SimpleDateFormat类的parse方法,可以将满足格式要求的字符串转换成Date对象,使用SimpleDateFormat类的f...转载 2019-03-08 22:54:28 · 316 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别|线程安全与线程不安全
String,StringBuffer与StringBuilder的区别|线程安全与线程不安全 String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在...转载 2019-03-09 19:30:12 · 1491 阅读 · 0 评论 -
Java并发编程:线程安全性——之先检查后执行
前言“共享”意味着变量可以由多个线程同时访问,而“可变”则意味着变量的值在其生命周期内可以发生变化。一个对象是否需要是线程安全,取决于它是否被多个线程访问。这指的是在程序中访问对象的方式,而不是对象要实现的功能。要使得对象是线程安全的,需要采用同步机制来协同对象可变状态的访问。如果无法实现协同,那么可能...转载 2019-03-09 21:29:23 · 948 阅读 · 0 评论 -
Collection、ArrayList、HashMap、HashSet转为线程安全(集合的安全性问题)
最近在看bugly的是否,发现二维码扫描代码中有一段报错了,线程不安全问题. 里面有段 new HashSet() 代码,这个HashSet,底层是采用HashMap来实现的,线程不是安全的, 所以有时候会有线程不安全的问题产生. 参考自:https://blog.csdn.net/HD243608836/article/details/802144...转载 2019-03-09 21:34:51 · 534 阅读 · 0 评论 -
多线程向一个文件中写数据
最近被问到Log4j如何通过多个线程向一个文件中写入数据,当时没有一点头绪, 因为用过windows记事本的小伙伴都知道,当一个记事本文件被同时打开多次,并且每个都修改,那么只会保留第一次打开的内容,这就是互斥锁的机制吧。 具体场景:三个线程分别读取三个文件a,b,c 并向d文件中写入 现在想起来两个方案给小伙伴分享一下: 第一种(不可行)使用IO流复用,就是多个线程共用一个IO流 &...转载 2019-03-09 21:38:17 · 3222 阅读 · 0 评论 -
java--迭代(二)for,foreach和迭代器详解----容器的remove方法
java--迭代(二)for,foreach和迭代器详解 这篇文章会详解上篇关于迭代器中出现的问题,当然说是详解,其实我也只能在自己能力内对foreach,迭代器的机制进行了解。其中以arraylist为例子,包含了jdk的源代码。 首先,for是大家都很熟悉的循环语法,它的基础规则和使用为: 编程中用于循环处理的语句。Java的for语句形式有两...转载 2019-03-09 22:58:35 · 815 阅读 · 0 评论 -
AQS之独占和共享锁
AQS独占和共享锁,ReentantLock为独占锁,ReentantReadWriteLock中readLock()为共享锁,writeLock()为独占锁。 读锁与读锁可以共享 读锁与写锁不可以共享 写锁与写锁不可以共享 AQS内部维护了CLH的FIFO的队列,队列中的节点为Node类型的元素 CLH队列 图片转载自https://w...转载 2019-03-10 20:38:08 · 1479 阅读 · 0 评论