
java并发编程学习笔记
文章平均质量分 88
-无妄-
本人主要记录的是学习笔记和其他参考,持续学习中。。。
展开
-
JAVA学习笔记(并发编程-壹)- 并发体验和基础
文章目录并发编程初体验实现一个计数功能并发与高并发基本概念并发基础cpu多级缓存缓存一致性([MESI](https://baike.baidu.com/item/MESI%E5%8D%8F%E8%AE%AE/22742331?fr=aladdin))并发编程初体验实现一个计数功能package com.mmall.concurrency;import com.mmall.concurr...原创 2018-10-25 10:21:06 · 252 阅读 · 0 评论 -
JAVA学习笔记(并发编程-贰)- 并发的模拟
Postman : Http请求模拟工具前置条件是准备一个springboot的框架写一个test接口将链接加入postman快捷方式进行并发测试Postman测试比较慢。。。Apache Bench (AB) : Apache附带的工具,测试网站性能本此测试1000个并发量50Concurrency Level: 50 【并发量Time taken for tes...原创 2018-10-25 17:05:47 · 189 阅读 · 1 评论 -
JAVA学习笔记(并发编程-叁)- 线程安全性
文章目录线程安全性原子性-Atomic包AtomicXXX: CAS, Unsafe.compareAndSwapIntAtomicLong LongAdderAtomicReference、 AtomicReferenceFieldUpdater线程安全性定义:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类...原创 2018-10-25 22:31:22 · 245 阅读 · 0 评论 -
JAVA学习笔记(并发编程 - 肆)- 安全发布对象
什么是发布对象和对象逸出◆发布对象:使一个对象能够被当前范围之外的代码所使用◆对象逸出:一种错误的发布。当一个对象还没有构造完成时,就使它被其他线程所见不正确的发布可变对象导致的两种错误:发布线程意外的所有线程都可以看到被发布对象的过期的值线程看到的被发布对象的引用是最新的,然而被发布对象的状态却是过期的下面看下不安全的示例package com.mmall.concurre...原创 2018-10-26 14:38:30 · 179 阅读 · 0 评论 -
JAVA学习笔记(并发编程 - 伍)- 线程安全策略
s原创 2018-10-27 12:16:52 · 405 阅读 · 0 评论 -
JAVA学习笔记(并发编程 - 陆)- J.U.C之AQS及其相关组件详解
J.U.C之AQS-介绍Java并发包(JUC)中提供了很多并发工具,这其中有很多耳熟能详的并发工具,譬如ReentrangLock、Semaphore,而它们的实现都用到了一个共同的基类–AbstractQueuedSynchronizer(抽象队列同步器),简称AQS。AQS是JDK提供的一套用于实现基于FIFO等待队列的阻塞锁和相关的同步器的一个同步框架,它使用一个int类型的volat...转载 2018-11-03 12:21:07 · 458 阅读 · 0 评论 -
JAVA学习笔记(并发编程 - 柒)- J.U.C组件2
J.U.C-FutureTask在Java中一般通过继承Thread类或者实现Runnable接口这两种方式来创建线程,但是这两种方式都有个缺陷,就是不能在执行完成后获取执行的结果,因此Java 1.5之后提供了Callable和Future接口,通过它们就可以在任务执行完毕之后得到任务的执行结果。而FutureTask则是J.U.C中的类,但不是AQS的子类,FutureTask是一个可删除...转载 2018-11-03 14:49:35 · 201 阅读 · 0 评论 -
JAVA学习笔记(并发编程 - 捌)- 线程池
文章目录线程池线程池的好处线程池原理:线程池状态线程池常用方法:使用ThreadPoolExecutor创建线程池线程池线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。说明:使用线程池的好处是减少在创建和销毁线程上所花的时间以及系统资源的开销,解决?源不足的问题。如果不使用线程池,有可能造成系统创建大量同类线程而导致消耗完内存或“过度切换”的问题线程池对于限制应用程序中同一时刻运...转载 2018-11-06 11:16:30 · 249 阅读 · 0 评论 -
JAVA学习笔记(并发编程 - 玖)- 多线程并发拓展
文章目录死锁概念产生条件例子并发最佳实践Spring与线程安全死锁概念死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。产生条件虽然进程在运行过程中,可能发生死锁,但死锁的发生也必须具备一定的条件,死锁的发生必须具备以下四个必要条...原创 2018-11-06 16:07:43 · 171 阅读 · 0 评论