- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 Java并发(7)--并发容器 J.U.C:Java.util.concurrency
一 :ArrayList、HashSet、HashMap等的并发容器以下部分内容引自慕课网实战·高并发探索(九):并发容器 J.U.C - 线程安全的集合与MapArrayList –> CopyOnWriteArrayList...
2019-01-21 10:13:14 221
原创 Java并发(6)--线程安全策略:不可变对象、ThreadLocal、常见的线程安全与线程不安全类、同步容器
为避免在并发环境下的线程不安全问题,可以将对象确保为不可变对象,或者也可以采用线程封闭技术。文章目录一. 不可变对象-线程安全二. 线程封闭实现线程安全1. 堆栈封闭:局部变量,无并发问题2. ThreadLocal三. 常见线程不安全类1. StringBuilder 与 StringBuffer2. ArrayList,HashSet,HashMap 等Collection类一. 不可变...
2019-01-18 21:34:41 649
原创 Java并发(5)--线程安全发布对象:懒汉模式、饿汉模式
前言:方法逃逸与线程逃逸逃逸分析的基本行为就是分析对象动态作用域:当一个对象在方法中被定义后,它可能被外部方法所引用,例如作为调用参数传递到其他方法中去,称为方法逃逸。甚至可能被外部线程访问到,比如赋值给类变量或可以在其他线程中访问到的实例变量,称为线程逃逸。如果能证明一个对象不会逃移到方法外或者线程之外,也就是别的方法或线程无法通过任何途径访问到这个对象,则可能为这个变量进行一些高效的...
2019-01-17 22:07:10 599
原创 Java并发(3)--项目准备:环境初始化、案例准备、并发模拟工具、并发模拟代码
一 环境初始化现在码云上建立新仓库 Concurrency ,我的Concurrency通过 https://start.spring.io/ 新建 spring boot 项目 concurrency在本地Git仓库把 码云项目拉下来 git clone https://gitee.com/libinliu/Concurrency.git将 步骤2中的项目信息复制到 本地仓库中1...
2019-01-08 21:06:38 380
原创 Java并发(2)--并发基本:线程安全、锁优化
文章目录一、线程安全1. Java中的线程安全2. 线程安全的实现方法1 互斥同步2 synchronized 关键字3 非阻塞同步一、线程安全线程安全概念线程安全”定义:“当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的”。线程安全的...
2019-01-07 21:28:54 221
原创 Java并发(1)--并发基本:CPU缓存、Java内存模型、Java线程
2. 并发基本并发:多个线程操作相同的资源,保证线程安全,合理使用资源高并发:服务能同时处理很多请求,提高程序性能CPU多级缓存CPU多级缓存与缓存一致性CPU的频率越来远快,相对内存快了一个数量级,对于访存的操作CPU就需要等待主存,这样会导致资源的白白浪费,因此引入了缓存机制。cache 的工作原理是基于“局部性”原理,它包含以下两个方面:1. 时间局部性:如果某个数据被访...
2019-01-05 12:32:00 373
原创 利用Path类和Files 读取文件内容并存入数组
直接上代码,个人觉得比经典的File方便多了,其中,Path类和 Files类都来自于java.nio.filepublic Double[][] readFile(String file,String paths) throws IOException{ //paths 为文件路径(不包括文件) file 为文件名+后缀 //paths: Path path = Paths....
2019-01-02 16:52:51 369
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人