技术探索 - 慕课网实战-高并发
文章平均质量分 91
由浅入深的高并发探索经验,并且持续更新中...
特别感谢慕课网的jimin老师的课程《Java并发编程与高并发解决方案》,专栏多数内容来自jimin老师的课程。
课程地址:https://coding.imooc.com/class/195.html
「已注销」
不忘初心,方得始终。初心易得,始终难守。
展开
-
慕课网实战·高并发探索(十五):线程死锁
特别感谢:慕课网jimin老师的《Java并发编程与高并发解决方案》课程,以下知识点多数来自老师的课程内容。 jimin老师课程地址:Java并发编程与高并发解决方案 什么是死锁? 通俗的说,死锁就是两个或者多个线程吗,相互占用对方需要的资源,而都不进行释放,导致彼此之间都相互等待对方释放资源,产生了无限制等待的现象。死锁一旦发生,如果没有外力介入,这种等待将永远存在,从而对程序产生严重...原创 2018-05-08 11:58:03 · 1087 阅读 · 4 评论 -
慕课网实战·高并发探索(十四):线程池 Executor
特别感谢:慕课网jimin老师的《Java并发编程与高并发解决方案》课程,以下知识点多数来自老师的课程内容。 jimin老师课程地址:Java并发编程与高并发解决方案 new Thread的弊端 线程池的好处 线程池类图 线程池核心类-ThreadPoolExecutor 使用Executor创建线程池 new Thread的弊端 每次new Thread 新...原创 2018-05-05 14:52:18 · 1886 阅读 · 2 评论 -
慕课网实战·高并发探索(十三):并发容器J.U.C -- 组件FutureTask、ForkJoin、BlockingQueue
特别感谢:慕课网jimin老师的《Java并发编程与高并发解决方案》课程,以下知识点多数来自老师的课程内容。 jimin老师课程地址:Java并发编程与高并发解决方案 FutureTask Runnable与Callable对比 Future接口 FutureTask ForkJoin 局限性: 框架核心: 使用方式:(模拟加和运算) BlockingQueue阻...原创 2018-05-02 18:31:13 · 923 阅读 · 3 评论 -
慕课网实战·高并发探索(十二):并发容器J.U.C -- AQS组件 锁:ReentrantLock、ReentrantReadWriteLock、StempedLock
特别感谢:慕课网jimin老师的《Java并发编程与高并发解决方案》课程,以下知识点多数来自老师的课程内容。 jimin老师课程地址:Java并发编程与高并发解决方案 ReentrantLock ReentrantLock与synchronized的区别 ReentrantLock独有的功能 要放弃synchronized? 如何使用ReentrantLock? 内置函数(部分)...原创 2018-04-28 13:21:52 · 1047 阅读 · 4 评论 -
慕课网实战·高并发探索(十一):并发容器J.U.C -- AQS组件CountDownLatch、Semaphore、CyclicBarrier
特别感谢:慕课网jimin老师的《Java并发编程与高并发解决方案》课程,以下知识点多数来自老师的课程内容。 jimin老师课程地址:Java并发编程与高并发解决方案 AQS简介 AQS设计思想 AQS的大致实现思路 AQS组件:CountDownLatch AQS组件:Semaphore AQS组件:CyclicBarrier AQS简介 AQS全名:Abstr...原创 2018-04-23 23:55:27 · 1906 阅读 · 2 评论 -
慕课网实战·高并发探索(十):HashMap与ConcurrentHashMap
特别感谢:慕课网jimin老师的《Java并发编程与高并发解决方案》课程,以下知识点多数来自老师的课程内容。 jimin老师课程地址:Java并发编程与高并发解决方案 概述 HashMap (1)初始化方法 (2)寻址方式 (3)HashMap的线程不安全原因一:死循环 (4)HashMap的线程不安全原因二:fail-fast ConcurrentHashMap (1...原创 2018-04-18 11:20:14 · 2247 阅读 · 0 评论 -
慕课网实战·高并发探索(九):并发容器 J.U.C - 线程安全的集合与Map
特别感谢:慕课网jimin老师的《Java并发编程与高并发解决方案》课程,以下知识点多数来自老师的课程内容。 jimin老师课程地址:Java并发编程与高并发解决方案 概述 ArrayList –> CopyOnWriteArrayList HashSet –> CopyOnWriteArraySet TreeSet –> ConcurrentSkipList...原创 2018-04-15 18:21:22 · 1096 阅读 · 0 评论 -
慕课网实战·高并发探索(八):线程不安全类、同步容器
特别感谢:慕课网jimin老师的《Java并发编程与高并发解决方案》课程,以下知识点多数来自老师的课程内容。 jimin老师课程地址:Java并发编程与高并发解决方案 1、线程不安全的类 (1)StringBuilder 与 StringBuffer (2)SimpleDateFormat 与 jodatime插件 (3)ArrayList,HashSet,HashMap 等...原创 2018-04-13 15:32:51 · 814 阅读 · 1 评论 -
慕课网实战·高并发探索(七):线程封闭 - ThreadLocal
特别感谢:慕课网jimin老师的《Java并发编程与高并发解决方案》课程,以下知识点多数来自老师的课程内容。 jimin老师课程地址:Java并发编程与高并发解决方案 1、什么是线程封闭? 它其实就是把对象封装到一个线程里,只有一个线程能看到这个对象,那么这个对象就算不是线程安全的,也不会出现任何线程安全方面的问题。 线程封闭技术有一个常见的应用: 数据库连接对应jdbc的Co...原创 2018-04-11 20:50:16 · 1934 阅读 · 1 评论 -
慕课网实战·高并发探索(六):不可变对象 -final -ImmutableX -unmodifiableX
特别感谢:慕课网jimin老师的《Java并发编程与高并发解决方案》课程,以下知识点多数来自老师的课程内容。 jimin老师课程地址:Java并发编程与高并发解决方案 概念 1、不可变对象 有一种对象只要它发布了就是安全的,它就是不可变对象。一个不可变对象需要满足的条件: 对象创建一个其状态不能修改 对象所有域都是final类型 对象是正确创建的(在对象创建期间,this引用没...原创 2018-04-11 17:53:36 · 708 阅读 · 0 评论 -
慕课网实战·高并发探索(五):安全发布对象与多种单例模式
概念 发布对象 对象逸出 代码演示 不安全发布对象 对象逸出 安全发布对象示例(多种单例模式演示) 1、懒汉式(最简式) 2、懒汉式(synchronized) 3、双重同步锁模式【先入坑再出坑】 4、饿汉式(最简式) 5、饿汉式(静态块初始化) 6、枚举式 概念 发布对象 使一个对象能够被当前范围之外的代码所使用。 ...原创 2018-04-09 19:13:57 · 802 阅读 · 0 评论 -
慕课网实战·高并发探索(四):线程安全性-可见性-有序性
可见性 什么是可见性? 一个线程对主内存的修改可以及时的被其他线程观察到 导致共享变量在线程间不可见的原因 线程交叉执行 重排序结合线程交叉执行 共享变量更新后的值没有在工作内存与主存间及时更新 JVM处理可见性 JVM对于可见性,提供了synchronized和volatile JMM关于synchronized的两条规定: 线程解锁前,必须把共享变量的...原创 2018-04-08 10:04:09 · 1020 阅读 · 0 评论 -
慕课网实战·高并发探索(三):线程安全性-原子性-CAS(CAS的ABA问题)
特别感谢:慕课网jimin老师的《Java并发编程与高并发解决方案》课程,以下知识点多数来自老师的课程内容。 jimin老师课程地址:Java并发编程与高并发解决方案 线程安全性 线程安全性 线程安全? 线程安全性? 原子性 Atomic包中的类与CAS: AtomicInteger AtomicLong 与 LongAdder AtomicBoolean AtomicIntege...原创 2018-04-07 19:33:52 · 1747 阅读 · 0 评论 -
慕课网实战·高并发探索(二):高并发相关基础知识 - MESI - JMM
特别感谢:慕课网jimin老师的《Java并发编程与高并发解决方案》课程,以下知识点多数来自老师的课程内容。 jimin老师课程地址:Java并发编程与高并发解决方案 高并发相关基础知识 高并发相关基础知识 0、工具 1、基础概念 2、CPU多级缓存 3、缓存一致性(MESI Modify|Exclusive|Share|Invalid) 4、乱序执行优化 5、JAVA 内存模...原创 2018-04-04 00:40:35 · 2038 阅读 · 0 评论 -
慕课网实战·高并发探索(一):详细讲解 - 网站性能测试工具Apache Bench
特别感谢:慕课网jimin老师的《Java并发编程与高并发解决方案》课程,以下知识点多数来自老师的课程内容。 jimin老师课程地址:Java并发编程与高并发解决方案 1、Apache Bench 简介 Apache Bench是Apache 服务器附带的工具,专门用来执行网站服务器的运行效能,特别是针对Apache 网站服务器。原本用来检测Apache网站能够提供的效能,特别是能看出A...原创 2018-04-03 17:18:23 · 1274 阅读 · 0 评论